0110. Tips for 3D printing

Getting started, ptsxpy, Python language, trueSpace, programming, syntax highlighting for text editor, etc.
Note: it's provisional and topics will be added and revised at random till some sort of documentations are prepared.
Post Reply
User avatar
3DfromNULL
Site Admin
Posts: 43
Joined: 2018-Jul-13 9:35

0110. Tips for 3D printing

Post by 3DfromNULL » 2021-Apr-26 9:41

It could be an option to use trueSpace (tS) + ptsxpy if you would like to 3D print your generative models;
  • Accessories (earrings, brooches, bracelets, or parts of them, etc.) that have recurring pattern in them, e.g. twisted waves or nets generated using parametric equations.
  • Ornaments (or parts of them) in mathematically calculated geometrical shape.
  • Miniature houses that have serially-repeated roofing tiles or walls.
  • Molecular, protein, biochemistry, virological, organic, or crystallographical 3D models.
Image

Each of twisted objects above was generated repeating PointsSweep() and PointsRotate() to a hexagon (a short hexagonal prism accurately);

Code: Select all

org   = Vec3f( 0., 0., 0. )
xaxis = Vec3f( 1., 0., 0. )
yaxis = Vec3f( 0., 1., 0. )

def func1( ..., rot1, rot2 ):
    ...
    ret = p.PolyhSelectFaces( cy1, 1, ... )
    ...
    for i in range( n ):
        ...
        p.SweepSetMove( vec1.p )
        p.PointsSweep()
        p.PointsRotate( org.p , yaxis.p, rot1, e_tsxModelFrame )
        p.PointsRotate( org.p , xaxis.p, rot2, e_tsxWorldFrame )
        t += dt 
The main difference between each is only constant rotation angles, rot1 and rot2, about two axes.

Exporting STL files from tS
The "Model" side of free tS7.6 (or some other paid versions with Conversion Pack) can output 3D objects with .stl file format that is supported by many 3D tools, 3D printers, and 3D printing service providers; "File" - "Save As" - "Object" (the "File" in lower column in case of tS7.6's Model side).

Image

You can select ASCII (i.e. text) STL or binary STL by checkbox in the file selection dialog if needed. The ASCII ones have higher compatibility for other 3D tools or 3D printers and have human-readability but have larger file size.

Image

If you are an expert on (or have enough motivation or strong desire to learn) the implementation of the STL file format, there is also options you directly output STL in ASCII format using tS + ptsxpy + your Python scripts! For example, in case that you "trace" some parts of vertices in your tS objects in a scene and output them to a STL file.

STL checker for 3D printing
Before 3D printing, you must fix bad geometries or inconsistencies like missing faces or edges, normal vector inversion. Some printing services have checker and viewer feature in their web site. There are also some free standalone (i.e. off-line) viewer & checkers (like Materialise Minimagics). You have such options to check that your STL files' geometrical and spatial validity even if you don't have any 3D printer. Some spatial requirements (like resolutions, min/max bounding box, etc.) are determined per materials by each service provider or 3D printer.

In addition, some 3D printing service providers also have market places where you can open your shop and sell 3D printed products to consumers by uploading your 3D files and specifying prices per materials. You need not to do 3D printing, shipping products, and responding to return-refund there.

Colored or textured Model
Some 3D printing service providers or 3D printers allow you colored and/or textured model to 3D print (i.e. you can upload a texture mapping file with a 3D model there). Each of tS5, tS6, and Model side of tS7 has a UV Mapping Editor in it and makes a 2D development of a polyhedron, and you can adjust mapping of a texture file for a 3D object by hand and export the adjusted texture as a bitmap file. The ptsxpy + your Python scripts can also manipulate texture (UV) mappings though that is not interactive.

Image

Post Reply