[Plugin] Stepped Extrude [Updated 20121106]
-
Yes, very good thanks!
In regards to Topo work as in the example--there is a CAD application that I used that would interpret the height of contours in plan by the user drawing a section line. Another idea to specify the relative heights.
What you have here might also be useful to model site steps (the kind people walk on) that are laid out in plan but too irregular for move-duplicate creation. Just as I needed yesterday...
Thanks again for the plugin work.
-
Great tool idea. Does it work with lines? If not, could you adjust it to work with lines? The user would click on a line and the script would select all connected and move it vertically by 1 unit, then 2 units, 3, etc. Same idea, I just rarely make stepped models. I deal with topo lines only and then use the sandbox tools to turn them into a TIN. Thanks!
Chris
-
@pbacot said:
there is a CAD application that I used that would interpret the height of contours in plan by the user drawing a section line. Another idea to specify the relative heights.
This sounds very complicated, I'll see what I can do.
@chris fullmer said:
Does it work with lines? If not, could you adjust it to work with lines? The user would click on a line and the script would select all connected and move it vertically by 1 unit, then 2 units, 3, etc.
No, it works only with faces. I think I can add that, it will take some time, though.
Thanks for trying it out.
-
No rush, it might be a nice feature to add if you feel like adding something. Thanks!
-
@rami_lpm said:
[
@chris fullmer said:Does it work with lines? If not, could you adjust it to work with lines? The user would click on a line and the script would select all connected and move it vertically by 1 unit, then 2 units, 3, etc.
No, it works only with faces. I think I can add that, it will take some time, though.
Thanks for trying it out.
rami, Add this code to the onLeftButtonDown def. It will handle the edges or curves.
best.pushpull dist,false else best = ph.picked_edge unless best==nil @clickno += 1 dist=@clickno*@step trans=Geom;;Transformation.translation([0,0,dist]) unless best.curve edges=best.all_connected verts=[];edges.each{|e| verts<<e.vertices} verts.flatten!; verts.uniq! verts.each{|v| Sketchup.active_model.entities.transform_entities(trans,v)} else Sketchup.active_model.entities.transform_entities(trans,best.curve) end end
-
Thank you very much
-
Nice. A much needed tool.
-
It's updated. Thanks for that snippet.
-
Great idea, thanks (again).
-
Thanks! It could be useful for making stairs also... or SU logo
-
Thank you Ramiro.
-
Cool!
Works fine with the Multiple Offset by Sdmitch -
Have you the same but only for lines ? ( with no PushPull of faces )
Like this
only lines are moving with Stepped Extrude , and there is no creation of faces !like a creation of levels of terrain for example
-
Pilou, The first post claims this is possible. I haven't tried. Peter
-
No it's draw also a face when you click a line like when you click on a face!
I just want stepp the lines !
-
Hi rami_lpm AND sdmitch,
a Need of previous history Amount/Distance . . . .
means create 2 face and use this tool and 1st face extrude 1 m. and 2nd face extrude the same amount . . .
now its not working . . . . .
thanks . . . .
-
Simple, functional, useful and free...what more can one ask for. Well done
-
The perfect fuse of simplicity and effectiveness.
Salute to the authors. -
Thanks for a much useful plugin. I had coded something similar in AutoLisp a few years ago to do this in Autocad, precisely for stairs and contours.
@rami_lpm said:
@pbacot said:
... interpret the height of contours in plan by the user drawing a section line.
This sounds very complicated, I'll see what I can do.
I think this could be simpler than it sounds, maybe one of the forum's rubymasters could help out with the code. Here's how i would imagine it:
Method 1, should work with lines:
-User draws a line across the contours he wishes to raise and sets H=riser height.
-Plugin figures if it's a generally horizontal or vertical line (is that necessary?)
-Plugin finds all intersection points and makes an array ordered based on their X (or Y?) coordinate
-Plugin traverses array raising each line by H x its index in the array.Method 2, perhaps this is the solution for faces?
-User selects all faces that need to be raised (by window or select all or whatever... if one by one, it's just the current method)
-User draws a line L through all said faces
-Plugin filters out non-faces from selection and makes an array as above, ordered by X or Y coordinate of mid-point of segment created by intersection between line L and each face.
-Plugin traverses and raises as above.Hope this makes sense!
-
No possibility to add the other options? As asked in my old request here
Now we have a =a + x
Advertisement