Outils pour utilisateurs

Outils du site


issue127:freecad

Ceci est une ancienne révision du document !


In this series, we will be examining the world of FreeCAD, an open-source CAD modelling application that is still in Beta, but has been gaining acceptance in recent years. Naturally, it is readily available in the Ubuntu repositories. In the previous (seventh) article on using FreeCAD, we concentrated on the mesh as a complex primitive object that allows us to create forms and volumes, either from scanned data or by using simple programing techniques. In this part, we will use this technique in combination with other, more standard FreeCAD tools, to build a 3D representation of a modern building with a lattice roof structure.

Dans cette série, nous examinerons le monde de FreeCAD, une application Open Source de modélisation par CAO qui est encore en bêta, mais qui a reçu un bon accueil ces dernières années. Naturellement, elle est facilement disponible dans les dépôts d'Ubuntu. Dans l'article précédent (le septième) sur l'utilisation de FreeCAD, nous nous sommes concentré sur le maillage en tant qu'objet primitive complexe, qui nous permet de créer des formes et des volumes, soit à partir de données numérisées, soit par des techniques de programmation simples.

Dans cette partie, nous utiliserons ce technique en combinaison avec d'autres outils FreeCAD plus ordinaires pour construire un représentation 3D d'un immeuble moderne avec une structure de toit en treillis.

Architectural meshes Some of the inspiration for this article comes from buildings such as the Esplanade Theatres on the Bay, Singapore (DP Architects), and the Rhike Park music theatre in Tbilisi, Georgia (Studio Fuksas). In all cases, a lattice arrangement has been used for the exterior of the building. From an architectural standpoint, this technique has at least two salient points: • On the one hand, the lattice can support a large proportion of its own weight, which allows the architect to cover a large area without using internal supports such as columns. This is perfect for large open spaces such as concert halls or sports venues, or even the open concourses inside airport buildings, such as Hong Kong International Airport at Chek Lap Kok. • On the other hand, using a lattice implies that part of the structural strength comes from working with curved surfaces that share some of their properties with the arch. The final result is a building that eschews the flat, regular shapes that have become so common in urban architecture during the last century.

Les maillages architecturaux

Une partie de l'inspiration de cet article vient d'immeubles comme les Esplanade Theatres on the Bay à Singapour (DP Architects) et L'auditorium du Rhike Park à Tbilissi (Géorgie) (Studio Fuksas). Dans tous les cas, un arrangement maillé a été utilisé pour l'extérieur de l'immeuble. D'un point de vue architectural, cette technique a au moins deux points forts : • D'une part, le treillis peut supporter une proportion importante de son propre poids, ce qui permet à l'architecte de couvrir une grande surface sans utiliser de supports internes comme des colonnes. C'est parfait pour les larges espaces ouverts tels que des salles de concert ou de sport, ou même, les grands halls des bâtiments d'aéroport, tels que l'aéroport international de Hong Kong à Chek Lap Kok. • D'autre part, l'utilisation d'un treillis implique qu'une partie de la force structurelle vienne de l'emploi des surfaces courbes qui partagent certaines de leurs propriétés avec l'arche. Le résultat final est un bâtiment qui évite les formes plates et régulières qui sont devenues si communes dans l'architecture urbaine du siècle dernier.

Some simple lattices can be drawn “by hand”, as long as the overall shapes remain planar or use a single curvature. However, once the final shape contains double curvatures - along two intersecting axes at once - things do tend to get a little complicated. This is when a computer comes in as an essential tool to calculate the position of each lattice point, and from there to calculate the constraints expected within the physical structure. For instance, let us consider the height function h(x, y) = x*x - y*y. A simple surface plot shows us that, in the vicinity of coordinate origin point (0, 0, 0), this surface shows a concave curvature in the upwards direction, along axis X. However, curvature is convex along axis Y, also towards the top. This very simple function shows a double curvature that is easy to calculate, but not easy to draw with precision without the help of a computer.

Certains treillis simples peuvent être dessinés « à la main », pour tant que les formes générales restent planens ou utilisent une courbure unique. Cependant, dès que la forme finale contient deux courbures -le long de deux axes d'intersection en même temps - les choses tendent à devenir un peu plus complexes. C'est là que l'ordinateur se place comme outil essentiel pour calculer la position de chaque point du treillis et, de là, calculer les contraintes attendues dans la structure physique.

Par exemple, considérons la fonction hauteur h(x, y) = x*x - y*y. Un simple tracé de la surface nous montre que, au voisinage du point d'origine des coordonnées (0 ,0, 0), cette surface montre une courbure concave vers le haut, le long de l'axe X. Cependant, la courbure est convexe le long de l'axe Y, tournée aussi vers le haut. cette fonction très simple montre une double courbure qui est facile à calculer, mais qui n'est pas facile à dessiner avec précision sans l'aide d'un ordinateur.

Integrating a lattice into a building In the following discussion, we will create a medium-sized pavilion using a lattice defined with the above function. Naturally, the reader is not encouraged to actually build such a structure in real life - at least, not unless considerable architectural and engineering experience is available to ensure materials are correctly chosen and dimensioned, local building codes are followed, and the construction has some chance of holding up to its intended use. There are some tricky aspects to consider with this type of construction, not least of which is the fact that the lattice would be stressed in compression along axis Y, and in tension along axis X, all by its own weight. Factors such as wind pressure, and the weight of rainfall, ice, snowfall, etc, would also need to be accounted for. Let us begin by writing a short Python program to create an STL file with the mesh. The complete code can be found at: https://pastebin.com/tsi5dbLw . Working on a floor plan of 40 x 30 m in the XY plane, we will calculate a value for height along the Z axis. Minimum and maximum heights have been taken, for this example, at 10 and 20 m above ground level respectively, though this could easily be scaled and adjusted to suit a particular implementation. Finally, 20 separate mesh separations have been taken, along both the X and Y directions.

The end result of this program is an STL file that can be imported into a new FreeCAD project using the technique discussed in the previous part of this series. To better visualize proportions, a 40×30 m rectangle has been drawn at ground level, under the roof. Closing off the walls on all four sides of this building will be no easy task, since all four walls will have three straight edges, but the fourth (upper) edge needs to follow a parabolic line. There are several solutions for this problem. One would be to write further programs in Python to create mesh files to suit. However, FreeCAD does offer alternatives. In this case, I made mesh lines visible. Select the mesh object, and, in the Property box, select “Display Mode” and switch from the original “Shaded” mode to “Flat Lines”.

We can then go into the Draft workbench, and, working carefully, draw a new Wire - selecting, point by point, all the vertices along one edge of the roof. Then, close the shape by selecting the corners of the ground rectangle beneath this edge. This flat shape can then be promoted to a plane ?plain? DWire object. Then proceed in the same way for the other walls. Once the walls have been defined, the roof mesh can either be left with its mesh structure apparent, or the Display Mode can be switched back to “Surface”, as desired. One can then add columns to hold up the roof mesh. However, it then becomes apparent that the mesh has no thickness. Even if much care is taken with column heights, some discrepancy appears since column ends are horizontal disks, but the part of the mesh that is in contact with them is not flat. Intersections with the building’s four exterior walls also become apparent.

One relatively realistic solution is to give the roof mesh some thickness. SImply select the mesh, and, in the Part workbench, create a new Extrusion. Top and bottom surfaces will have the shape of the mesh, while the vertical depth of the object will be the same along its surface. A value of one meter seems appropriate for this building. Finally, the colors and transparency levels of each object can be adjusted in the Properties box. For instance, to represent glass walls - allowing light to enter the building between columns - the four walls can be left with their default color ([204, 204, 204]), but with a transparency of 40.

What next? In this article on using FreeCAD, we used a mesh in combination with other, more standard FreeCAD tools, to build a 3D representation of a modern building with a lattice roof structure. In the next part, we will explore going from a computer model to something physical, by exporting a finished project and printing it using a 3D printer.

issue127/freecad.1512200777.txt.gz · Dernière modification : 2017/12/02 08:46 de d52fr