It is better to have an instance reply content: Thank you for inviting @ hat600. Python has been quite popular recently. It seems that you don't need to learn C ++ for getting started with Python, but it is really convenient. In fact, I feel that the use of other Rhino + Grasshopper + GH plug-ins can basically cover most aspects of Parametric Design/digital construction, and there are very few things that can be used in Python. Due to the limitations of the author's vision, it is better to talk about Rhino + Python only.
Rhino + GH features ease of use, ease of understanding, intuitive interface, and a large number of wheels (plug-ins) available. The disadvantage is that it is only applicable to process programming. Python has no programming foundation, but it is still difficult to get started. It has the advantage of high flexibility and can be object-oriented programming.
For Python syntax, for example, Codecademy: Learn to code
Learning, an interactive online platform.
For RhinoPython, McNeel has provided a lot of information:
Python scripting for Rhino and Grasshopper [McNeel Wiki]
The mentioned Designalyze
The video has the source code, but it is a pity that you need to go over the wall.
This RhinoPythonPrimer
There are also many examples.
There are some Chinese materials in Shaper3D. Stamp: Rhino script and development-Rhino (Rhino) Chinese technical support and promotion center
In fact, I usually use GhPython | Grasshopper
So that Python code can be integrated into Grasshopper. In this way, the code is more interactive, and it can easily call the Grasshopper algorithm.
The above content involves programming. Understanding RhinoPython requires not only understanding the Python syntax, but also a deep understanding of the geometric principles of gpais and Mesh. If you are proficient in RhinoPython, Rhino will certainly be very skilled.
Let's talk about architecture from CAD/CAM. programming can assist in design, such as creating a shape, such as goal optimization. It can assist in analysis, such as analyzing light and line-of-sight ventilation. It can assist in construction, design nodes, and design and process knives.
When it comes to modeling, algorithmic design
This website is quite interesting. Many cases are Python code. Optimization (or mathematical Planning) is also worth a book. Many search algorithms in computer science are used for such problems. In GH, Galapagos is a brute force optimizer. Kangaroo can solve specific geometric problems. Besides, sometimes Coding is required. But in many ways, there are actually plug-ins, and there is no need to build your own wheels with Python. For example, you can write a compiler to translate geometric information into GCODE, but GH plug-ins such as RhinoCAM, Silkworm, KUKA | prc can be directly implemented. Of course, sometimes these plug-ins can't do things, and they have to Coding themselves.
If there are some plug-ins, it is difficult to use GH. For example, MultiAgent System, you must write your own class. Finally, I pasted the figure and used the small design I had done to use RhinoPython for modeling and simulation. It is difficult to use Grasshopper, so I chose Python for more than two hundred lines.
Update
Recently, I am working on the computation and optimization content and found that python in grasshopper is cool and cool. I checked it with google Chrome.
First, let's talk about the theory of McNeel at the root of Rhino:
(Does Rhino 5 use all 6 cores on 6 core processors?
)
Rhino is not a "multi-threaded" application. it does split off a few minor processes to other cores but nothing major. that's because modeling is a serial process. modeling has to be done 'in order '.
Therefore, the RhinoSDK basically does not provide multi-thread usage.
GH, based on Rhino, basically does not support multi-thread.
So isn't the python in GH unable to start multiple programming?
In theory, we can:
GhPython-New component and parallel modules
But it does not work. I have never seen a better example.
The reason is:
The common geometric operation relies on the current CPU computing capability to provide sufficient capacity. It can be up to 5 minutes. Therefore, the latency is not high.
Indeed, it is necessary to calculate a larger computing volume, such as optimization. GH self-contained galapagos, or a third party such as octopus or goat. These are all packaged modulo templates, which cannot be used in python as described in the above article ...... (This is why python is really a weakness)
The single-node optimization does not need to depend on the Rhino platform. You can directly operate on the Rhino platform.
Is there no way to design the optimization of geometry?
Actually, it is not. Although there are no specific solutions, the methods used by a research group are as follows:
Operate on the outside of Rhino, and then import the geometry back through obj, or in reality, click the cursor to recreate the Mesh in Rhino.
Finally, I moved to the Dynamo platform in zookeeper at the same time.
---------------
---------------
Original answer:
A bunch of thanks, you guys!
---------------
Answer questions. This should be the first question I have answered concerning industry.
(In fact, it was seen yesterday as a "application" in the development process "...... Mark. When I saw this, I asked "tutorial "...... Then, let us talk about it both. Let's talk about what we are doing in the cutting-edge regions where content is being built .)
First of all, there are a lot of tutorials on Python, such as @ Ma yidong's Codecademy.
In addition, there are also Udacity and Coursera above. Now there are a lot of MOOC operations, so you can find them. Some of the important points are the nature of the statement itself, and some are applicable. (Udacity is a type of MOOC in the industry, which is very practical .)
A person is still the first to launch his school on EdX:
Introduction to Computer Science and Programming Using Python
Other basic tutorials can be found directly from @ Ma yidong's answer.
Generally, Rhino is not enabled for users.
Next, let's talk about the relationship between Python and Rhino.
Python has many versions. Rhino started out on the win platform and used a lot of. NET content. It is also dependent on IronPython in python's selection. NET.
Therefore, the Python in Rhino is IronPython.
When installing Rhino, you can install the latest version and then renew it.
Python in Rhino is used in two ways: one is that python scripts in grasshopper can be debug and step without assistance, and the other is Python component in Grasshopper, there is only one small window for scripting, only test, not debug. (So how to use external editor coding? This is another story, which is not shown in the following table .)
There are two native components of the kernel script in Ghsshopper, C # and VB, which are directly written by David Rutten and are well integrated with GH and Rhino. Python is actually a cute doll. As a result, it cannot be seen at the beginning. Later, it was almost impossible to repair the repair worker.
Rhinoscriptsyntax and Rhino are two sets of things. One uses GUID and the other uses a real Geometry. What are the differences between these two databases? The GUID is actually a globally unique identifier, which can be understood as a geometry name. Just like your name is James, and your brother is Xiaomeng. It means you are not a single person. However, you can shout "Xiao Meng is coming back to eat", and then you will be taken home with your ears. The results of the two operations are that you have come back to eat. (Who asked the hacker to call you back and say no to you !)
It is simple to use the name, saving time and effort, but some people do not have a name and can only use mobile phones ...... Then there will be two mixed emotions. It will be very difficult, and it is very easy to get started.
In addition, if it is mixed with GH's component, the GH's self-contained data structure is also more difficult to handle. The general practice is to reconnect all flat connections. The output is also the list type. This restricts the usage of class to some extent for many beginners. I have seen that even the scripts of the ETH internal speaker are function-oriented and seldom use class.
But this is not the most troublesome issue.
In fact, GH is a linear programming platform. In fact, most modeling tasks can be solved by GH component. Even if HoopSnake and Anemone are similar questions, they can be solved to some extent, as long as they can be clarified.
Therefore, the most important issue for coding is that component cannot solve the issue and no one has developed a plug-in. This is common in research. For example, during the last optimization of the previous course, we need to implement a mathematical control of Michell Truss, so we have this thing:
(The other half is the attention of Kramaba, and the middle pink is Goat optimiser, which is not important .) (The other half is the attention of Kramaba, and the middle pink is Goat optimiser, which is not important .)
The result is a thing that can change the batch data to produce various types of Michell Truss:
This is more than just a simple usage. It takes more than half a day for the entire script to come to reality from the perspective of structure. However, the overall goal is to create a large scale and to use a large number of data technologies. As an easy-to-use program, the most important aspect is that there are many external libraries that provide various types of functions.
But the most important numeric function NumPy in python cannot be used in IronPython ...... Cannot be used ...... Cannot be used ...... (Now it can be used in Rhino on x86, so if we release x64version Rhino, try again. O (cost _ priority) O) is a problem at the beginning and is not easy to use.
C # does not support this problem. GSD's objective of introducing MDes Technology is mainly to use C #. The estimation is also related to the fact that its professor was involved in this aspect at the beginning ......
############## I am splitting #############
However, python is very promising in its development due to its powerful features and many good features. Moreover, ETH's Gramazio Kohler Research (which is the dfab of various machine arm types, now supports NCCR in the country .) And Block Research Group, there are also a lot of python. (I won't tell you that the original code for setting up the pipeline most famous is python .)
Because the number of tokens is much smaller ...... In addition, the support is improved. So we are still using it.
But ...... (Yes, "But jun" is coming again ......) Most of them are using their own pythonscript. What's more, they only need to write a few output files because of structural optimization and computation, therefore, they are not used in the entire rhino environment.
For example, this calculation uses Force Density to calculate the grid (Mathematica can also be used, but python in Rhino is really not .) :
The force density method «BLOCK blog
What is Block Research Group and dfab doing? You can view the website on your own:
BLOCK Research Group
Dfab | NCCR Digital Fabrication
Switzerland is built at the cost of the country. The US emperor is looking forward to Momo. We can't catch up with it at the moment ......
These are the most cutting-edge application in terms of infrastructure I currently know. But the tutorial is really not available. All the tutorials are mature content, and we are exploring cutting-edge research. Do you want to know what God wants ......
In other weeks, for example, the structure analysis and calculation are better than those in the Creation environment.
As for other domain applications, such as the stream of CAM, there will be a lot of stories ...... @ Ma yitongxi's fellow students are more difficult. In fact, there are some suggestions and customer stories that need to be elaborated, but it is not a problem in the general direction.
P.S.
Finally, let's say two more sentences. It has been 10 years since the establishment of the Digital ideology and system. At the beginning, they are all engaged in attention and form of attention. As a result, they have created many outstanding architectures. Now, you have entered a time generation that can bring the architecture into the design interaction process, various types of real-time structural analysis and simplified components also appeared in the spring after the rain. (This is because computation ability is improved .)
The future development must be a computer model with physical characteristics. The construction in the electricity generation will no longer be a form. Individuals may feel that the future of building pipeline will become more and more expected to understand certain structural knowledge. Not necessarily, but you must understand.
Yes, what do you know? (Pai_^) There are many foreign websites with great tutorials
Below are several recommendations
Designer-oriented basic Python tutorial by Wang dachuan
Http://www.xuexiniu.com/thread-63124-1-1.html
Clearly explain the basic commands and concepts of python
Plethora Project
Http://www.plethora-project.com/education/2011/09/12/rhino-python-tutorials/
Well-known websites
Read the "RhinoPython 101" series of video teaching with me.
Http://bbs.shaper3d.com/thread-22775-1-1.html
Give a video of the official Rhino Python file.
Ezio Blasetti
Http://code.algorithmicdesign.net/following/posts
Personal websites for professors from universities such as UPenn
Digital [sub] stance
Posts about python on Digital [Sub] stance
Designalyze
Http://designalyze.com/software/python
When I saw a lot of answers upstairs, it showed that everyone was very interested. Python is relatively young in programming languages, but it has a strong cross-platform capability. It is parasitic in Various hosts. Previously, python was injected into javascript (rhino) t, MEL (in maya), VB (in catia), and so on, not to mention other applications in the computer field, and even Internet development, use python.
Therefore, learning and mastering python is very helpful for programming, and it is indeed easier. As mentioned by the upstairs, you can use more than 200 lines to complete a small case.
Unless you want to use visual graphics programming languages such as grasshoper. If you want to learn a real computer language for building. Using python is a good choice. Especially for students with no basic knowledge of computer languages. For students with programming basics, I suggest starting with java, such as processing.
The three languages mentioned above, plus the previous javascript is four.
Now let's talk about the tutorial. I recently used rhino python. I read this: Python scripting for Rhino and Grasshopper [McNeel Wiki].
This is based on the previous javascript tutorial.
What's more, I learned http://help.autodesk.com/view/MAYAUL/2015/ENU/ in maya's python? Guid = Python_Python_in_Maya
This is also because MEL has injected python.
For example, you can see how powerful python is.
In addition, on my own ikuku homepage, I will also write some examples about how computer languages are applied in buildings. Not much, but if you want to discuss with me or something, you are very welcome. Article | Ma Haidong
Books | Ma Haidong
One of them is "reading RhinoPython101 with me". You can download videos and books online. I am learning. @ Dr. Bao ruiqing's "Learning python-be a programming designer" can also be learned. It focuses on landscape and planning, and the threshold is a little high, you cannot understand the Python language.
It is appropriate to use programming in landscape because they need to process a large amount of data, which is the best job for computers.
FreeCAD, you can find it. open-source software, you can use Python programming drawing modeling, you can also use the traditional method of drawing, in addition to architectural design patterns and other models. the software can download tutorials and instances.
However, there is no such thing in actual work. pure entertainment gives me access to the upstairs. This cat is not answered by many people. Fortunately, I have read a lot.
This was just some time ago when I went to the bookstore. I was shocked by the fact that I had to eat a whale and wrote a few books in a landscape.
Taking a closer look, I was a doctor, and I felt at ease. These books are as follows:
"Programming landscape", "Learning Python-be a programming designer", "Python programming under ArcGIS", and "folding program"
Bytes -------------------------------------------------------------------------------------------------------------------
Here is the case of the landscape major that is about to grab the job of programmers. I roughly flipped through it and there were too many codes. I don't want to see it. After all, I use the c # structure to design lions, which is not professional. Have architects all come to grab the job of our programmers?