To represent a 3D geometry in our software we use this format below: Material-1 Material-2 P1(X1,Y1,Z1) P2(X2,Y2,Z2) P3(X3,Y3,Z3)

This 11 point gives us a triangle with the description of what is behind and front of the triangle. Depicted below:

enter image description here

By applying the right-hand rule (P1 to P2 and then P3, like for electromagnetic force), we know what is Material-1 and Material-2 these are the properties on both sides of the triangular plane.

Using these triangles we can construct the complete surface of our geometries. Since it is hard to create complex 3D surfaces and volumes (enclosed space by these triangles) manually, we want to use CAD software like Blender, SolidWorks, etc. What is the easiest data format (e.g. .STP, .STL, ...) that we can use to convert and represent the 3D geometries with our 5 parameters (actually 11 parameters) geometry format.



Easiest is probably OBJ or PLY. But can not really dump material info like you want. But you could encode it in a per face value. Both formats use similar windup rules to yours.

Step (.STP) is out of question. Its a a few orders of magnitude more complex than what you have and does not deal with polygons, but rather a BREP model.*

Ascii STL might work. But be aware that the format itself is a bit screwy due to not having a very well done original standardisation. Namely it was unclear how the normal info should be handled. Because of this this normal or windup is quite universaly ignored by stl exporters and importers. So theres no guarantee the triangles directions come out as you made them (probably they do but relying on this is a bit dangerous). If it werent for this feature then ascii stl would be the closest format

Blender is not really classified as a CAD application rather its a DCC application (Document Content Creation). They use different primitive constructs. But blender is much closer in nature than most cads considering your polygon modeling.

PS: Consider implementing point sharing beween polygons theres lots of advantages for processing and modeling.

* I'd say about four or five orders of magnitude. Even without the testing mandates even reading just the specification is 10000 pages of iso standard text. OBJ should be implementable in a few hours for step you may be better of buying a third party reader and still need a month of implementation time.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.