Aller au contenu

récupérer les infos d\'1 3d solid


Messages recommandés

Posté(e)

Bonjour à tous,

 

Sur le forum d'autodesk, j'ai trouvé une réponse partielle à ma question.

En effet, la commande soldata (voir le code ci-dessous) fonctionne correctement sur un solid 3d "normal", mais par

si le solid 3d a été coupé (commande section d'autocad), la fonction envoi un message d'erreur.

Quelqu'un a t-il une idée pour corriger la fpnction soldata afin que celle-ci fonctionne correctement quelque soit le solid 3d.

 

lien du forum autodesk oû j'ai trouvé cette fonction soldata

http://forums.autodesk.com/t5/Visual-LISP-AutoLISP-and-General/Determine-cylinder-properties-from-a-3DSolid/m-p/865334

 

code = fonction soldata

 

(defun C:SOLDATA ()

 

(setq idSolid (car (entsel "\nSelect a 3DSolid: ")))

 

(setq Solid (entget idSolid))

 

(setq idHistory

(cdr (assoc 350 (member '(100 . "AcDb3dSolid") Solid)))

)

 

(setq History (entget idHistory))

 

(setq idEvalGraph

(cdr (assoc 360 (member '(100 . "AcDbShHistory") History)))

)

 

(setq EvalGraph (entget idEvalGraph))

 

(setq idEvalExpr

(cdr (assoc 360 (member '(100 . "AcDbEvalGraph") EvalGraph)))

)

 

(setq EvalExpr (entget idEvalExpr))

 

(textscr)

 

(princ "\n\n3DSOLID Primitive data:\n")

 

(foreach pair EvalExpr

(print pair)

)

(princ "\n")

 

(princ)

)

 

 

 

Merci d'avance pour vos réponses.

 

 

renac

 

:)

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é