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

    My request: Auto intersect on/off option

    Scheduled Pinned Locked Moved SketchUp Feature Requests
    sketchup
    10 Posts 3 Posters 8.9k Views 3 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.
    • oganocaliO Offline
      oganocali
      last edited by

      Hi, long time no write,

      As of now auto intersect check is (apparently) performed after each edit operation that can potentially create a topological connection (i.e. checks for vertices coinciding, with edges and vertices, edges with vertices, edges and faces etc, after each location change operation).

      During 3D location change operations (move, resize, rotate, explode) I would like to be able to avoid Sketchup doing its automatic intersect operation. The check for vertices and edges and faces interacting with other similar objects is a computationally expensive operation, and it takes too much time for large mesh(es). Funny thing is Sketchup can not perform this operation properly anyway (it sometimes misses connections (one might argue it is impossible to do this perfectly)) and even create unintended connections (during a rotate when two meshes overlaps sometimes two vertices get too close and you get unintended connections).

      Auto intersect "on" option would keep the current behavior of Sketchup, If the user is does not want/need new topological connections during a location change operation, this option would be turned "off" giving a faster and cleaner operation.

      This issue came up during Tgi3D 64 bits port (which is now awailable), we were discussing what would give skethup a boost.... (we were expecting more from 64 bit Sketchup)

      Thanks,

      Ogan Ocali

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

        As part of your broader code...

        A toggle ON/OFF...

        
        if Sketchup.break_edges?
          Sketchup.break_edges = false
        else
          Sketchup.break_edges = true
        end
        
        

        Or to remember the current setting, switch it OFF and then reset as it was at end...

        
        ### at start remember the current setting, in Tool.new() [aka .initialize()]
        @break_edges = Sketchup.break_edges?
        ### then before using the tool switch it OFF, perhaps in Tool.activate()
        break_edges = false
        ### later on, as you exit from the tool, e.g. on Tool.deactivate(), cancel etc...
        Sketchup.break_edges = @break_edges
        
        

        TIG

        1 Reply Last reply Reply Quote 0
        • oganocaliO Offline
          oganocali
          last edited by

          Well, I don't think I was able explain my request. I want to be able to avoid Sketchup doing its auto intersect operation ( as an option ). This request is related to the performance issue of Sketchup.

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

            And what would happen when you'd turn that ON again. Would existing edges intersect each other, or only new edges?

            Most of the time I think Sketchup works fine enough and, apart big imports, the cases where such operations happen are mostly due to plugins. So I sort of agree with TIG and that toggle makes sense mainly inside plugin operations.

            For what I could understand, both intersection and inference systems are the ones making SU slower than most other modelling apps... but they are also what makes it stand apart and one of the most intuitive.

            www.casca.pt
            Visit us on facebook!

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

              I gave you two variants...
              One to toggle the current settings.
              One to switch the setting OFF [e.g. inside your tool] and remember what the user had set and revert to that when they exit your tool...

              I cannot see how else you might do this...
              A simple screw_up.rb file added to the Plugins folder with a single line:
              Sketchup.break_edges = false
              BUT then you'd upset all of your user who would give logically expect the auto-intersect results in their drawing most of the time...
              BUT you add that script into your toolset, and YOU take the complaints it creates...

              A simple 'toggle' tool - perhaps with a 'toolbar' operation - in my first example - does that already πŸ˜•

              TIG

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

                @tig said:

                A simple 'toggle' tool - perhaps with a 'toolbar' operation - in my first example - does that already πŸ˜•

                Tig now that I think of it, I think I've seen something of that sorts by eneroth... It should be at extension warehouse though... wich I visit seldomly

                www.casca.pt
                Visit us on facebook!

                1 Reply Last reply Reply Quote 0
                • oganocaliO Offline
                  oganocali
                  last edited by

                  Sorry to bring this up again but:

                  Firstly I am asking this feature as a user and not a plugin developer.

                  I agree that the " intersection and inference systems " of Sketchup is a great benefit to the novice user but there are occasions where they hurt rather than help the more advanced (potentially paying) user.

                  As for the coinciding edges after move the user would either have to select the relevant region and perform an intersect operation or make some kind of repair, or even leave it as it is.

                  I do not see how people can work with large meshes in Sketchup without this feature I am asking.

                  It should be relatively easy to implement and it should alleviate the performance issue that comes up frequently.

                  Admittedly there is the danger that a novice user could fuddle with this option and start complaining about behavior, but that is surmountable.

                  regards,
                  Ogan Ocali

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

                    did you search for Eneroth's plugin. Basically it toggles edge merging on and off so it does exactly what you want.

                    I'd say it's user implemented user request...

                    www.casca.pt
                    Visit us on facebook!

                    1 Reply Last reply Reply Quote 0
                    • oganocaliO Offline
                      oganocali
                      last edited by

                      Thanks to TIG and JQL.

                      From the ruby console I changed the value of Sketchup.break_edges and performed a few run time tests on big meshes. I could not oberve any time difference between true and false values of Sketchup.break_edges variable. Apparently there is a much more costly operation that is performed at the end user move completion. I wish the testers at trimble had a few large mesh cases to push the developers for a performance improvement...

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

                        @oganocali said:

                        Thanks to TIG and JQL.

                        From the ruby console I changed the value of Sketchup.break_edges and performed a few run time tests on big meshes. I could not oberve any time difference between true and false values of Sketchup.break_edges variable. Apparently there is a much more costly operation that is performed at the end user move completion. I wish the testers at trimble had a few large mesh cases to push the developers for a performance improvement...

                        That performance improvement has been in developer's mind for ages. They've improved it over the years, the question though is that it seems the real performance issue is rooted deep within sketchup itself, and improving it without breaking sketchup is a real challenge...

                        But this is what I've been reading here and there. I also think testers should push it harder!

                        www.casca.pt
                        Visit us on facebook!

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

                        Advertisement