aldo127 Posté(e) le 6 décembre 2008 Partager Posté(e) le 6 décembre 2008 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 More sharing options...
(gile) Posté(e) le 6 décembre 2008 Partager Posté(e) le 6 décembre 2008 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 More sharing options...
aldo127 Posté(e) le 6 décembre 2008 Auteur Partager Posté(e) le 6 décembre 2008 Merci bcp pour ta réponse super complète.J'avais essayé avec le underscore, mais pas devant les options... Lien vers le commentaire Partager sur d’autres sites More sharing options...
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