DenisHen Posté(e) le 7 juin 2006 Posté(e) le 7 juin 2006 Bonsoir à tous, Voilà, j'ai fais une petite routine qui écrit un texte dans le dessin...Mais ça ne fonctionne pas... La phrase dans mon menu : (phtexte "Bonjour" "2.5") J'ai essayé 2.5 et "2.5" Ma routine :(defun c:_PhTexte ( Text Haut / ) (if (= (setq Ech (vlax-ldata-get "Phalene" "Ech1")) nil) (PhEch)) (setq p1 (getpoint "\nPoint d'insertion du text : ")) (setq p2 (getpoint "\nOrientation du texte : ")) (command "-texte" "j" "mc" p1 (/ (* Haut Ech) 1000.0) p2 Text) ) Pour le cas ou cela serve à quelqu'un...( Grand merci à (gile) )(defun PhEch () (setq Ech (vlax-ldata-get "Phalene" "Ech1")) (if Ech ;; si Ech est déjà défini (progn (if (setq Ech (getreal (strcat "Ancienne échelle (1/" (fix (rtos Ech)) ") - Nouvelle échelle: 1/"))) ;; Si Ech est re-défini (vlax-ldata-put "Phalene" "Ech1" Ech) ) ;_ Fin de if (princ (strcat "\nEchelle = 1/" (rtos (vlax-ldata-get "Phalene" "Ech1"))) ) ) ;_ Fin de progn ;; si Ech n'est pas encore défini (progn (setq Ech (getreal "Échelle du dessin 1/")) (vlax-ldata-put "Phalene" "Ech1" Ech) (princ (strcat "\nEchelle = 1/" (rtos (vlax-ldata-get "Phalene" "Ech1"))) ) ) ) (princ) )Merci pour votre aide... Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Patrick_35 Posté(e) le 7 juin 2006 Posté(e) le 7 juin 2006 SalutPour faire un calcul, il faut des nombres, soit des entiers ou des réelsPour le "2.5", donc un (atof "2.5), sinon, pas besoin de convertir @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
DenisHen Posté(e) le 7 juin 2006 Auteur Posté(e) le 7 juin 2006 Donc, (phtexte "Bonjour" "2.5") est bon, et je n'ai qu'à ajouter dans la routine : (setq Haut (atof Haut)) Merci Patrick_35, je cours modifier ... Denis Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
DenisHen Posté(e) le 7 juin 2006 Auteur Posté(e) le 7 juin 2006 Bon, je n'y arrive toujours pas... Ma phrase dans le menu reste la même, Mais j'ai changé la routine comme suit : (defun c:_PhTexte (Text Haut / ) (setq Haut (atof Haut)) (if (= (setq Ech (vlax-ldata-get "Phalene" "Ech1")) nil) (PhEch)) (setq p1 (getpoint "\nPoint d'insertion du text : ")) (setq p2 (getpoint p1 "\nOrientation du texte : ")) (command "-texte" "j" "mc" p1 (/ (* Haut Ech) 1000.0) p2 Text) ) Mais AutoCAD me répond : Commande: (phtexte "Bonjour" "2.5") ; erreur: no function definition: PHTEXTE J'utilise mal atof ? Merci, Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
Patrick_35 Posté(e) le 7 juin 2006 Posté(e) le 7 juin 2006 Non, c'est plutôt la fonction phtexte qui n'est pas chargée @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
bonuscad Posté(e) le 7 juin 2006 Posté(e) le 7 juin 2006 (phtexte "Bonjour" "2.5") Quand tu fais ceci en ligne de commande, cela veut dire que tu appeles une fonction définie comme suit:(defun phtexte ( arg1 arg2 / var1 var2......) ........) Etant donné que tu as défini ta fonction comme suit (pour qu'elle soit identique à une commande, c'est à dire que son appel peut se faire sans paranthèse en ligne de commande: PHTEXTE)(defun c:phtexte (arg1 arg2 / var1 var2 .....) ......) Tu dois dans ce cas (comme tu soumet des arguments faire l'appel comme suit: (c:phtexte "Bonjour" "2.5"), tu peut faire aussi ce genre d'appel sans argument, si la fonction n'en possède pas. En résumé une fonction défini avec C: peut s'appeler directement avec le nom de la commande ou entre paranthèse (C:mafonction) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
DenisHen Posté(e) le 7 juin 2006 Auteur Posté(e) le 7 juin 2006 Waow... Merci à tous... C'est parfait ! ! Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
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