• Login
sketchucation logo sketchucation
  • Login
πŸ€‘ SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

Explode and regroup script?

Scheduled Pinned Locked Moved Extensions & Applications Discussions
extensions
26 Posts 3 Posters 4.2k Views
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.
  • S Offline
    sdmitch
    last edited by 18 Sept 2016, 21:34

    The problem is some groups being dropped on "top" of others already moved to the surface.

    So to avoid that conflict, I have modified the previous code I posted.

    mod = Sketchup.active_model
    sel = mod.selection
    gat = []
    sel.grep(Sketchup;;Group){|g|
     o = [g.bounds.center.x,g.bounds.center.y,g.bounds.min.z]
     p = mod.raytest([o,[0,0,-1]])[0];
     gat<<[g,Geom;;Transformation.new(p-g.bounds.min)] if p
    }
    gat.each{|g| g[0].transform!(g[1])}
    
    

    badra 5 skp 8.skp

    Nothing is worthless, it can always be used as a bad example.

    http://sdmitch.blogspot.com/

    1 Reply Last reply Reply Quote 0
    • G Offline
      gregswk
      last edited by 18 Sept 2016, 21:57

      @sdmitch said:

      The problem is some groups being dropped on "top" of others already moved to the surface.

      So to avoid that conflict, I have modified the previous code I posted.

      mod = Sketchup.active_model
      > sel = mod.selection
      > gat = []
      > sel.grep(Sketchup;;Group){|g|
      >  o = [g.bounds.center.x,g.bounds.center.y,g.bounds.min.z]
      >  p = mod.raytest([o,[0,0,-1]])[0];
      >  gat<<[g,Geom;;Transformation.new(p-g.bounds.min)] if p
      > }
      > gat.each{|g| g[0].transform!(g[1])}
      > 
      

      Oh my God, thank you so much, sdmitch!!
      It is working perfectly!! πŸ˜„ πŸ‘ πŸ‘ πŸŽ‰

      1 Reply Last reply Reply Quote 0
      • P Offline
        pilou
        last edited by 18 Sept 2016, 22:13

        Always amazazed that few line can make! Bravo! 😎

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

        1 Reply Last reply Reply Quote 0
        • G Offline
          gregswk
          last edited by 18 Sept 2016, 23:09

          @sdmitch said:

          The problem is some groups being dropped on "top" of others already moved to the surface.

          So to avoid that conflict, I have modified the previous code I posted.

          mod = Sketchup.active_model
          > sel = mod.selection
          > gat = []
          > sel.grep(Sketchup;;Group){|g|
          >  o = [g.bounds.center.x,g.bounds.center.y,g.bounds.min.z]
          >  p = mod.raytest([o,[0,0,-1]])[0];
          >  gat<<[g,Geom;;Transformation.new(p-g.bounds.min)] if p
          > }
          > gat.each{|g| g[0].transform!(g[1])}
          > 
          

          I'm sorry, Sdmitch... There is still one problem.. πŸ˜•
          Capture2.JPG
          Capture3.JPG
          The groups are moving by Z axis perfectly, but when it goes down to terrain, they are changing their X and Y positions. They are messing with each other.. πŸ˜•
          Why is it happening?

          1 Reply Last reply Reply Quote 0
          • S Offline
            sdmitch
            last edited by 19 Sept 2016, 01:08

            @gregswk said:

            @sdmitch said:

            The problem is some groups being dropped on "top" of others already moved to the surface.

            So to avoid that conflict, I have modified the previous code I posted.

            mod = Sketchup.active_model
            > > sel = mod.selection
            > > gat = []
            > > sel.grep(Sketchup;;Group){|g|
            > >  o = [g.bounds.center.x,g.bounds.center.y,g.bounds.min.z]
            > >  p = mod.raytest([o,[0,0,-1]])[0];
            > >  gat<<[g,Geom;;Transformation.new(p-o)] if p
            > > }
            > > gat.each{|g| g[0].transform!(g[1])}
            > > 
            

            I'm sorry, Sdmitch... There is still one problem.. πŸ˜•
            [attachment=2:kcc5danh]<!-- ia2 -->Capture2.JPG<!-- ia2 -->[/attachment:kcc5danh]
            [attachment=1:kcc5danh]<!-- ia1 -->Capture3.JPG<!-- ia1 -->[/attachment:kcc5danh]
            The groups are moving by Z axis perfectly, but when it goes down to terrain, they are changing their X and Y positions. They are messing with each other.. πŸ˜•
            Why is it happening?

            Oops. My bad. I forgot to change the "origin" in the transformation. Code has been fixed.


            badra 5 skp 8.skp

            Nothing is worthless, it can always be used as a bad example.

            http://sdmitch.blogspot.com/

            1 Reply Last reply Reply Quote 0
            • G Offline
              gregswk
              last edited by 19 Sept 2016, 02:59

              @sdmitch said:

              Oops. My bad. I forgot to change the "origin" in the transformation. Code has been fixed.

              Wonderful, Sdmitch!
              Now it is perfect!!! πŸŽ‰ πŸŽ‰
              Thank you so much!!! πŸ˜„

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

              Advertisement