• Login
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
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.
  • O Offline
    oganocali
    last edited by 18 Jul 2015, 10:32

    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
    • T Offline
      TIG Moderator
      last edited by 19 Jul 2015, 10:03

      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
      • O Offline
        oganocali
        last edited by 20 Jul 2015, 09:33

        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
        • J Offline
          JQL
          last edited by 20 Jul 2015, 09:51

          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
          • T Offline
            TIG Moderator
            last edited by 20 Jul 2015, 16:32

            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
            • J Offline
              JQL
              last edited by 20 Jul 2015, 19:16

              @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
              • O Offline
                oganocali
                last edited by 22 Jul 2015, 13:15

                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
                • J Offline
                  JQL
                  last edited by 22 Jul 2015, 15:08

                  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
                  • O Offline
                    oganocali
                    last edited by 25 Jul 2015, 14:16

                    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
                    • J Offline
                      JQL
                      last edited by 25 Jul 2015, 18:21

                      @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
                      1 / 1
                      • First post
                        6/10
                        Last post
                      Buy SketchPlus
                      Buy SUbD
                      Buy WrapR
                      Buy eBook
                      Buy Modelur
                      Buy Vertex Tools
                      Buy SketchCuisine
                      Buy FormFonts

                      Advertisement