Show messages: All
1-20
From: neilwilson3412
say i created a custom shape assigned a new color "style" then i used that shape to make five Boolean operations on another mesh with another "style" the beauty is it transfers the new style with those faces which makes for quick selecting
i know we can do this from clicking on the styles menu but i would love a script or command that i can hotkey please.
Image Attachments:
moi styles.JPG
From: Michael Gibson
Hi Neil, I'll need a little more information on how you want the script to function. Like in your screenshot you've got 20-something styles there, how should the script determine which particular style you want to target for selection?
- Michael
From: neilwilson3412
sorry Michael.
i just want the function to select faces with in a solid the same as you can do from pushing the yellow selection circle.
just that script so i can pick a style press a hot key and that script will run without having to move my mouse over to that tiny little yellow circle.
From: Michael Gibson
Hi Neil, re:
> just that script so i can pick a style press a hot key and that script will run without having
> to move my mouse over to that tiny little yellow circle.
The part I don't understand is the "pick a style" part, how do you want to pick the style?
Thanks,
- Michael
From: coi (MARCO)
hi,
maybe could try the SelectStyle script..
http://kyticka.webzdarma.cz/3d/moi/#SelectStyle
From: neilwilson3412
thanks for the suggestion... i have this script and use for object selection......however im looking to achieve the same result on a sub surface level within a solid ..the script you recommend does not perform that operation.
From: neilwilson3412
hi Michael,
i really hope this explains it better .... i was hoping it would be quite simple....
Image Attachments:
select-style.jpg
From: Michael Gibson
Thanks Neil, yes I think I understand now. Please try this script, does it do what you need:
script: /* Expand selection over same styles on sub objects */ var styles = new Array(); var parents = new Array(); var sel = moi.geometryDatabase.getSelectedObjects(); for ( var i = 0; i < sel.length; ++i ) { var obj = sel.item(i); if ( obj.selected ) { styles[obj.styleIndex] = true; } if ( !obj.isTopLevelObject ) { var par = obj.getTopLevelParent(); parents[par.id] = par; } } for ( var i in parents ) { var subobjs = parents[i].getSubObjects(); for ( var j = 0; j < subobjs.length; ++j ) { var subobj = subobjs.item(j); if ( subobj.isFace && styles[subobj.styleIndex] ) subobj.selected = true; } }
- Michael
From: neilwilson3412
Michael your a legend !!!!!!
it work perfect!!!!!!
thank you so much!!!
From: Michael Gibson
That's great Neil, you're welome!
- Michael
From: Frenchy Pilou (PILOU)
does this old one for V2 "On objects" works also on V3? (seems yes but want to be sure! :)
script: /* Extend the selection of objects with the same style */ var objects = moi.geometryDatabase.getObjects();var styles = new Array();for ( var i = 0; i < objects.length; ++i ) { var obj = objects.item(i); if ( obj.selected ) styles[obj.styleIndex] = true; } for ( var i = 0; i < objects.length; ++i ) { var obj = objects.item(i); if ( styles[obj.styleIndex] ) obj.selected = true; }
From: Michael Gibson
Hi Pilou, yes that one works ok on v2, v3, and v4.
- Michael
From: Frenchy Pilou (PILOU)
else i have a bug with the "sub-object" ?
From: Frenchy Pilou (PILOU)
else does this normal ?
after boolean Diff of a blue sphere from a Red Cube i have the "generative arc circle" on the result ?
So 2 "facetts" on the result!
From: Michael Gibson
Hi Pilou,
re:
> else i have a bug with the "sub-object" ?
It looks like that's from your changes with editing the comment part of the code, script code can only have ascii characters in it.
- Michael
From: Michael Gibson
Hi Pilou,
re:
> else does this normal ?
>
> after boolean Diff of a blue sphere from a Red Cube i have the "generative arc circle" on the result ?
>
> So 2 "facetts" on the result!
That's a normal result if that was where the closing "seam" edge of the sphere was at.
- Michael
From: Frenchy Pilou (PILOU)
"Seam's sphere" yes it's :)
So i suppose to rotate it before boolean Diff can solve this little disturb...
else
I correct the "sub object bug" in pasting your "English script" inside the "ShortCut" Moi editor and change comments directly !
(even with accents)
That works! :) I had previously copy / past the text from another prog... maybe this explain that! :)
From: neilwilson3412
hi Michael,
can you make another script to do the same for edges that get assigned a style.
From: Michael Gibson
Hi Neil, re:
> can you make another script to do the same for edges that get assigned a style.
Sure, please give this one a try:
script: /* Expand selection over same styles on edge sub objects */ var styles = new Array(); var parents = new Array(); var sel = moi.geometryDatabase.getSelectedObjects(); for ( var i = 0; i < sel.length; ++i ) { var obj = sel.item(i); if ( obj.selected ) { styles[obj.styleIndex] = true; } if ( !obj.isTopLevelObject ) { var par = obj.getTopLevelParent(); parents[par.id] = par; } } for ( var i in parents ) { var subobjs = parents[i].getSubObjects(); for ( var j = 0; j < subobjs.length; ++j ) { var subobj = subobjs.item(j); if ( subobj.isEdgeCurve && styles[subobj.styleIndex] ) subobj.selected = true; } }
- Michael
From: neilwilson3412
nailed it thank you!
Show messages: All
1-20