[Plugin] triangulateFaces.rb v1.2 20101120
-
Well it does not appear in plugins menu nor in context menu.
-
-
It is possible to add a seperate " add detail" tool for further triangulations?
It could be usefull for detail modeling.1- Triangulate face and open:
2- Input Box with values like: 10x and available smoothcheckbox
3- Set complete triangulation in one stepYou can seperate the Sandbox " add detail" from the original script. But then the new script should be coded ( with strings) in the same way to add it in one toolbar.
usefull?
-
OK, OK... Here's v1.3 http://forums.sketchucation.com/viewtopic.php?p=169956#p169956
It now has a menu and traps for unsuitable selections...I only made it as a quick hack because Chris asked how to triangulate the quad faces of a sphere........................
-
Here's v1.2 http://forums.sketchucation.com/viewtopic.php?p=169956#p169956
Burkhard: To add extra detail sub-division to faces use my Advertex+.rb tools - using the appropriate modifier key you can add a vertex onto a face and new edges will then be added up to it from every face-vertex...
It's a little different from the other script (which I don't recall seeing before) - mine only sub-divides quads - as Chris's request and it also traps for any possible new 'dividing' edges not falling on the face - e.g. with L-shaped or 3nr co-linear-vertex faces...B/Chris: It runs by selecting some faces and then typing triangulate in the Ruby-console... To add a menu item you can simply add these lines onto the end of the script using a plain-text editor...
### Menu ### UI.menu("Plugins").add_item("Triangulate 4-edged Face in Selection"){triangulate}if not file_loaded?(File.basename(__FILE__)) file_loaded(File.basename(__FILE__))
-
Here's v2.0, now new improved - 'triangulates' [almost] everything...
http://forums.sketchucation.com/viewtopic.php?p=169956#p169956 -
Thanks TIG, this is great!!!
-
Here's v2.1, I've renamed the command
triangulatefaces(array_of_faces
) as 'triangulate' was already a defined command inside delauney/cloud scripts etc, used to triangulate points...
http://forums.sketchucation.com/viewtopic.php?p=169956#p169956
Please replace earlier versions with this new file to avoid clashes... -
Cheers Tig...nice one.
-
Here is the method I use:
def triangulateFace(face) ents=Sketchup.active_model.active_entities faces=face.mesh.polygons verts=face.mesh.points faces.each{|f| ents.add_line(verts[f[0].abs-1],verts[f[1].abs-1]) ents.add_line(verts[f[1].abs-1],verts[f[2].abs-1]) ents.add_line(verts[f[2].abs-1],verts[f[0].abs-1]) } end
The nice thing is it cant fail to triangulate regardless of the shape or number of holes. But it unfortunately adds faces to the "holes". Or rather Sketchup does. Does anyone a way to add an edge without Sketchup attempting the "heal" the face?
-
I thought of that approach but abandoned it because of that facing hole problem...
-
Thank you TIG for this plugin.
Do we still need to add those extra lines in the ruby console to get the plugin in a menu?
I couldn't find it in the Plugins/Tools menu, thus my question... -
@kwistenbiebel said:
Thank you TIG for this plugin.
Do we still need to add those extra lines in the ruby console to get a menu?
I couldn't find it in the Plugins/Tools menu, thus my question...'Triangulate Faces in Selection' should be in the Plugins menu...
-
Strange, I can't find it anywhere in my long long plugin list .
Maybe it clashes with some other plugin? (I do have WxSU installed which caused me trouble with other plugins in the past).
By the way, I am on SU6 Pro. -
@kwistenbiebel said:
Strange, I can't find it anywhere in my long long plugin list .
Maybe it clashes with some other plugin? (I do have WxSU installed which caused me trouble with other plugins in the past).
By the way, I am on SU6 Pro.If you have 2.1 open it in a text editor and read the last bit it should define the menu...
-
I finally figured out how to triangulate any face without the side effect of filling holes.
def triangulateFace(face) mesh=face.mesh(1) faces=mesh.polygons verts=mesh.points uvs=mesh.uvs(true) outmesh = Geom;;PolygonMesh.new faces.each{|f| outmesh.add_polygon(verts[f[0].abs-1],verts[f[1].abs-1],verts[f[2].abs-1]) } ents=Sketchup.active_model.active_entities mat=face.material face.erase! grp = ents.add_group grp.entities.add_faces_from_mesh(outmesh) grp.entities.each{|e| if(e.class==Sketchup;;Edge) e.smooth=false e.soft=false elsif(e.class==Sketchup;;Face && mat!=nil) #handle materials and uvs. uva=verts.index(e.vertices[0].position) uvb=verts.index(e.vertices[1].position) uvc=verts.index(e.vertices[2].position) e.material=mat e.position_material(mat,[verts[uva],uvs[uva],verts[uvb],uvs[uvb],verts[uvc],uvs[uvc]],true) end } grp.explode end
-
Could you please clarify for a 3D newie the purpose of triangulation in this case?
Does it means the model will be correct or will work better or is merely a way of get more detail? -
@coronel said:
Could you please clarify for a 3D newie the purpose of triangulation in this case?
Does it means the model will be correct or will work better or is merely a way of get more detail?If you have a mesh that's rectangular it won't deform consistently. If you triangulate the faces they will... etc.
-
I needed the triangulation to prepare a model for export.
Thanks for incorporating it into your script TIG! Why is it that back facing UV's didn't work?
-
@tig said:
@cphillips said:
I needed the triangulation to prepare a model for export.
Thanks for incorporating it into your script TIG! Why is it that back facing UV's didn't work?
There is only a method to 'place material textures on a face' - and that assumes a 'front_face' - there's no 'back_face' method...
Do you mean position_material? It takes a bool for front or back material
http://code.google.com/apis/sketchup/docs/ourdoc/face.html#position_material
Advertisement