Aller au contenu

[Résolu] - Différencier un Solide3d modifié d'un solide de type "Boîte"


Messages recommandés

Posté(e)

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

Posté(e)

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

Posté(e)

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

Posté(e)

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

Posté(e)

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

Posté(e)

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

Posté(e)

Bonjour,

 

Regarde la fonction

vl-catch-all-apply 

et

vlax-method-applicable-p

qui 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

 

 

Posté(e)

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!

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é