[Plugin] Click2flip v1.0 20110928
-
A wonderful plugin! thank you TIGοΌI think TIG-flipBacks.rb is much more easier than other face reversers until now~
-
it's great to have a lot of choice thanks TIG, personally i prefer this one FrontFace1-2 : http://forums.sketchucation.com/viewtopic.php?t=13380
-
@3dsmax9 said:
it's great to have a lot of choice thanks TIG, personally i prefer this one FrontFace1-2 : http://forums.sketchucation.com/viewtopic.php?t=13380
haha! I'm using frontface and Click2flip, they have different feature~ I appreciate the amazing performance of the former, while the latter is faster when I have so many small faces to reverse at once!
-
hi tig,
i am not a programmer, but as flipped faces always happen in skp and in complicated structures it is sometimes difficult to select them one after another, i had a following idea for this script-
could it flip ALL SELECTED faces at once (of course with your "automatic" identificaton?
-
could it become an option :
make all front / make all back / make all faces the side, which is "higher" represented (sorry for this english....means with 100 faces, when 3 are back and the rest is front, it would make all front and vice versa)
by that i could double-click & select all connected faces and define all at once
thanx stan
-
-
Isn't a pair of shortcut-keys, to 'Reverse' and 'Orient' to match the just reversed face, going to do most of this ?
-
@tig said:
Isn't a pair of shortcut-keys, to 'Reverse' and 'Orient' to match the just reversed face, going to do most of this ?
yes, you're right. maybe for selection (if there is any) or all elements.
so this 'make positive/negative' feature would be great and a real time-saver.
regards stan -
Wow, magical!
looked for something like this way back and didn't find.
only issue is that the automatic decision making stress me out. on complex models it might flip the right one facing to me, but also another that should be facing in another direction and I didn't even notice...
can you add an option using the same concept to just label all the wrong facing faces - allowing more precise decision making?
thanks
-
You might find it useful to set the back face color to something more easily discernible. I use a green I'd never use in the model as a color/texture.
-
@dave r said:
You might find it useful to set the back face color to something more easily discernible. I use a green I'd never use in the model as a color/texture.
Yes - that's a generally good idea but since sometimes you have materials on the back side you need to go monochrome and back too see whats going on.. anyway since this plugin already exist - adding a label option will add great usability if possible..
-
great and simple tool, would be super-fab if able to flip curved faces as well!
...i thought combining the 2 bits of code above might do the trick:
1, click2flip
2, flip selectionthe idea being that if i click on a curved face, i'm also selecting it and therefore running the 2nd script might reverse the whole curved face, say a cylinder. (ideally i thought it could be toggled by pressing an accelerator key) a fair bit beyond my christmas powers... surely possible though..?
class TIG;;Click2flip @@BEEP=false def initialize() @ip = nil @ip1 = nil end def activate() @ip = Sketchup;;InputPoint.new @ip1 = Sketchup;;InputPoint.new @msg="Click back of face to flip it..." self.reset() end def deactivate(view) view.invalidate end def onCancel(flag, view) view.invalidate Sketchup.send_action("selectSelectionTool;") return nil end def resume(view) Sketchup;;set_status_text(@msg, SB_PROMPT) end def reset() Sketchup;;set_status_text(@msg, SB_PROMPT) end def onMouseMove(flags, x, y, view) @ip.pick(view, x, y) if @ip != @ip1 view.invalidate if @ip.display? or @ip1.display? @ip1.copy!(@ip) view.tooltip = @ip1.tooltip end end def onLButtonDown(flags, x, y, view) if @ip1.valid? @pt=@ip1.position ph = view.pick_helper ph.do_pick(x,y) @face = ph.picked_face self.flipper() if @face end end def flipper() normal=@face.normal vector=@pt.vector_to(Sketchup.active_model.active_view.camera.eye) angle=normal.angle_between(vector) if angle > 90.degrees @face.reverse! UI.beep if @@BEEP end#if end end#class
def self.flipBacks() model=Sketchup.active_model eye=model.active_view.camera.eye faces=[] Sketchup.active_model.selection.each{|e|faces << e if e.class==Sketchup;;Face} return nil unless faces[0] model.start_operation("Flip Selected Back Faces...") faces.each{|face| normal=face.normal vector=face.bounds.center.vector_to(eye) angle=normal.angle_between(vector) face.reverse! if angle > 90.degrees } model.commit_operation end
EDIT: actually just noticed the second script only flips half a cylinder (the side to the screen), the back remains undone.
Advertisement