LElemurien Posté(e) le 3 septembre 2020 Posté(e) le 3 septembre 2020 Bonjour à tous, J'essaie de créer un programme lisp et j'ai un problème pour différencier un Solide 3d modifié d'un solide de type "Boîte". Je m'explique : mon but est de pouvoir récupérer la valeur de la propriété "Longueur" sur un solide de type "Boîte" pour cela pas de souci j'utilise "getpropertyvalue", le problème c'est que parfois j'ai des solides 3D modifiés et donc je ne peux pas leur appliquer la fonction "getpropertyvalue" car elle n'existe pas et cela me plante mon programme avec ce commentaire : ; erreur: Demande ADS erronée J'aimerai donc différencier ces 2 objets pour pouvoir exclure les objets solide 3D modifiés mais je ne vois pas comment faire. J'ai essayer entre autre avec (/= (getpropertyvalue ent "SolidType") "Boîte") mais j'ai le même commentaire : erreur: Demande ADS erronée Si quelqu'un aurait un début de piste cela m'aiderai beaucoup
Aleck_Ultimate Posté(e) le 3 septembre 2020 Posté(e) le 3 septembre 2020 Salut. Alors mes compétence en codage sont très mince et je manque de pratique, mais est-ce que en mettant FILEDIA à 0 tu peut utiliser une fonction if pour relancer la boucle en ignorant l'objet en cas de ce message d'erreur ? Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux. Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage ! Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;]) Utilisateur d'AutoCAD 2021 sous Windows 10
lecrabe Posté(e) le 3 septembre 2020 Posté(e) le 3 septembre 2020 Hello Mais le Grand Maitre Gilles sera sans doute ton sauveur !? https://cadxp.com/topic/48808-3dsolid-infos/page__pid__292423 Magnifique Lisp qui affiche les Proprietes des 3DSOLID !! ... Msg du 15 Mars 2020 17h13 ... D ailleurs je crois que quelqu un que tu connais a participe a CE Sujet !? LA SANTE (Stay Safe), Bye, lecrabe "triste"Automne 2020, la retraite Autodesk Expert Elite Team
LElemurien Posté(e) le 3 septembre 2020 Auteur Posté(e) le 3 septembre 2020 Merci pour vos réponses @Aleck , je ne suis pas non plus un expert et malheureusement je ne vois pas trop à quoi cela m'avancerai de mettre filedia à 0 il faut que je creuse le sujet. et j'ai bien justement des fonctions if qui me permette de choisir tel ou tel objet mais c'est là que cela coince je voudrais trouver une méthode pour différencier ces 2 types de 3D Solide. Mais j'aime bien l'idée de si "j'ai cette erreur" "erreur: Demande ADS erronée" "et bien "ne pas en prendre compte" (avec if et while mais je ne sais pas si c'est possible à creuser...)@Lecrabe,(rires forts) je connais ce personnage, et oui j'ai déjà regardé ce post qui est dans mes favoris et que j'ai déjà utilisé mais le problème c'est que ce LISP fonctionne pas avec des Solide 3D modifiéc'est pour cela que je voudrais avoir une méthode pour différencier ces 2 types de 3D Solide. Et je suis à des années lumières de bien tout décrypté ces LISP mais j'y travaille...Merci à vous je vous tiens au courant si je trouve une solution à mon problème
Aleck_Ultimate Posté(e) le 3 septembre 2020 Posté(e) le 3 septembre 2020 Ok, juste oublie FILEDIA. J'avais en tête un message d'erreur dans un pop-up. J'avais complètement zappé que une erreur dans une fonction LISP retourne juste une chaîne en ligne de commande. C'est pour te dire à quel point je manque de pratique. Je suis dysorthographique alors lâchez-moi les basques avec ça, je fait déjà de mon mieux. Membre d'Extinction Rebellion, car pour sauver le monde il n'est jamais trop tard, amour et rage ! Pour écrire un vraie point médian (e·x·e·m·p·l·e) [Alt + 0183] ou ajout d'un raccourci clavier personnalisé (ex. [AltGr + ;]) Utilisateur d'AutoCAD 2021 sous Windows 10
LElemurien Posté(e) le 3 septembre 2020 Auteur Posté(e) le 3 septembre 2020 Pas de souci @Aleck Je précise une chose car je me rends compte que ce n'est peut-être pas très clair, mais quand je parle de solide 3D modifié, c'est un solide standard de type "Boîte" "Extrusion" ou autre qui à été modifié par exemple avec une fonction de soustraction, déplacer des faces ou autre, ce qui me donne dans la palette des propriétés une perte des données (du menu Géométrie → "Type de solide, Longueur , Hauteur et autre"). D'où l'erreur Demande ADS erronée car ces propriétés sont inexistantes. Voilà pour les précisions Espérant être plus clair sur le sujet
Olivier Eckmann Posté(e) le 4 septembre 2020 Posté(e) le 4 septembre 2020 Bonjour, Regarde la fonction vl-catch-all-apply et vlax-method-applicable-pqui permet de tester/récupérer une erreur au cas où tu essaies d'appliquer une méthode Olivier
LElemurien Posté(e) le 4 septembre 2020 Auteur Posté(e) le 4 septembre 2020 Bonjour, Regarde la fonction vl-catch-all-apply et vlax-method-applicable-pqui permet de tester/récupérer une erreur au cas où tu essaies d'appliquer une méthode Olivier Bonjour, merci pour les infos je vais regarder tout ça ! Bonne journée
LElemurien Posté(e) le 5 septembre 2020 Auteur Posté(e) le 5 septembre 2020 Bonjour, Merci à tous pour vos réponses j'ai réussi à m'en sortir avec : vl-catch-all-error-p et vl-catch-all-apply. En effet en re-regardant bien le code de Gille et les infos que vous m'avez fourni j'ai résolu mon problème. Merci à tous et bon weekend!
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