-36%
Le deal à ne pas rater :
Aspirateur balai sans fil Dyson V8 Origin
254.99 € 399.01 €
Voir le deal

[VB script] Inverser la sélection

Aller en bas

[VB script] Inverser la sélection Empty [VB script] Inverser la sélection

Message  dh42 Sam 10 Aoû 2013 - 1:47

Salut,

Voici un nouveau script permettant d'inverser la sélection (des objets de dessin)
Sauver le avec l’extension .vbs dans votre dossier script de Cambam.

Code:
'invert selection - dh42 2013

sub main

 dim ent as Entity
 dim ID as integer
 dim rep as boolean = false

CamBamConfig.Defaults.ReloadTreeAfterScript = false

 ' store data for actual selection
 dim oldselection as ArrayList = new ArrayList()

 for each ent in view.SelectedEntities

 oldselection.Add(ent)

 next ent


 'select all
 view.SelectAllVisibleGeometry()

 dim invertselect as ArrayList = new ArrayList()

 'scan all the objects
 for each ent in view.SelectedEntities
 
rep = scanID(ent.ID, oldselection) ' test if ID exist in old selection
 
if rep = false then 'not found
 invertselect.Add(ent) ' add the object to the new list
 end if

 next ent

 view.Select(invertselect)

end sub

'--------------------------------------------------------------------

function scanID( ID as integer, oldsel as ArrayList ) as boolean
 
'scan the old selection, if ID match, return true, else false

 dim ent as Entity

 for each ent in oldsel
 
if ID = ent.ID then 'match found
 return true
 exit function
 end if

 next ent

 return false 'no match found

end function
Utilisez la touche F5 pour lancer le code (la fenêtre de code doit être sélectionnée)











Unable to display content. Adobe Flash is required.


++
David

_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 25653
Points : 38362
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

[VB script] Inverser la sélection Empty Re: [VB script] Inverser la sélection

Message  dh42 Mar 10 Sep 2013 - 15:35

Salut,

correction d'un bug dans le script ci-dessus (les objets étaient sélectionnés à l'écran, mais pas dans l'arborescence, ce qui rendait la sélection inutilisable)

Recopiez tout le code ci dessous, ou changez votre script existant ; il faut ajouter la ligne

CamBamConfig.Defaults.ReloadTreeAfterScript = false

(4 ieme ligne dans la fonction main ; voir ci dessus)

++
David

_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 25653
Points : 38362
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum