Auto spline extrude?

 From:  Michael Gibson
2762.2 In reply to 2762.1 
Hi Rob - it can be kind of bad from a UI point of view to try and combine too many different functions into a single tool...

That can generally tend to make the tools become heavier and heavier and trending to become more bloated.

Especially in this case where I guess you're talking about adding an option in to a wide variety of tools - for example there are quite a few different ways to draw a curve currently:

Freeform control points
Freeform through points
Freeform sketch
Rectangle from corner
Rectangle from center
Rectangle from 3 points
Polygon from Center
Polygon from Edge
Polygon star
Circle from center
Circle diameter
Circle from 3 points
Circle tangent
Arc from center
Arc continue
Arc from 3 points
Arc tangent
Ellipse from center
Ellipse diameter
Ellipse from corners

So that's like 22 different commands that draw curves - would you be talking about adding in an extrusion function to every single one of these? Then Extrude itself has quite a few options within it: Pick a point for the height or enter distance, Cap ends, Both sides, Set dir, Set path...

If all of that were combined into each of these commands it would basically be greatly increasing the complexity of each of these commands.

MoI's current design philosophy is more oriented towards keeping something like that which may apply to a wide combination of commands as a separate function rather than trying to bake it in to each one.

One thing that may be useful to you though is to set up a keyboard shortcut that will select the last object that was drawn and then launch extrude. If you place the following as the Command part of a keyboard shortcut it will do that:

script:var gd = moi.geometryDatabase; gd.deselectAll(); var a = moi.command.lastCommandRevisionStart; var b = moi.command.lastCommandRevisionEnd; var objects = gd.getObjects(); for ( var i = 0; i < objects.length; ++i ) { var obj = objects.item(i); if ( obj.databaseRevision> a && obj.databaseRevision <= b ) obj.selected = true; } moi.command.execCommand( 'Extrude' );

So with that in place, immediately after drawing any curve you can hit that key and it will automatically select that curve and extrude it.

- Michael