My request: Auto intersect on/off option

Got an idea to improve SketchUp?

My request: Auto intersect on/off option

Postby oganocali » Sat Jul 18, 2015 11:32 am

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
0
User avatar
oganocali 
 

Re: My request: Auto intersect on/off option

Postby TIG » Sun Jul 19, 2015 11:03 am

As part of your broader code...

A toggle ON/OFF...
Code: Select all
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...
Code: Select all
### 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
0
TIG
User avatar
TIG 
Global Moderator
 

Re: My request: Auto intersect on/off option

Postby oganocali » Mon Jul 20, 2015 10:33 am

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.
0
User avatar
oganocali 
 

Re: My request: Auto intersect on/off option

Postby JQL » Mon Jul 20, 2015 10:51 am

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.
0
User avatar
JQL 
Premium Member
Premium Member
 

Re: My request: Auto intersect on/off option

Postby TIG » Mon Jul 20, 2015 5:32 pm

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 :?
0
TIG
User avatar
TIG 
Global Moderator
 

Re: My request: Auto intersect on/off option

Postby JQL » Mon Jul 20, 2015 8:16 pm

TIG wrote: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
0
User avatar
JQL 
Premium Member
Premium Member
 

Re: My request: Auto intersect on/off option

Postby oganocali » Wed Jul 22, 2015 2:15 pm

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
0
User avatar
oganocali 
 

Re: My request: Auto intersect on/off option

Postby JQL » Wed Jul 22, 2015 4:08 pm

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...
0
User avatar
JQL 
Premium Member
Premium Member
 

Re: My request: Auto intersect on/off option

Postby oganocali » Sat Jul 25, 2015 3:16 pm

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...
0
User avatar
oganocali 
 

Re: My request: Auto intersect on/off option

Postby JQL » Sat Jul 25, 2015 7:21 pm

oganocali wrote: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!
0
User avatar
JQL 
Premium Member
Premium Member
 

SketchUcation One-Liner Adverts

by Ad Machine » 5 minutes ago



Ad Machine 
Robot
 



 

Return to SketchUp Feature Requests

Who is online

Users browsing this forum: No registered users and 2 guests

Visit our sponsors: