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

    Triangulate triangles ?

    Scheduled Pinned Locked Moved Plugins
    41 Posts 8 Posters 8.2k Views 8 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.
    • pilouP Offline
      pilou
      last edited by

      So no! πŸ˜„ And why not the connections with middles ?

      Medians are wanted! πŸ˜„
      But if you a have the plugin why not, that can be used for other thing πŸ˜„

      Frenchy Pilou
      Is beautiful that please without concept!
      My Little site :)

      1 Reply Last reply Reply Quote 0
      • pilouP Offline
        pilou
        last edited by

        Yep cool, but not like the first post πŸ˜„
        And I should know it! πŸ˜‰

        Frenchy Pilou
        Is beautiful that please without concept!
        My Little site :)

        1 Reply Last reply Reply Quote 0
        • pilouP Offline
          pilou
          last edited by

          Alas I have deserted the Ruby language for a while! 😞

          If you can make a little plugin that will be wonderful 😎

          Frenchy Pilou
          Is beautiful that please without concept!
          My Little site :)

          1 Reply Last reply Reply Quote 0
          • renderizaR Offline
            renderiza
            last edited by

            Here is an example code for achieving what you want Pilou...

            
            model = Sketchup.active_model
            ents = model.active_entities
            sel = model.selection
            faces = ents.grep(Sketchup;;Face)
            
            faces.each do |face|
              vertices = face.vertices
              bbox = face.bounds
              cpoint = bbox.center
            
              vertices.each do |vertex|
                p1 = cpoint
                p2 = vertex
                line = ents.add_line p1,p2 
               end
            end
            
            

            Note: Some very pretty geometry start appearing when you keep splitting! πŸ‘

            [url=https://www.sketchupcode.com/:z3kqsidd]My Extensions ...[/url:z3kqsidd]

            1 Reply Last reply Reply Quote 0
            • renderizaR Offline
              renderiza
              last edited by

              I will do that! πŸ‘

              [url=https://www.sketchupcode.com/:z3kqsidd]My Extensions ...[/url:z3kqsidd]

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

                Beat me to it πŸ˜‰
                You might want to change the
                faces = ents.grep(Sketchup::Face)
                to
                faces = **sel**.grep(Sketchup::Face)
                So then the user changes only selected faces ?
                OR perhaps
                faces = sel.grep(Sketchup::Face) faces = ents.grep(Sketchup::Face) **unless faces[0]**
                so it works on a selection OR everything if there is no selection...

                Also you want to make it undoable, so add
                **model.start_operation('subtri')** faces.each... ...end **model.commit_operation**
                πŸ€“

                TIG

                1 Reply Last reply Reply Quote 0
                • renderizaR Offline
                  renderiza
                  last edited by

                  Hahaha!

                  TIG I would be very happy if you modify your existing plugin to add Pilou is feature request. πŸ‘

                  I am interested in making this for learning and I have some additional ideas I want to explore. I consider you my mentor TIG and there will never be competition between you and me I promise! πŸ’š

                  By the way thanks for the suggestion! πŸ‘

                  Here is updated code...

                  model = Sketchup.active_model
                  ents = model.active_entities
                  sel = model.selection
                  faces = sel.grep(Sketchup;;Face)
                  
                  model.start_operation('csplit')
                    faces.each do |face|
                      vertices = face.vertices
                      bbox = face.bounds
                      cpoint = bbox.center
                  
                      vertices.each do |vertex|
                        p1 = cpoint
                        p2 = vertex
                        line = ents.add_line p1,p2
                      end
                    end
                    sel.clear
                  model.commit_operation
                  

                  [url=https://www.sketchupcode.com/:z3kqsidd]My Extensions ...[/url:z3kqsidd]

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

                    OK
                    I'll make a simple script and publish it shortly...

                    TIG

                    1 Reply Last reply Reply Quote 0
                    • renderizaR Offline
                      renderiza
                      last edited by

                      Thank you TIG! πŸ‘

                      [url=https://www.sketchupcode.com/:z3kqsidd]My Extensions ...[/url:z3kqsidd]

                      1 Reply Last reply Reply Quote 0
                      • A Offline
                        anar
                        last edited by

                        Thanks Pilou !
                        You convinced TIG...
                        And Thanks TIG, I think it's a must have !

                        http://www.polyloop.net/attachment.php?attachmentid=32959&d=1382032801

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

                          Try this http://sketchucation.com/forums/viewtopic.php?p=495430#p495430
                          TriangulateAllFaces...

                          TIG

                          1 Reply Last reply Reply Quote 0
                          • cottyC Offline
                            cotty
                            last edited by

                            I think the triangulation is not the same...


                            tri.jpg

                            my SketchUp gallery

                            1 Reply Last reply Reply Quote 0
                            • renderizaR Offline
                              renderiza
                              last edited by

                              Both of these are very useful so maybe add an option to choose between the two.

                              http://s23.postimg.org/sp0h6r557/e_1.png

                              [url=https://www.sketchupcode.com/:z3kqsidd]My Extensions ...[/url:z3kqsidd]

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

                                To do the former you need to first triangulate all faces, then find each triangle's center using the angles' bisectors' intersections...
                                πŸ˜•

                                TIG

                                1 Reply Last reply Reply Quote 0
                                • renderizaR Offline
                                  renderiza
                                  last edited by

                                  Not as easy as using the center of face.bounds.center is it. πŸ˜•

                                  If I find the best way to do it with code I'll let you know...Best of luck! πŸ‘

                                  [url=https://www.sketchupcode.com/:z3kqsidd]My Extensions ...[/url:z3kqsidd]

                                  1 Reply Last reply Reply Quote 0
                                  • renderizaR Offline
                                    renderiza
                                    last edited by

                                    I sure don't call the code below a success but its definitely interesting...

                                    http://s13.postimg.org/yerdljl8n/eee.jpg

                                    
                                    model = Sketchup.active_model
                                    ents = model.active_entities
                                    sel = model.selection
                                    faces = sel.grep(Sketchup;;Face)
                                    
                                    model.start_operation('csplit')
                                      faces.each do |face|
                                        vertices = face.vertices
                                        edges = face.edges
                                        bbox = face.bounds
                                        cpoint = bbox.center
                                    
                                       edges.each do |e|
                                          e1 = e.start.position
                                          e2 = e.end.position      
                                    
                                          x = (e2.x + e1.x) / 2
                                          y = (e2.y + e1.y) / 2 
                                          z = (e2.z + e1.z) / 2
                                    
                                          vertices.each do |vertex|
                                            p1 = [x, y, z]
                                            p2 = vertex
                                            line = ents.add_line p1,p2
                                          end
                                        end    
                                      end
                                      sel.clear
                                    model.commit_operation
                                    

                                    Note: I also find strange that new edges don't intersect with each othere making a new vertex...why is this?

                                    [url=https://www.sketchupcode.com/:z3kqsidd]My Extensions ...[/url:z3kqsidd]

                                    1 Reply Last reply Reply Quote 0
                                    • renderizaR Offline
                                      renderiza
                                      last edited by

                                      If the second time you apply script you do each face individually inside a group, then you get very pretty geometry. πŸ˜›

                                      http://s15.postimg.org/3zyfm7ayz/pp1.jpg

                                      [url=https://www.sketchupcode.com/:z3kqsidd]My Extensions ...[/url:z3kqsidd]

                                      1 Reply Last reply Reply Quote 0
                                      • JQLJ Offline
                                        JQL
                                        last edited by

                                        Renderiza,

                                        That's not success, that's brilliance!

                                        I'll start designing tiles right away...

                                        Thanks!

                                        JQL

                                        www.casca.pt
                                        Visit us on facebook!

                                        1 Reply Last reply Reply Quote 0
                                        • renderizaR Offline
                                          renderiza
                                          last edited by

                                          Wish you success or better yet brilliance in your designs! πŸ’š

                                          [url=https://www.sketchupcode.com/:z3kqsidd]My Extensions ...[/url:z3kqsidd]

                                          1 Reply Last reply Reply Quote 0
                                          • pilouP Offline
                                            pilou
                                            last edited by

                                            you make big progress and be near the success! β˜€

                                            @unknownuser said:

                                            Not as easy as using the center of face.bounds.center is it. πŸ˜•

                                            If I find the best way to do it with code I'll let you know.

                                            Why not take the image of the first post as "pseudo code" ?

                                            • Calculate the point x,y,z crossing of 2 lines from 2 vertices to their middle opposite edge
                                              (point can be also the calculate center of gravity of 3 points! πŸ˜‰
                                            • draw 3 lines from this point to the 3 vertices

                                            Tig has finalized his "triangulate" method!
                                            Medians stay in race! πŸ˜„

                                            Triangulate all faces by Tig (function was repeated for a sort of fractal system - only 3 triangles at start)
                                            nomedian.jpg

                                            Frenchy Pilou
                                            Is beautiful that please without concept!
                                            My Little site :)

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

                                            Advertisement