[Plugin] Stepped Extrude [Updated 20121106]
-
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
-
Great simple tool, perfect for stairs. Will try it as soon as I have a chance!
Thanks!
santiago
-
icepam: I'm a bit math-challenged, so it will take some time.
pilou: It really should work with lines. About your request, what does the 'list' option do?
Thanks everyone for the comments -
@unknownuser said:
what does the 'list' option do?
Like in this Multiple Offsets by Sdmitch
You enter a list in a dialog box like 5,17,22,10 etc...
At each click the PushPush take a nomber in the list
so first click is 5
second click 17
etc...
and then after the 10 that will be the 5
etc...PS You can also have a random option one in a list given or out of a list (Mini-maxi)!
here the list was 10,20,30,50* (the * indicated the last number)
Advertisement