[Plugin] TIG-Cut_to_plane v1.1 20130107
-
@jorge2011 said:
tig excellent, very good tool.
a question.
you can think of a tool that splits into two parts to a group or component solid?
Another tool could first duplicate the selected object and run the 'subtract' cut twice the second time reversing the direction; thus the selected object would be split into two parts...
I'll think about it... -
thank you very much.
one question. how the tool works in the code, creates another solid and subtract?
-
This tool 'Cut_to_plane' now has a sibling - 'Split_to_plane' - available here - http://sketchucation.com/forums/viewtopic.php?p=433732#p433732
It's very similar in operation BUT it leaves both 'split' parts [A and B] in place, rather than keeping just the one... -
@jorge2011 said:
...one question. how the tool works in the code, creates another solid and subtract?
Yes you define the plane, a large new group containing a circular face is made centered on the first point you picked [its size based on that point and its distance from the selected object's bound center], the face's normal vector is set from the cross of the vectors to the other two points you picked. The face is then pushpulled into a large 3d solid and then that group is subtracted from the original selected object. The new group is given the properties of the original. In the 'split' version the selected object is duplicated in place and the pushpull reversed for the second 'cut' on the duplicate - leaving the original selected object appearing to have been split along the selected plane... -
Nice job!
-
thanks TIG, very handy!
erikB -
Thanks! Almost perfect...
Can you make it work with a combination of groups or/and components instead of ONE solid group? -
You are the man, TIG. This is amazing as all of your works. I found a link to the video presentation to your plugins.
http://www.youtube.com/watch?v=QFv4cnX4l3E
It is on p. 20 of CatchUp Edition 15 - SketchUcation 2.0
-
Many Thanks TIG
-
Thanks TIG. Looks like a very useful tool for woodworking and machining worksurfaces with a CNC.
-
Many thanks TIG. Is there a way to make this work on a non solid group? Or nested groups? zorro does something like what i need but is view dependent, you have to view your group from an orthogonal view if you want a "straight" cut.
-
No.
This tool works on solids only.
Zorro2 will work by slicing along a Section Plane.
Place one where you want and use that Zorro2 option.
I haven't tried nesting the plane inside the group/instance so that the cur only applies to the active entities - try it and report back... -
Yes indeed, Zorro2 will cut through nested entities. There is a bit of clean up needed afterwards as some surfaces may need to be healed depending on how the section cut cuts through the objects.
-
great addition to the plugins list..thanks alot..can't wait playing with it
-
Thank you TIG!
I wish this tool could:- work with non-solids (I won't miss section faces anyway)
- I guess the fourth click to manually choose the side to be cut off would be even more user-friendly. No pop-ups, just a hint in status bar.
-
@ rv1974
For your #1 above you could use section tool in combination with zorro2.
-
@penumbra
Maybe the things got better, but Zorro was kinda minefield- too much crashes,- I stopped using it. And besides, 3 clicks to define the cutting plane is the nicest way to cut. -
Wonderful TIG!!!!
-
how does one get this into the right click menu? would love to see it right under 'solid solver'...
and, is there a way to customize my rubies so i can better order my right click menu?
-
This is the code that adds 'SolidSolver' to the menu AND the context-menu.
unless file_loaded?(__FILE__) cmd=UI;;Command.new("SolidSolver"){self.solidsolver()} UI.menu("Tools").add_item(cmd) UI.add_context_menu_handler{|menu| if self.solidsolver_unsolid?() menu.add_item(cmd) end } end file_loaded(__FILE__)
The basis here is to make a command, and then add that to the the context-menu. Because this code is within the TIG module it says
self.solidsolver()
; however,TIG.solidsolver()
would work otherwise... It also uses the built-in testself.solidsolver_unsolid?()
[akaTIG.solidsolver_unsolid?()
] which checks if the selected object is solid, otherwise there is no context-menu entry - try it with a selected line and the menu item is not added.
To add any tool to the context-menu you simply make a command of it and add it, perhaps testing that some 'case' is met in a selection etc before adding the item.
This example adds 'TIG-Cut_to_plane
' to the context-menu... add this new code instead of the menu making code in ~line#259UI.menu("Plugins").add_item("TIG-Cut_to_plane"){Sketchup.active_model.select_tool(TIG;;Cut_to_plane.new())}
becomes
cmd=UI;;Command.new("TIG-Cut_to_plane"){Sketchup.active_model.select_tool(TIG;;Cut_to_plane.new())} UI.menu("Plugins").add_item(cmd) UI.add_context_menu_handler{|menu| ss=Sketchup.active_model.selection[0] if ss and (ss.is_a?(Sketchup;;Group) || ss.is_a?(Sketchup;;ComponentInstance)) and ss.manifold? menu.add_item(cmd) end }
Change 'Plugins' to 'Tools' etc as desired...
To do the same for its sibling tool 'TIG-Split_to_plane
' add this new code instead of the menu making code in ~line#298UI.menu("Plugins").add_item("TIG-Split_to_plane"){Sketchup.active_model.select_tool(TIG;;Split_to_plane.new())}
becomes
cmd=UI;;Command.new("TIG-Split_to_plane"){Sketchup.active_model.select_tool(TIG;;Split_to_plane.new())} UI.menu("Plugins").add_item(cmd) UI.add_context_menu_handler{|menu| ss=Sketchup.active_model.selection[0] if ss and (ss.is_a?(Sketchup;;Group) || ss.is_a?(Sketchup;;ComponentInstance)) and ss.manifold? menu.add_item(cmd) end }
To do it to other tools you need to read and understand how they run and how to make a command from their code...
Be aware that adding too many 'commands' to SketchUp can cause the gray-out issue in the context-menu - this has bee 'fixed' by allowing you to have a lot more before it happens, but go bonkers adding them and items will spontaneously disable themselves and 'gray-out',
Advertisement