sketchucation logo sketchucation
    • Login
    ℹ️ Licensed Extensions | FredoBatch, ElevationProfile, FredoSketch, LayOps, MatSim and Pic2Shape will require license from Sept 1st More Info

    [Plugin] triangulateFaces.rb v1.2 20101120

    Scheduled Pinned Locked Moved Plugins
    97 Posts 21 Posters 109.1k Views 21 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C Offline
      CPhillips
      last edited by

      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
      
      1 Reply Last reply Reply Quote 0
      • C Offline
        Coronel
        last edited by

        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?

        1 Reply Last reply Reply Quote 0
        • TIGT Offline
          TIG Moderator
          last edited by

          @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.

          TIG

          1 Reply Last reply Reply Quote 0
          • C Offline
            CPhillips
            last edited by

            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?

            1 Reply Last reply Reply Quote 0
            • C Offline
              CPhillips
              last edited by

              @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

              1 Reply Last reply Reply Quote 0
              • I Offline
                ideas_arte
                last edited by

                Thanx really useful!

                where download? 😳

                1 Reply Last reply Reply Quote 0
                • J Offline
                  Jim
                  last edited by

                  @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.

                  Hi

                  1 Reply Last reply Reply Quote 0
                  • TIGT Offline
                    TIG Moderator
                    last edited by

                    @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 ? ...

                    TIG

                    1 Reply Last reply Reply Quote 0
                    • TIGT Offline
                      TIG Moderator
                      last edited by

                      @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...

                      TIG

                      1 Reply Last reply Reply Quote 0
                      • TIGT Offline
                        TIG Moderator
                        last edited by

                        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...

                        TIG

                        1 Reply Last reply Reply Quote 0
                        • C Offline
                          CPhillips
                          last edited by

                          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.

                          1 Reply Last reply Reply Quote 0
                          • honoluludesktopH Offline
                            honoluludesktop
                            last edited by

                            Hi TIG, Any way to convert this kind of mesh into its component triangles?


                            Drapery05.skp

                            1 Reply Last reply Reply Quote 0
                            • TIGT Offline
                              TIG Moderator
                              last edited by

                              @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

                              1 Reply Last reply Reply Quote 0
                              • honoluludesktopH Offline
                                honoluludesktop
                                last edited by

                                TIG, Thanks for the link, it works. Now I can make small edits to the (mesh?).

                                1 Reply Last reply Reply Quote 0
                                • jeff hammondJ Offline
                                  jeff hammond
                                  last edited by

                                  @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 πŸ™‚

                                  dotdotdot

                                  1 Reply Last reply Reply Quote 0
                                  • TIGT Offline
                                    TIG Moderator
                                    last edited by

                                    @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

                                    1 Reply Last reply Reply Quote 0
                                    • jeff hammondJ Offline
                                      jeff hammond
                                      last edited by

                                      @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?]

                                      dotdotdot

                                      1 Reply Last reply Reply Quote 0
                                      • TIGT Offline
                                        TIG Moderator
                                        last edited by

                                        @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! ❗

                                        TIG

                                        1 Reply Last reply Reply Quote 0
                                        • TIGT Offline
                                          TIG Moderator
                                          last edited by

                                          See this new script just for selected quad faces - it keeps UV mapping etc...
                                          http://forums.sketchucation.com/viewtopic.php?p=201025#p201025

                                          TIG

                                          1 Reply Last reply Reply Quote 0
                                          • thomthomT Offline
                                            thomthom
                                            last edited by

                                            @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?

                                            Thomas Thomassen β€” SketchUp Monkey & Coding addict
                                            List of my plugins and link to the CookieWare fund

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 4 / 5
                                            • First post
                                              Last post
                                            Buy SketchPlus
                                            Buy SUbD
                                            Buy WrapR
                                            Buy eBook
                                            Buy Modelur
                                            Buy Vertex Tools
                                            Buy SketchCuisine
                                            Buy FormFonts

                                            Advertisement