sketchucation logo sketchucation
    • Login
    Oops, your profile's looking a bit empty! To help us tailor your experience, please fill in key details like your SketchUp version, skill level, operating system, and more. Update and save your info on your profile page today!
    πŸ«› Lightbeans Update | Metallic and Roughness auto-applied in SketchUp 2025+ Download

    [Plugin] triangulateFaces.rb v1.2 20101120

    Scheduled Pinned Locked Moved Plugins
    97 Posts 21 Posters 110.0k 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.
    • 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
                              • TIGT Offline
                                TIG Moderator
                                last edited by

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

                                TIG

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

                                  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?

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

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

                                    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
                                    

                                    TIG

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

                                      That bit of code seem to work.

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

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

                                        @thomthom said:

                                        That bit of code seem to work.

                                        It does work for the back_material but it doesn't map the front material's uvs...
                                        Try running it on a face with a hole in it and and materials front and back - both adjusted at angles/shear etc with Texture tool... Both materials are put back onto the now triangulated faces but the front material will be at its default settings...

                                        I can't see how to do it πŸ˜•

                                        TIG

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

                                          Holes and sheared textures seems fine.

                                          But, when I distort them, so the texture doesn't fit to a parallelogram, then it fails.
                                          And that's excatly the conversation I've been having with Whaat a couple of days ago. That in order to sample textures which are distorted you need four points. Which leads to the question of PolygonMeshes: what do you do then, because if you just sample the UV from each point in the polygon you only get tree samples.

                                          I wonder if PolygonMesh.uv_at(u,v) can be used though. The manual is not clear on this method. The description and example don't add up.

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

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

                                            See what you mean - I had a distorted front face that failed...
                                            if you have 4 ubs's how do we check ? πŸ˜•

                                            TIG

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

                                            Advertisement