[Plugin] triangulateFaces.rb v1.2 20101120
-
@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
-
Thanx really useful!
where download?
-
@ideas_arte said:
where download?
That's a valid question; it is not clear which version is the latest, and it is harder than necessary to locate the download.
The download is about 5 posts before this one.
-
@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 'position material textures on a face' - and that assumes a 'front_face' - there's no 'back_face' method ? ...
-
@cphillips said:
@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
Duh! I'll adjust the code and re-post...
-
There's something afoot... What I posted before worked - on keeping the front face texture mapping but not on the back_face... Now when I try it it fails to map both faces ? Any ideas - CPhillips's idea worked fine in tests but now seems to fail...
-
Post the code and I'll have a look. It might be the face.mesh(1). I think you need to use a different number when you want back uv's as well.
-
-
@honoluludesktop said:
Hi TIG, Any way to convert this kind of mesh into its component triangles?
I wrote an example script a few weeks ago to do something like this... http://forums.sketchucation.com/viewtopic.php?p=186068#p186068
-
TIG, Thanks for the link, it works. Now I can make small edits to the (mesh?).
-
@tig said:
Result: it triangulates a face... front Texture UVs are kept.
hey TIG,
if i run the script on this sphere, the UVs go haywire.
am i misunderstanding or misusing the script?
thanks[edit] ok, wait.. i just read the rest of the thread and i guess this hasn't been sorted out ?
sorry about the size.. i guess i could of used a smaller texture
-
@unknownuser said:
@tig said:
Result: it triangulates a face... front Texture UVs are kept.
hey TIG,
if i run the script on this sphere, the UVs go haywire.
am i misunderstanding or misusing the script?
thanks[edit] ok, wait.. i just read the rest of the thread and i guess this hasn't been sorted out ?
It's broken... the UV mapping was CJP's but it still needs fixing...
-
@tig said:
It's broken... the UV mapping was CJP's but it still needs fixing...
ah, ok..
too bad[fwiw - i can manually triangulate the sphere using and everything turns out ok.. i guess this script is doing something other than just drawing lines to cut quads in half?]
-
@unknownuser said:
@tig said:
It's broken... the UV mapping was CJP's but it still needs fixing...
ah, ok..
too bad[fwiw - i can manually triangulate the sphere using and everything turns out ok.. i guess this script is doing something other than just drawing lines to cut quads in half?]
It triangulates the quads and tries to fix the UV mapping - obviously very badly !!!! CJP help!
-
See this new script just for selected quad faces - it keeps UV mapping etc...
http://forums.sketchucation.com/viewtopic.php?p=201025#p201025 -
@tig said:
Known Issues: Back Materials are kept, but these Texture UVs cannot be re-used;
there's a Ruby Console warning message if this problem is found...
Solution: use the front faces only for textures IF you might be triangulating later.Why is it that you can't preserve the UVs of the backfaces?
-
We tried [CJP+me] but we couldn't get it to work - any ideas on fixing the whole issue of triangulation and keep UV mapping to front and back faces would be appreciated...
-
hm... looking at the code:
mesh=face.mesh(1)
This will give you a PolygonMesh with only the FrontUV.mesh=face.mesh(3)
will give you front and back.
but you need to change this as well:uvs=mesh.uvs(true)
true will give you set of front UVs, false will give you back UVs if you specified that in the .mesh method.I'm not quite sure I understand the purpose of this:
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])}
Why create a new PolygonMesh? Rearranging the polygons? -
This was CJP's code...
I've messed on with your ideas but can only get the front OR back UVs to work... how do I get both ? Here's the re-jigged code so far...def triangulateFace(face) mesh=face.mesh(3) verts=mesh.points ents=Sketchup.active_model.active_entities mat=face.material bac=face.back_material face.erase! grp=ents.add_group grp.entities.add_faces_from_mesh(mesh) grp.entities.each{|e| if e.class==Sketchup;;Edge e.smooth=false e.soft=false elsif e.class==Sketchup;;Face uva=verts.index(e.vertices[0].position) uvb=verts.index(e.vertices[1].position) uvc=verts.index(e.vertices[2].position) if mat uvsF=mesh.uvs(true) e.position_material(mat, [verts[uva],uvsF[uva], verts[uvb],uvsF[uvb], verts[uvc],uvsF[uvc]], true) end#if if bac uvsB=mesh.uvs(false) e.position_material(bac,[verts[uva],uvsB[uva], verts[uvb],uvsB[uvb], verts[uvc],uvsB[uvc]], false) end#if end#if } grp.explode end#def
-
That bit of code seem to work.
Advertisement