SelectStyle v2 - V3: Etendre la sélection d'objets ayant le même style.
La principale méthode de sélection par le style est d'utiliser le navigateur en cliquant sur la partie texte du nom du style. Mais vous pouvez le faire en utilisant ce script - cela élargira le choix d'inclure tous les objets du même style que celui qui est actuellement sélectionné. Pour l'utiliser, sélectionnez d'abord un objet du style que vous souhaitez cibler, puis appuyez sur la touche pour déclencher le script et tous les autres objets de ce même style seront ajoutés à la sélection.
N
|
script: /* Etendre la sélection d'objets ayant le même 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; }
|
V3 Variante sur des Sous-Objets (Orig)
script: /* Etendre la sélection aux sous-objets du même style */ 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; } }
V3 Variante sur des Sous-Objets pour les arêtes (Orig)
script: /* Etendre la sélection aux sous-objets aux arêtes du même styles */ 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; } }