kisscool73 Posté(e) le 8 octobre 2008 Posté(e) le 8 octobre 2008 Salut,tous le monde, Je programme en VBAJe ne connait pas le lisp,mais promis je mis met le plus tot possibleje suis souvant bloqué en VBA et les possibilité en lisp me semble plus large?? quelqu'un pourrait me dire comment sortir des entités d'un blocksur autocad_ refedit selection du block (editer un block pas de probleme en vba)puis _refset (ajouter/supprimer) _rem (ajouter pas de souci en vba .add ou insertblock ; sortir du block -->>????)selection des entitées à sortir du blocksmais je ne trouve pas l'équivalent en vba le but est de sortir de tous les blocks insérés dans l'espace objettous les blocks portant le nom "*nom*" et de les retourner dans l'espace objet au même point insertion,echelle,calque merci
sechanbask Posté(e) le 8 octobre 2008 Posté(e) le 8 octobre 2008 je fait un peu de VBA mais je ne vois pas pourquoi tu entre dans le bloc pour le retrouver... à ta place, je ferais une boucle sur tout les blocspuis un test sur chaque nom,si ouisi nonfin de la boucle je ne comprends pas pourquoi le but est de sortir de tous les blocks insérés dans l'espace objettous les blocks portant le nom "*nom*" et de les retournerdans l'espace objet au même point insertion,echelle,calque espace objet espace objet ?? je pourrais t'aider si tu veux mais je ne comprends pas tout. entre LISP et VBA, les méthodes (le fond) sont quasiment toutes les mêmes, seul le code(la forme change) P.S. fait un tour ici : http://www.cadxp.com/sujetXForum-18505.htm tu verras mon code pour le nettoyeur de plan et dedans tu trouveras la methode pour faire une boucle dans les blocs ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
kisscool73 Posté(e) le 8 octobre 2008 Auteur Posté(e) le 8 octobre 2008 en fait j'ai x blocks diffèrent avec comme nom "nom block1","nomblock2"...avec dans chaque block y blocks ayant comme nom nom du block parent & "support1","support2".. exemple : nom du block1 : "machine 1" -->ligne -->cercle -->block avec comme nom "machine 1 vis 1" -->block avec comme nom "axe" -->block avec comme nom "machine 1 vis 2" -->... nom du block2 : "machine 2"-->ligne -->cercle -->block avec comme nom "machine 1 vis 2" -->block avec comme nom "machine 2 vis 2" -->... nom du blockn : ....... je voudrais sortir mes blocks "machine 1 vis 1","machine 1 vis 2","machine 1 vis 2",... de mes block parent pour les retrouver au même endroit mais en dehors des blocks parent resultat : nom du block1 : "machine 1" -->ligne -->cercle -->block avec comme nom "axe" -->... nom du block2 : "machine 2"-->ligne -->cercle -->... nom du block3 : "machine 1 vis 1" nom du block4 : "machine 1 vis 2" nom du block5 : "machine 2 vis 1" nom du block6 : "machine 2 vis 2" nom du blockn : .......
sechanbask Posté(e) le 9 octobre 2008 Posté(e) le 9 octobre 2008 c'est donc des blocs imbriqués... je réfléchis à ton problème dans la journée mais pour moi tu n'a pas besoin d'un code lourd... un truc dans le genre devrait suffire Function formater_les_blocs() Dim objBlock As AcadBlock Dim entint As AcadEntity 'Pour tous les blocs dans la collections de blocs (et non pas dans le dessin, si non impossible de traiter les blocs impriqués) For Each objBlock In ThisDrawing.Blocks For Each entint In objBlock 'si l'entitée entint est... Select Case entint.ObjectName Case Else 'tester si c'est un bloc si oui vérifier son nom et ses coordonnées, etc. 'Debug.Print entint.ObjectName End Select 'entint.ObjectName Next entint Next objBlock ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
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