Pako Posté(e) le 1 mars 2005 Posté(e) le 1 mars 2005 Public Sub SelectLayer()'***********************************************************' Ce programme sélectionne tous les objets sur le calque "0"' Pour avoir tous les objets de l'espace courante : Select objects: _all' Enlever tous les "...." qui sont utilisés pour imbrication' pako35@hotmail.com ************************************************************....Dim objObject As AcadObject....Dim objSelectSet As AcadSelectionSet....Dim dataCodeDxf(0) As Variant....Dim nCodeDxf(0) As Integer....Dim dbConteur As Double ....On Error Resume Next....nCodeDxf(0) = 8: dataCodeDxf(0) = "0" 'NOM DU CALQUE ....Set objSelectSet = ThisDrawing.SelectionSets.Add("GroupeSelect")....If Err.Number <> 0 Then........Set objSelectSet = ThisDrawing.SelectionSets("GroupeSelect")........objSelectSet.Clear........Err.Clear....End If....objSelectSet.SelectOnScreen nCodeDxf, dataCodeDxf ....For Each objObject In objSelectSet........dbConteur = dbConteur + 1....Next ....MsgBox ("Le nombre d'objet sur le calque " & dataCodeDxf(0) & " est de " _....& dbConteur & ". Vive CADxp !")....objSelectSet.Delete '*********************************************************** End Sub l'ACADien ! http://img124.exs.cx/img124/7999/start.gif
Invité Sylvainhinard Posté(e) le 2 mars 2005 Posté(e) le 2 mars 2005 Bonjour Pako, Excuse moi j'ai oublié de te remercier l'autre fois pour ton programme. Je suis un petit nouveau en programmation... Pourrait tu commenter un peu ton programme j'avoue que cela me serais d'une grande aide... Encore merci pout tout Sylvain
Invité Sylvainhinard Posté(e) le 2 mars 2005 Posté(e) le 2 mars 2005 En fait, en executant ton code il y a une partie que je souhaiterai que tu me détaille : If Err.Number <> 0 ThenSet objSelectSet = ThisDrawing.SelectionSets("GroupeSelect")objSelectSet.ClearErr.Clear Quelle est l'utilité de faire cette vérification? D'autre part pendant l'execution du programme il faut choisir les objet à l'ecran via : objSelectSet.SelectOnScreen nCodeDxf, dataCodeDxf . Serait il possible de prendre tout les objet du dessin et de les passer en revue? Merci encore. ;)
Pako Posté(e) le 2 mars 2005 Auteur Posté(e) le 2 mars 2005 Encore merci pout tout Il me fait toujours plaisir d'aider un membre donateur .... ;) If Err.Number <> 0 ThenSet objSelectSet = ThisDrawing.SelectionSets("GroupeSelect")objSelectSet.ClearErr.Clear L'objSelectSet va servir comme un panier dans lequel, on va y rajouter des éléments plus loin dans le code. Cette nouvelle sélection SelectionSet est initialement vide (Clear); on va la remplit par l'une des méthodes acSelectionSetXXX (ex: AcSelectionSetAll, ect...) ou par l'utilisateur de l'une des méthodes SelectXXX (ex: SelectOnScreen, ect...). Donc après cette vérification, nous avons un panier vide qui est prêt à recevoir des éléments....:casstet: D'autre part pendant l'execution du programme il faut choisir les objet à l'ecran via : objSelectSet.SelectOnScreen nCodeDxf, dataCodeDxf . Serait il possible de prendre tout les objet du dessin et de les passer en revue? Oui , avec une sélection comme celle-ci : objSelectSet.Select [/b]acSelectionSetAll[/b] , , , nCodeDxf, dataCodeDxf :exclam: A+ l'ACADien ! http://img124.exs.cx/img124/7999/start.gif
Pako Posté(e) le 2 mars 2005 Auteur Posté(e) le 2 mars 2005 Serait il possible de prendre tout les objet du dessin et de les passer en revue? Tu peux lors de la sélection à l'écran, taper : _ALL (ex: Select objects: _all )(Tous les objets de l'espace courrant seront passer en revue) ;) l'ACADien ! http://img124.exs.cx/img124/7999/start.gif
didier Posté(e) le 2 mars 2005 Posté(e) le 2 mars 2005 coucou je viens me prosterner en rampant sur les genouxpour remercier le Camarade PAKO, car je ne me suis jamais posé cette question de la vérification de l'objet Sélection.Dorénavant je vais copier-coller ce truc dans mes SUB, et grâce à l 'entente cordiale Franco-Canadienne, on Canadienno-Française, j'aurai moins de messages d'erreurs. bon, ben de ce pas, je vais à la pharmacie, car je me suis ruiné les genoux,je me relève et je te salue PAKO. amicalement Éternel débutant... Mon site perso : Programmer dans AutoCAD
Pako Posté(e) le 2 mars 2005 Auteur Posté(e) le 2 mars 2005 je viens me prosterner en rampant sur les genouxpour remercier le Camarade PAKO, Inutile de te prosterner, cher Didier ... :red:On est tous ici'tte pour s'entraider ! Et comme dit le proverbe : La Connaissance s'accroît quand on la partage ! .... ;) amicalement, l'ACADien ! l'ACADien ! http://img124.exs.cx/img124/7999/start.gif
DenisHen Posté(e) le 15 février 2011 Posté(e) le 15 février 2011 Salut à tous... Génial ce code, il m'enlève une bûche du pied... Mais comment faire pour fouiller aussi les attribut de certains blocs ? Je fait un quantitatif de maisons individuelles et ma menuiserie, comme d'autre corps d'états, sont des blocs avec des attributs (matière, taille, prix...) Merci encore... Et bon partage à tous... DenisH... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant