When an architect throws me a Rhino model—
When an architect throws me a Rhino model—
Official Account: Non-Deconstructive · Author: Zhou Wenqi (Venchy)
For general conventional projects, elevation sections and appropriate communication with the architect are sufficient as background information for the establishment of structural models.But when I received the funding proposal for a building plan like Figure 1, the editor was confused. Is this obviously a topographic map? I felt deeply helpless~~~ At least let’s get a three-dimensional model~~~ So, the architect gave me a Rhino model like Figure 2, but I still felt powerless. It was really just a small hill. How can I get such an enchanting shape with conventional ideas?!It seems like you need to take an unconventional route and acquire unconventional skills~~~
STEP1 Rhino→CAD

Figure 1

Figure 2 It’s so hard to think about it, so just stop thinking about it and go online to relax. Maybe inspiration will come while you’re on it.。。Inspiration comes.。。I accidentally saw the pictures below while surfing the Internet, and the inspiration really came to me.





Or make a single-layer mesh shell?Then the Rhino model given to me by Architectural Design is not enough. I have to give it a linear grid model anyway. The Rhino model given by Architectural Design is all curved surfaces. My single-layer grid shells are all rods. Modeling requires line units. Where are the lines I want?Where’s the line?How to get the lines required for single-layer mesh shell modeling from Rhino?Once the line is drawn, how do you calculate it?!!
It is difficult to figure out, and you have to learn it even if you don’t know Rhino. It takes n many lines to draw on such a large plane. It is also very difficult for Rhino to draw so many lines. Is there any way to draw so many lines instantly?This time it was Du Niang who gave me the inspiration~ I think I can use Grasshopper~~~ Grasshopper (GH for short) is a plug-in that uses procedural algorithms to generate models running in the Rhino environment. It is currently the introductory software for parametric design in design professionals.The biggest feature of GH is that it can issue more advanced and complex logic modeling instructions to the computer, so that the computer can automatically generate model results based on the proposed algorithm.By writing modeling logic algorithms, mechanical repetitive operations can be replaced by computer loop operations; at the same time, designers can embed richer generative logic into the design model.Compared with the traditional working mode, both the modeling speed and level have been greatly improved. Just use it. Grasshopper can be regarded as a concept of parametric modeling. Although it is visual, it can also be regarded as programming~ I discussed it with architecture and it seems that I have some ideas. The first step is to divide the mesh on the plane The second step is to project the grid on the plane to the space surface The third step is to modify the curve projected onto the surface into a straight line The fourth step is to select the obtained spatial grid and export it into a CAD file. From this, I created a Grasshopper definition (Figure 3). Although simple, the wireframe model was successfully generated (Figure 4, Figure 5)~~~

Figure 3

Figure 4

Figure 5
STEP2 CAD→SAP2000 The Rhino surface is converted into a CAD surface.。。So what software should be used for simulation?!Sap2000?Midas gen?When considering several problems encountered during the analysis process, I resolutely chose Sap2000. The reason is very simple. SAP2000 can carry out secondary API development. One advantage of Sap2000 is that it is developed based on object-oriented technology and has an open interface.Users can not only construct and analyze using the graphical operating interface provided by the software, but can also connect its interface through programming for modeling and analysis.The advantage of the former is that it is very intuitive and suitable for small structures, while the latter is very effective for large structures and can reduce a lot of workload. The API interface of Sap2000 supports multiple languages, including VBA, VB, VC#, VC++, Fortran, and Matlab.The most useful one is VBA, because VBA can be directly connected to Microsoft Word and Excel through macros, and Excel provides many simple functions that can be operated directly in cells. Combining cells, functions, VBA, and SAP2000 can meet many user needs.In contrast, under the Visual Studio development method, displaying data and calculations are not as convenient and intuitive as Excel. If you want to display the graphical interface, you need to operate many controls, which increases the workload.The use of Matlab is not as popular as Excel, and the data display is also not as intuitive as Excel. The first problem is the live load loading of the lattice shell surface unit. The load specification stipulates that the live load of non-inhabited roofs is 0.5kN/m2 (projected load). If the surface unit normal vector is perpendicular to the horizontal plane, there is no need to deal with it. However, the surface unit normal vectors on this surface are not all perpendicular to the horizontal plane, so the applied live load needs to be converted according to the ratio of the surface unit projected area to the surface unit actual area. There are thousands of area units, do we need to process each area unit?!The workload is still extremely huge, and it’s time to use the Sap2000 API as a killer. In fact, the calculation process of this program is not complicated (Figure 6): The first step is to calculate the area A1 of the surface unit. Read the nodes of each surface unit → calculate the side length of each surface unit based on the nodes of each surface unit → calculate the area of the surface unit based on the side length of the triangle The second step is to calculate the projected area A2 of the surface unit. Read the nodes of each surface unit → Unify the z-axis coordinates of the nodes → Calculate the side length of each surface unit based on the same z-coordinate node → Calculate the projected area of the surface unit based on the side length of the triangle

Figure 6 The third step is to calculate the area ratio, convert the live load, and assign it to each surface unit using the API function. With only very simple API operations and simple calculations, the process of applying live load is complete.The effect can be seen in Figure 7. The assigned live load value changes with the change of the roof curvature.

Figure 7 The second problem is the problem of the local coordinate axes of the reticulated shell line element. This surface is very free and unrestrained and does not follow the traditional single-layer lattice shell routine at all.Naturally, the components inside the reticulated shell cannot work according to the pressure components in the routine.Most of them are still bending members. Circular cross-sections do not seem to be so effective at this time, so rectangular cross-sections can only be used~ Then here comes the problem. It seems that the local coordinate axes of the line elements imported from CAD into Sap2000 do not meet our calculation requirements.In Sap2000, units such as points, lines, and surfaces have local coordinate systems, and three colors (red, green, and blue) are used to represent their local coordinates.Among them, red is the 1st axis, green is the 2nd axis, and blue is the 3rd axis.When importing the linear dxf file into Sap2000, the default 3-axis of the beam element is parallel to the horizontal plane.Just look at Figure 8 and you’ll understand!

Figure 8 Look at Figure 9. The two axes of the rod change with the normal vector of the building skin surface. Otherwise, it would be ugly, and the connection nodes of the surface elements on both sides of the rod element would not be easy to make!Therefore, the local coordinate axis of the lattice shell member still needs to equally divide the angle between the two adjacent surfaces~

Figure 9 Having said that, how to calculate the angle of rotation of each rod by hand?It’s a bit like a fantasy. It’s still thousands of rods or thousands of noodles. How to calculate it?Same recipe, same taste, Api bar.It’s just that this time I have to take out my advanced mathematics book and review it again.。。As the saying goes, if you are young and don’t work hard, you will be good at mathematics when you are old.What vectors and right-hand rule have been learned? Let’s learn them all again.。。

Figure 10 It’s useless even if you finish advanced mathematics, you still have to write programs and stuff.In order to write a public account, I compiled a flow chart, as shown in Figure 11.Let’s take a look at the results (Figure 12, Figure 13).

Figure 11

Figure 12

Figure 13 After completing the above two tasks, you can basically say goodbye to heavy physical labor. Think about how you can use Sap2000 for analysis happily.。。However, he is still too young.Use Sap2000 for post-buckling analysis?!Hahaha!!!How do you use sap2000 to consider material + geometric nonlinearity at the same time?!Plastic hinge defines material nonlinearity?I tried running one, but the software stopped halfway through. I can only play with high-level players.
STEP3 SAP2000→ABAQUS There are still many ABAQUS interfaces on the market, but unfortunately they are either charged or the effect does not meet the calculation requirements. I have tried many but they are not satisfactory (actually I am poor and cannot afford them).Just write one yourself in python.I hold a few official ABAQUS manuals and write them down, which can be considered a good harvest. The process can be summarized in one sentence, which is to convert the s2k file of Sap2000 into the inp file of ABAQUS.However, there are a few special points that I would like to share with you.
- The local coordinate axis of the beam element cannot be defined in the cae interface and needs to be completed with the help of the inp file when submitting the inp file.
- Definition of quality.Some information says that the additional mass unit must be used to define additional mass in ABAQUS.。。Please, there is no other way.。。I personally summarized three ways to define quality: ①mass defines additional mass through points ABAQUS analysis user’s manual 30.1.1 ②density defines quality through density ABAQUS analysis user‘s manual 21.2.1 ③Nonstructural mass defines mass through components and is divided into line elements, surface elements and solid elements with different definitions ABAQUS analysis user’s manual 2.7.1 3) To release constraints and define hinges, you need to use the *release keyword, which cannot be defined directly through the cae interface and needs to be operated in the inp file. The verification of the interface still needs to pass the periodic vibration shape.Figures 14 and 15 are the results of modal analysis of ABAQUS and sap2000 respectively, and the errors are not bad.Figures 16 to 22 show the first three modes of sap2000 and ABAQUS.The results are still consistent. I have learned Python for so many years.。。

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21 You haven’t had enough of it yet, right? Party A’s father has started to whip up the drawing again, so he can only continue to draw pictures, so let’s stop here first.
Summarize Since I have no experience in similar projects, this project was quite complicated. I thought of various methods and started from scratch.Do you have some experience like this~ 1) Don’t just be addicted to YJK and PKPM and be unable to extricate yourself.Rhino, for example, is not just a patent for the architectural profession. 2) The problems encountered in this article apply Rhino parametric modeling, Sap2000 API technology and python programming technology. These methods can save a lot of workload when encountering simple repetitive tasks with extremely large workloads. I hope this article has inspired you. If there are any shortcomings, please criticize and correct me.
This document is automatically collected and organized by AI from non-deconstructed public accounts and is for learning reference only.
LOADING…