Aller au contenu

Messages recommandés

Posté(e)

Bonjour à la communauté,

 

Voilà, j'ai un petit soucis, je tente de créer un petit bout de LiSP pour, toutes les 10 incrémentations, sauvegarder mon DWG.

 

En gros, dans quelques-uns de mes LiSP, j'incrémente une variable. Lorsque j'ouvre mon DWG, elle est à 0, puis, à mesure du déroulement de différents LiSP, j'incrémente cette variable de +1. Enfin, si elle est égale ou suppérieur à 10, une sauvegarde sera effectuée...

 

Voici mon bout de code qui sera appelé depuis mes LiSP :

;;; Sauvegarde toutes les 10 opération LiSP...
(defun c:CtrlSvGrd (/)
 (princ "\nDéveloppé par Denis H.")
 (setq SvGrd (rtos (vlax-ldata-get "DenisH" "SauveGarde" 0) 0 0))
 (if (>= SvGrd 10)
   (progn (command "_qsave" "")
          (vlax-ldata-put "DenisH" "SauveGarde" 0)
   ) ;_ Fin de progn
   (setq SvGrd (+ SvGrd 1))
 ) ;_ Fin de if
 (princ)
) ;_ Fin de defun

 

Mais lorsque je l'exécute, AutoCAD me répond :

Commande: CTRLSVGRD

Développé par Denis H.; erreur: valeur d'argument incorrecte: mode rtos: 0

; redéfinir après erreur

 

Et je ne saisi pas trop... Ce doit être le (rtos qui pose problème...

 

Si quelqu'un a une idée ou une astuce, je suis preneur...

 

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)

Posté(e)

Salut...

 

Pfffff.... Effectivement... Pourquoi ? ?

 

Désolé de t'avoir dérangé pour une bétise... Et merci pour ton aide, encore une fois...

 

Pour ceux que ça peut interresser, voici une routine qui sauvegarde tous les 10 appels.

 

;;; Sauvegarde toutes les 10 opérations LiSP
(defun CtrlSvGrd (/)
 (princ "\nDéveloppé par Denis H.")
 (setq SvGrd (vlax-ldata-get "DenisH" "SauveGarde" 0))
 (if (>= SvGrd 10)
   (progn (command "_qsave" "")
          (vlax-ldata-put "DenisH" "SauveGarde" 0)
   ) ;_ Fin de progn
   (progn (setq SvGrd (+ SvGrd 1))
          (vlax-ldata-put "DenisH" "SauveGarde" SvGrd)
   ) ;_ Fin de progn
 ) ;_ Fin de if
 (princ (strcat "\tIncrémentation : " (itoa SvGrd)))
 (princ)
) ;_ Fin de defun

 

Et merci encore (gile)...

 

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)

  • 3 mois après...
Posté(e)
Tous les 10 appels certes mais les appels de quoi ?

 

J'entends par là que j'exécute "(CtrlSvGrd)" depuis d'autres macros.

 

Je nommais ça des "appels"... Il y a un autre nom ?

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)

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é