Here's some snippets of the types of data I add to the 3d solid at creation time, this is part of a much larger class that holds a 3dSolid (_solid) as a private property and the x, y, z values etc as class properties, these can be calculated and set from the polyline plane and normal or however you want to calculate your ECS. I use the extrusion direction and/or normal of the polyline I'm about to extrude.
Just remember to normalise the vectors to make it easier later.
Hopefully it's a good starting point for someone
That looks like some highly effective and terse code. Thank you for sharing. That is an incredible leg up on the pre-model process methodology.
I’ve got some code prepped for post-model. Still quite a work in progress – and, certainly, not nearly as terse. I’ll look it over again in the next few weeks and post the project in whatever state it is in at that point.
I mostly focused on extruded profiles. The hope was to not only get the lengths, but also some post modeling profile recognition. So If I knew someone was modeling with the aid of “Al’s Steel Mill”, a type and quantity takeoff could be made by comparing Profile Area, Perimeter, and Moments of Inertia.
I’m referring to the methodology as POCS (Preponderance of Coordinated Systems). It’s reasonably effective at recovering extrusion direction. As can be seen in the screencast, though, the profile recognition still needs some work.
https://autode.sk/2Bmfkjp