Importing STL files

STL (STereo Lithography) files are widely used in prototyping, 3D printing and computer-aided manufacturing. The STL format is also sometimes known as "Standard Triangle Language" or "Standard Tessellation Language". STL files contain triangulated 3D objects and are supported by programs such as Microsoft 3D Builder, Trimble Sketchup and others, many of which are available free of charge. You can use one of these programs to generate quite complex objects quickly and easily and then import them into SPACE GASS as fully meshed plate models.


For example, the model on the left below is a ribbed tank that was generated in Sketchup and the model on the right is the tank after being imported into SPACE GASS.





The following model is a holed beam created in Sketchup and imported into SPACE GASS as an STL file.





You can import an STL file by selecting "Import - from STL" from the File menu and then selecting the STL file to be imported.


In the form that appears next, the main items you need to set carefully are the "STL vertical axis", "STL length unit", "Element size limits" and "Plate thickness". They are explained in more detail below.



STL vertical axis

This is the vertical axis used in the STL file. If it is different to the vertical axis in SPACE GASS then the data will be converted to the SPACE GASS system during the import.


STL length unit

This is the units of the data used in the STL file. If it is different to the length unit set in SPACE GASS then the data will be converted to the SPACE GASS system during the import. If you are not sure what units have been used in the STL file then you should look at the "Bounds" part of the form to work it out based on the size of the model.


Element size limits

The STL file contains information about the geometry of the model being imported, but the model needs to be meshed during the import and so the minimum and maximum element sizes that you specify are used to control the size of the plate elements that you will get in SPACE GASS. Use small values for a very refined mesh with lots of elements or use larger values for a coarser mesh. Depending on the complexity of the model being imported there will be a range of element sizes required for an accurate mesh and so you must leave a big enough range between the minimum and maximum limits to achieve sufficient accuracy. For example, if you are modelling a square plate with some circular holes in it (especially if the holes are close to the edges) then the elements around the holes will need to be quite small, whereas the elements in other parts of the plate could be much larger, and so you must leave a large enough difference between the minimum and maximum limits to accommodate a suitable range of element sizes.


Only quadrilateral elements

If this option is unticked then the importer will use a mixture of quadrilateral and triangular elements, with a preference for quadrilaterals. If ticked then only quadrilaterals will be used.


Attempt to correct invalid elements

Depending on the shape of the model, it may sometimes be difficult to generate well conditioned elements everywhere. If this option is ticked then the importer will attempt to subdivide any elements that have extreme aspect ratios or large internal angles.


Allow invalid elements

Any invalid plates that can't be corrected by subdivision will trigger an error message and prevent the import from proceeding. If this happens you should try changing the element size limits and then import the STL file again. If that doesn't correct all the invalid elements then as a last resort you could tick the "Allow invalid elements" option to simply let the invalid elements through. You should then use the Find tool in SPACE GASS to search for the invalid plates and then manually correct them yourself. If you don't do this then they will be detected automatically when you run an analysis.


Merge STL mesh nodes

Try unticking this option if some of your final meshed surfaces are misaligned.


Merge with existing nodes

If you tick this option and any nodes being imported fall within 1mm of an existing node then they will be merged.


Add perimeter members

Members will be added along the perimeter of each surface if this option is ticked. This can be useful if you are generating a slab with edge beams. Unwanted members can be deleted in SPACE GASS if they are not required around every surface.


Plate thickness

Plate elements being imported from an STL file have no thickness and so you must specify it here. Once the import is completed, all the plate elements that were imported will have the same thickness equal to what you specified. If you want to change the thickness of some of them then you should select them graphically, right-click, select "View/Edit Plate Properties (Form)" from the popup menu that appears and then change the thickness in the plate properties panel.


When creating an STL file using 3D Builder, Sketchup or some other 3D modelling program, make sure that you don't specify a thickness for any of the surfaces in the model otherwise they will be imported into SPACE GASS as hollow objects. For example, if you create a circular concrete slab in Sketchup with a thickness of 150mm and then import it as an STL file into SPACE GASS, you will finish up with a hollow cylinder that has a height of 150mm. Furthermore, it may not be immediately obvious that the model is hollow. The thickness must be specified in the STL import form rather than when creating the STL file.


Positioning and numbering

You can use these fields to position the model anywhere in 3D space and to control the node, member and plate numbering. Specifying start node/member/plate numbers of 0 means that they will use the next available number.



This panel displays the size of the model in the STL file. If you are not sure which units are used in the file then this panel can be used as a clue.


Plate and member properties

The properties of the plates and members can be specified using the settings in this panel. Of course you can leave these at their defaults and then set the properties using the normal editing tools in SPACE GASS once the model has been imported.



After importing an STL file, SPACE GASS automatically aligns the axes of the imported plates to what it thinks is a satisfactory system, however you should check the final alignment of the axes to make sure that it suits your requirements. Keep in mind that many of the plate analysis results and their associated contour diagrams are in the local axes of the plate and so if the axes are aligned incorrectly then this will affect the results and the contour diagrams. If you want to realign the axes in any of the plates then you should use the "Align plate axes" tool.