[Plugin] #SelectionHideShow.rb v1.1
-
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]!!
-
I have lost a component somewhere in my drawing
to find it, I pasted a second one in a visible place
when I select this, the entity info clearly says Component (2 in model)
with the components window context menu, I selected all components
I thought then, if I could hide the rest of the model, I would easily spot where the original one is
but view/hide rest of model doesn't work unless you are inside the component,
which means you can select only one of both, and the other one is deselected
please help
Frank -
View > Hidden Geometry ON will show all hidden objects.
If it's on a Layer that is OFF you won't see it though...
The Outliner will also show all instances that are on ON Layers...
You can select them in the Outliner and they select in the model.
Advertisement