Aller au contenu

Lisp fonctionne en uk mais pas en fr


aldo127

Messages recommandés

voici un lisp pour changer de calque en rentrant un nombre au clavier num.

Il fonctionne super bien sur autocad UK mais pour la version française.

Quelqu'un peut m'aider à le faire fonctionner en version française?

 

(defun c:lay01 () (progn (setvar "cmdecho" 0) (command "layer" "s" "pe01" "") (setvar "cmdecho" 1) (princ)))

(defun c:lay02 () (progn (setvar "cmdecho" 0) (command "layer" "s" "pe02" "") (setvar "cmdecho" 1) (princ)))

(defun c:lay03 () (progn (setvar "cmdecho" 0) (command "layer" "s" "pe03" "") (setvar "cmdecho" 1) (princ)))

(defun c:lay04 () (progn (setvar "cmdecho" 0) (command "layer" "s" "pe04" "") (setvar "cmdecho" 1) (princ)))

(defun c:lay11 () (progn (setvar "cmdecho" 0) (command "layer" "s" "pe11" "") (setvar "cmdecho" 1) (princ)))

(defun c:lay21 () (progn (setvar "cmdecho" 0) (command "layer" "s" "pe21" "") (setvar "cmdecho" 1) (princ)))

(defun c:lay31 () (progn (setvar "cmdecho" 0) (command "layer" "s" "pe31" "") (setvar "cmdecho" 1) (princ)))

(defun c:lay41 () (progn (setvar "cmdecho" 0) (command "layer" "s" "pe41" "") (setvar "cmdecho" 1) (princ)))

 

(defun *ERROR* (msg)

(if (/= msg "Function cancelled")

(if (= msg "quit /exit abort")

(princ)

(princ (strcat "\nError: " msg))

)

(princ)

)

);defun ERROR

(princ)

Lien vers le commentaire
Partager sur d’autres sites

Salut et bienvenue

 

Une recherche avec "international" t'aurais permis de trouver facilement la solution.

 

(command "layer" "s" ...) ne fonctionne que sur les versions anglaises.

(command "calque" "ch" ...) ne fonctionne que sur les versions françaises.

 

Heureusement, il existe une version internationale, qui fonctionne avec toutes les version linguistiques :

 

(command "_layer" "_s" ...)

 

Il te suffit donc de placer un soulignement (underscore) devant le nom de la commande en anglais et devant le nom de chaque option de commande (en anglais)

D'autre part, le (progn ...) est parfaitement inutile.

 

(defun c:lay01 ()
 (setvar "cmdecho" 0)
 (command "_layer" "_s" "pe01" "")
 (setvar "cmdecho" 1)
 (princ)
)

 

La fonction *ERROR*, qui n'est pas utilisée ici, peut être francisée de la manière suivante

 

(defun *ERROR* (msg)
(if (/= msg "Fonction annulée")
(if (= msg "quitter / sortir abandon")
(princ)
(princ (strcat "\nErreur: " msg))
)
(princ)
)
);defun ERROR 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Lien vers le commentaire
Partager sur d’autres sites

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é