Aller au contenu

Lire la définition d\'un bloc


pros2i

Messages recommandés

Bonjour,

 

J'ai un dessin créé par Méchanical 2010.

Lorsque je l'ouvre en Autocad 2010, les rugosités créées par Méchanical sont transformées en blocs.

Je cherche un lisp qui me permettrai d'afficher la liste des rugosités avec les valeurs des rugosités, pour cela je dois lire le contenu du bloc mais je ne sais pas faire.

 

Merci

 

Pat

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Ne connaissant pas Mechanical, je ne suis pas certain de bien comprendre la demande.

Peux tu préciser et mettre en ligne un fichier contenant ces mystérieux blocs ?

 

En attendant, tu peux copier cette expression en ligne de commande pour lire les données DXF de la définition de bloc (remplacer "Nom DuBloc" par le nom du bloc)

((lambda ()
  (mapcar 'print (entget (tblobjname "block" "Nom DuBloc")))
  (textscr)
  (princ)
)
)

 

Ou celle-ci pour lister les composants du bloc

((lambda (blk / nent)
  (while (setq	nent (entnext (cond (nent) (blk))))
    (print (cdr (assoc 0 (entget nent))))
  )
  (textscr)
  (princ)
)
 (tblobjname "block" "Nom DuBloc")
)

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bonjour Gile

 

Ce qui m'intéressait de connaître, c'est le texte dans MTEXT et éventuellement de modifier le texte.

 

J'y suis arrivé grâce à ton 2ème code avec des modifications.

 

 ((lambda (blk / nent)
  (while (setq nent (entnext (cond (nent)
                                   (blk)
                             )
                    )
         )
    (print (cdr (assoc 0 (entget nent))))
    (if (= (cdr (assoc 0 (entget nent))) "MTEXT")
      (progn
        (print (cdr (assoc 1 (entget nent))))
        (setq entite (entget nent))
        (setq entite (subst (cons 1 "tot") (assoc 1 entite) entite))
        (entmod entite)
      )
    )
  )
  (textscr)
  (princ)
)
 (tblobjname "block" "NomDuBloc")
)

 

 

Merci

 

Pat

Lien vers le commentaire
Partager sur d’autres sites

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité