Quick check-in about workflow, and V4.

 From:  FDP
8361.10 In reply to 8361.9 
Hi AlexPolo,
I essentially do the same as you - I tend to break models down into the base curves, and then steps for each operation to get to the final model and I hide the base geometry. The thing is, if you create an extrusion, for example, from a base curve and then directly edit the base curve you will see that the changes permute through to the extruded geometry (the same is true for making changes to mirrored or arrayed geometry). There is a one-step limit to this functionality at the moment, but it is there in some form.

I pretty routinely have 11-12 steps to get to a final geometry, and more importantly, have secondary geometry that is linked to a primary (take, for example, a part that fits into another part with a gap that is formed using the curve offset command). Here the existing MoI methodology can necessitate significant rebuilt times based on pretty simple base curve changes, even if there is a straight-forward procedure outlined by careful object naming (hours in the worst cases when multiple parts depend on each other).

From my perspective, having to manually do the rebuild is really where the workflow gets killed, even if it were easier to organize the manual steps from a user perspective, the real solution is just tracking the operations history of an object and allowing for it to be rebuilt based on changes to the input geometry. Another side effect of relying on hidden geometry is that file sizes are significantly impacted by having multiple copies of everything (I get into the 250MB size sometimes for relatively simple final models just from having all the internal revisions as separate hidden objects).

In some CAD software every object has it's own internal plane associated with it, and then a vector transform is applied to place the object geometry into the world view. I think without this ability for an object to have its own internal plane and then a transform attached you can't ever really do assemblies properly, as you can't know whether the object is in world space or object space.

My personal solution to these workflow issues at the moment is to feed MoI curves into Rhino and then use Grasshopper to set up a parametric workflow. There are a few really annoying issues in Grasshopper, but since they allow for Python scripting I can almost always write a little function to get myself around most of them, or add functionality as needed. The thing is that 90% of what I'm doing could just be done with the above-outline workflow in MoI, and Rhino + Grasshopper requires two relative large screens to really use effectively. Also, jumping into Rhino and invoking grasshopper kills the speed efficiency I get from using MoI in the first place. I have never found anything that works as well on one screen of almost any size as MoI - Michael pretty much nailed CAD UI better than any other software I have ever used (Maya, Houdini, Rhino, Solidworks, 3DS Max, Blender, Sketchup).

For multi-point orientation, I usually create a circle from 3-points on a circle found in a piece of input geometry and then use the created curve to manage rotations and scaling of the part. Not going to solve it for something super-complex, but I have found the process to be somewhat painless. It would be really nice to be able to have a quick command to temporarily turn any subsequent curves into a piece of temporary measurement/orientation geometry, and then allow for an close command to delete all those curves. Seems like low-hanging fruit and could allow for faster sketching (going to go see if this already exists).