I have written a small tool for reversing back faces only. It is a kind of hybrid of Didier's ray casting solution and Todd's old scrtool.
It works like a paintbrush - right cick toggles reverse mode - just hover above back faces and they will be reversed. Front faces will keep facing front, so do not worry you can move a cursor above whole model without hesitation. No additional click required. If you want back material to be turned into the default SU material, toggle special mode using CTRL key.
Installation - unpack both rb and FrontFace_files folder into Plugins folder. Restart SU
Tool works best in 'Monochrome display mode' because it will let you easily recognise which faces still need to be reversed. Make sure your model refreshes fast - the faster screen refresh the faster tool works. When reversing faces in large model - it can be faster to do it by layers or by groups.
I intend to improve tool's efficiency by reversing all back faces in the whole surface that a face belongs to - subject to feedback from users
I invite you to a while of reflection about a role of LOVE in our lives while using this tool, because your brain will be quite idle during the process I kindly suggest you to spend saved time with ones that you love! You can trade with your boss - whole model reversed in half an hour - afternoon off the work in return
EDIT:
version 1.2 (7th December 2009) - icons added, CTRL toggles a mode which replaces back material with the default, FrontFace is no longer afraid of hidden layers or faces, cuts through them like through a butter
Tomasz wrote:I invite you to a while of reflection about a role of LOVE in our lives while using this tool, because your brain will be quite idle during the process I kindly suggest you to spend saved time with ones that you love! You can trade with your boss - whole model reversed in half an hour - afternoon off the work in return Tomasz
This tool and probably any other face reversing tool is not able to reverse correctly projected textures, as it would require correct readout of the face UVs and reapplying them to the opposite side of a face.
Please find an example attached. When using the tool on the back faces you will notice that texture on the former frontface have wrong - default UVs. I will post soon a new version that copies UVs between Front and Back material. I will need your help as I was not able to solve it on my own.
Can we all try to solve this UVs issue? I am sure there are Ruby programmers who know exactly how to read correct UVs of a nested face.
I have found that the plugin reverses Front Faces as well in nested components& groups. I have forgotten about transformation of an instance.. Of course the process is fully reversible, but just to inform you there is a bug. It looks I will have to use ray-casting as well.
Does not possible to have the possibility to make "all selection" of the frontface with the first facet choosen for avoid to paint all the other same facets one by one? Seems that will be very more useful and not a big modification of this cool plug SKP linked for test
Tomasz wrote:I intend to improve tool's efficiency by reversing all back faces in the whole surface that a face belongs to - subject to feedback from users
Sorry but how call the Tig Orient.face.rb? In what Menu, or with what Click mouse? I suppose with the Ruby console? How must be the selection? Facets selected? Group Selected?...
I obtain that with the ruby Console with "face.orient_faces" or "orient.face" input in the console
Pilou wrote:Sorry but how call the Tig Orient.face.rb? In what Menu, or with what Click mouse? I suppose with the Ruby console? How must be the selection? Facets selected? Group Selected?...
I obtain that with the ruby Console with "face.orient_faces" or "orient.face" input in the console
Error: #<NameError: (eval):495: undefined local variable or method `face' for main:Object> (eval):495
So I am perplex
As the guidance notes at the start say...
It matches the orientation of a face to any connected 'co-edged' faces. It mimics SketchUp's "Orient Faces" Tool. It can sometimes produce slightly different results when more than two connected faces share a common edge. Its results are equally logical, and who's to say how they should orient anyway ? Ideas on how to duplicate the built-in tool are welcomed... You can call it from other scripts thus: face.orient_faces
i.e. if you put the script in the Plugins Folder it creates a new method - a 'Face' now has an extra method called "orient_faces"
Let's say you have a face that's been chosen in your script which has been given the variable 'face', then adding in the line
will make any other faces that adjoin it [or its neighbours etc] flip to match that chosen face's orientation (normal) - just like the built-in 'orient faces' does in the right-click context-menu when you select a face...
.
0
Last edited by TIG on Tue Oct 14, 2008 8:58 pm, edited 2 times in total.
Pilou, What TIG has sent is a help for me. The 'orientface' script contains useful method that I can add into my plugin, which will happen soon if everything will go fine.
Panga wrote:Thanks for this script...saved time'll be well used !!
I am testing your method TIG and it is working fine for Pilou's ball, but it is not dealing well with urban model I have. I have two ideas how to modify your method to suit FrontFace plugin better.
1st - limit connected faces only to those with soften edge. 2nd - limit to faces at lower angle then 90 deg.
Will try and see.
Pilou if you want to see how it works modify this method in frontface.rb as follows:
@ Tomasz I have also try the original SU Internal "Orient face" and it works fine also with my ball with only one click Your works also after the modification but you must over flight all the facets
0
Last edited by pilou on Tue Oct 14, 2008 3:40 pm, edited 2 times in total.
Frenchy Pilou Is beautiful that please without concept! Speedy Galerie
alz wrote:Could you add a "hold down left mouse" to have it be active? This would prevent accidental flipping when simply moving your mouse around in the scene.
That or change the cursor to something different while active.
Boofredlay wrote:That or change the cursor to something different while active.
Good idea Boofredlay - added to the 'TO DO' list.
alz wrote:Could you add a "hold down left mouse" to have it be active? This would prevent accidental flipping when simply moving your mouse around in the scene.
I think your finger will fail with big scenes to work correctly for a longer period , but... I could turn it on permanently when a LMB would be pressed longer then.. say 5 sec.
alz wrote:Another possibility -- when being used, toggle to a different Style (say Gray = frontface, Red = back face).
I prefer let user decide what monochrome style looks like.
One question (or maybe a feature request) - after reversing the face (and successfully applying the back face material on the frontface), could the plugin also delete the material applied on the back face? I.e. to paint the back face with the default (grey/blue) material.
OR - alternatively - does anyone know a plugin that would delete all materials applied to back faces only?
But of course, such a (to me very sophisticated but for you, guys, probably easy) modification for this FrontFace Plugin would also be handy - so that you need not fiddle with two different plugins (although the very simplicity of this plugin is also charming - no settings, no hassle with dialogs - just "brush" over the model and voilá)