[Plugin] #SelectionHideShow.rb v1.1
-
#SelectionHideShow.rb adds a context-menu sub-menu with various Selection, Hide and UnHide tools, such as 'Invert Selection', 'Hide/UnHide Selection', 'UnHide All Active' etc...#SelectionHideShow.rb
Edit:
v1.1 Now tests with ".is_a?" to speed-up and avoids testing already unique groups[after AlexM's advice]. -
Very practical!
-
Great!
I asked for this a while ago.
I suggested it was something that should be a standard feature in SketchUp
Now it is. Thanks for another great contribution.Regards
Mr S -
Thanks TIG. However I expected to see Reverse Faces in there too.
-
Thanks TIG, and I second the request made by Boofredlay.
erikB -
Reverse and Orient faces is already built-in on the context-menu - near the top [as are some other 'select tools']... adding them would only duplicate stuff...
-
TIG
Why constantly to use the method of group_miner, when in him practically is not there a necessity?
Why to apply properties to entity, when are new properties of entity equal to the applied properties?
These questions are linked at a speed of implementation of script on the large scenes.Example of considerable increase of speed of implementation of script:
class Sketchup;;Group def definition self.entities.parent end end def SelectionTool;;group_miner(ents) ents.each do |e| if e.is_a? Sketchup;;Group e.make_unique if e.definition.instances.length > 1 SelectionTool;;group_miner(e.entities) end end end
At the use of method of typename speed of implementation of script goes down in once or twice!
It would be desirable to correct these shortages... -
Alex, I have not run any tests on typename, but I use it regularly. Are you saying that it is much slower than .is_a?
I'd rather use the faster method too, I just never knew there was a faster one. I'm sure TIG isn't using a slow method on purpose either...
Chris
-
@chris fullmer said:
Alex, I have not run any tests on typename, but I use it regularly. Are you saying that it is much slower than .is_a?
ChrisEasily to check...
The more elements in the model - the better results script.@unknownuser said:
SpeedTest
is_a? - 0.36c
kind_of? - 0.39c
class - 0.422c
typename - 1.313cModel Statistics:
edges = 48981
faces = 8009
groups = 729
components = 365
construction_lines = 1
construction_points = 4
images = 3
section_planes = 4
texts = 4
others = 2
-
That's some interesting numbers. I've always used k
ind_of?
- wasn't aware of theis_a?
. then again, I've never tested the speed of methods either.Thanks for posting this test.
-
Maybe we could add this info to a new stickcy where we collect such useful tips and info?
-
Thanks Alex - you've probably noticed I used the .is_a? test everywhere else in the script - however, I didn't realise it was so much slower to use typename=="".
I've also incorporated my own version of your group_miner speed-up suggestion that now avoids testing groups that area already unique...I just need to edit ALL of my other scripts to change e.typename=="" to e.is_a?() !!!
Here's v1.1 http://forums.sketchucation.com/viewtopic.php?p=161963#p161963
-
@tig said:
...I didn't realise it was so much slower to use typename=="".
.....For a model ot a few kilobytes to 10 megabyte of substantial difference it is not, but my models ot 40 to 75 megabyte!
My model statistics:
@unknownuser said:
Model 68.4 Mb:
Edges 485016
Faces 128906
Component Instances 6055
Groups 3078
Section Planes 4P.S.
It was even necessary to write the analogue of SketchUp Text tool, because a standard tool begins to work very long.
-
Very good !
-
@alexmozg said:
@chris fullmer said:
Alex, I have not run any tests on typename, but I use it regularly. Are you saying that it is much slower than .is_a?
ChrisEasily to check...
The more elements in the model - the better results script.@unknownuser said:
SpeedTest
is_a? - 0.36c
kind_of? - 0.39c
class - 0.422c
typename - 1.313cModel Statistics:
edges = 48981
faces = 8009
groups = 729
components = 365
construction_lines = 1
construction_points = 4
images = 3
section_planes = 4
texts = 4
others = 2Hmm...
.kind_of?
is an alias for.is_a?
- Is that fraction of a differences just some other random outside co-incidence?
http://www.ruby-doc.org/core/classes/Object.html#M000370 -
I did a somewhat larger test. By the looks of it
.is_a?
,.kind_of?
and.class
are pretty much the same. I take the differences due to other system factors at the time of execution.AT - SpeedTest:
is_a? - 0.89c
kind_of? - 0.782c
class - 0.875c
typename - 2.297cModel Statistics:
edges = 159630
faces = 61300
groups = 0
components = 1000
construction_lines = 0
construction_points = 0
images = 0
section_planes = 0
texts = 0
others = 0 -
Much larger test. (did have a few programs open while I did the tests.)
AT - SpeedTest:
is_a? - 16.297c
kind_of? - 16.141c
class - 18.703c
typename - 88.703cModel Statistics:
edges = 8396595
faces = 1026520
groups = 52643
components = 526428
construction_lines = 2
construction_points = 4
images = 0
section_planes = 0
texts = 0
others = 0 -
a tool bar will be very great with this script
-
i think i need this plugin
thank you in advance, sir. -
[highlight=#ffff40:2a81c421]NICE[/highlight:2a81c421]!!
Advertisement