AutoCAD - Francais
- S'abonner au fil RSS
- Marquer le sujet comme nouveau
- Marquer le sujet comme lu
- Mettre ce sujet en tête de liste au sommet
- Marquer
- S'abonner
- Page imprimable
Exécution d'un script à chaque ouverture d'un dessin
- Marquer comme nouveau
- Marquer
- S'abonner
- S'abonner au fil RSS
- Surligner
- Imprimer
- Envoyer à un ami
- Signaler un contenu inapproprié
Bonjour,
Comme dit dans le titre, je souhaiterai charger un script à chaque ouverture de dessin (nouveau ou existant).
Pouvez vous m'aider ?
Merci d'avance.
Re : Exécution d'un script à chaque ouverture d'un dessin
[ modifié ]- Marquer comme nouveau
- Marquer
- S'abonner
- S'abonner au fil RSS
- Surligner
- Imprimer
- Envoyer à un ami
- Signaler un contenu inapproprié
Bonjour,
Je recommande la lecture de ce lien de l'aide d'AutoCAD :
http://docs.autodesk.com/ACD/2013/FRA/files/GUID-F
Please mark this response as "Accept as Solution" if it answers your question.
S'il vous plaît Marquer cette réponse comme "Accepter comme solution" si elle répond à votre question.
-----------------------------------------------------------------------------------------
Re : Exécution d'un script à chaque ouverture d'un dessin
- Marquer comme nouveau
- Marquer
- S'abonner
- S'abonner au fil RSS
- Surligner
- Imprimer
- Envoyer à un ami
- Signaler un contenu inapproprié
Bonjour,
J'ai bien lu la page indiquée par ton lien et c'est fort intéressant.
Néanmoins, je ne trouve pas la syntaxe me permettant d'appeller un script après iniatialisation.
(defun-q S::STARTUP ( ) (command "test.scr")
Re : Exécution d'un script à chaque ouverture d'un dessin
- Marquer comme nouveau
- Marquer
- S'abonner
- S'abonner au fil RSS
- Surligner
- Imprimer
- Envoyer à un ami
- Signaler un contenu inapproprié
Salut,
La fonction LISP command requiert comme premier argument le nom de la commande (sous forme de chaine) éventuellement suivi des valeurs pour les options de la commande invoquée.
Dans ton cas :
(command "_script" "test.scr")
La fonction LISP defun-q définit une fonction sous forme de liste et n'est en général utilisée que quand ceci est nécessaire (on préfère en générale utiliser defun qui crée une fonction pré-compilée).
Si on utilise defun-q avec S:
TARTUP, c'est parce qu'on peut ainsi avoir plusieurs définitions de S:
TARTUP dans différents fichiers de chargement automatique de LISP sans qu'une définition n'écrase l'autre mais qu'au contraire chaque définition s'ajoute à celles qui exitent déjà.
Pour ce faire, il faut tester si S:
TARTUP existe déjà et agir en conséquence.
Si S:
TARTUP est déjà définie (avec defun-q) on peut ajouter à la liste existante la liste des nouvelles expressions
si S:
TARTUP n'est pas déjà définie, on la définit avec defun-q.
(if S::STARTUP (setq S::STARTUP (append S::STARTUP '((command "_script" "test.scr") (princ)) ) ) (defun-q S::STARTUP () (command "_script" "test.scr") (princ) ) )
Re : Exécution d'un script à chaque ouverture d'un dessin
- Marquer comme nouveau
- Marquer
- S'abonner
- S'abonner au fil RSS
- Surligner
- Imprimer
- Envoyer à un ami
- Signaler un contenu inapproprié
salut. Le plus simple : est-ce que tu utilises un fichier de préférence .cui que tu inseres dans autocad ?
Si oui alors a coté de ton fichier .cui crée un fichier .MNL
dedans tu mets les commandes autolisp que tu veux...
Celui-çi sera lancé à chaque fois qu'un dessin est ouvert
La plus besoin de toucher au fichier d'autocad comme la commande STARTUP.
Re : Exécution d'un script à chaque ouverture d'un dessin
- Marquer comme nouveau
- Marquer
- S'abonner
- S'abonner au fil RSS
- Surligner
- Imprimer
- Envoyer à un ami
- Signaler un contenu inapproprié
Salut AubelecBE,
Extrait de l'aide Guide de programmation > Introduction aus interfaces de programmation > AutoLISP et Visual LISP > Chargement et exécution automatiques des routines AutoLISP > Fonction S:
TRATUP : exécution postinitialisation :
"Les fichiers de démarrage LISP (acad.lsp, acaddoc.lsp et MNL) sont tous chargés en mémoire avant que le dessin ne soit complètement initialisé. Généralement, cela ne pose pas de problème, sauf si vous souhaitez utiliser la fonction command, qui n'est réellement opérationnelle qu'après l'initialisation d'un dessin.
Si la fonction S:
TARTUP définie par l'utilisateur figure dans un fichier acad.lsp, acaddoc.lsp ou MNL, elle est appelée lorsque vous entrez un nouveau dessin ou ouvrez un dessin existant. Par conséquent, vous pouvez inclure une définition de S:
TARTUP dans le fichier de démarrage LISP pour effectuer toute opération de configuration."
Re : Exécution d'un script à chaque ouverture d'un dessin
- Marquer comme nouveau
- Marquer
- S'abonner
- S'abonner au fil RSS
- Surligner
- Imprimer
- Envoyer à un ami
- Signaler un contenu inapproprié
Salut
Tu peux ajouter au lancement d'autocad le paramètre /b pour charger automatiquement un script
Plus d'infos ici
Tu as aussi la valise (_appload) pour faire des chargements automatique sur chaque dessin.
@+
Re : Exécution d'un script à chaque ouverture d'un dessin
- Marquer comme nouveau
- Marquer
- S'abonner
- S'abonner au fil RSS
- Surligner
- Imprimer
- Envoyer à un ami
- Signaler un contenu inapproprié
Ah merci je ne savais pas cela.
Moi je trouve plus simple mon principe (je n'utilise pas la commande command. ![]()
Car pour 'linstallation rien de plus simple.
Je ne fais qu'ajouter le CUI à autocad et après, dés qu'autocad se lance, il me le configure (répertoire de base des affaires, des blocs etc. (Onglet Fichier dans les options)
Re : Exécution d'un script à chaque ouverture d'un dessin
- Marquer comme nouveau
- Marquer
- S'abonner
- S'abonner au fil RSS
- Surligner
- Imprimer
- Envoyer à un ami
- Signaler un contenu inapproprié
Tout d'abord merci pour votre aide à tous.
Demain je teste la version avec le fichier en .lsp composé de :
(if S::STARTUP (setq S::STARTUP (append S::STARTUP '((command "_script" "test.scr") (princ)) ) ) (defun-q S::STARTUP () (command "_script" "test.scr") (princ) ) )
Cependant, j'ai un doute sur le fonctionnement, car mon entreprise utilise une donciguration particulière avec des fichiers stockés sur un serveur qui charge des applications dans autocad.
Concernant la méthode de personnalisation CUI, impossible de trouver une option permettant de charger un script dedans !
Re : Exécution d'un script à chaque ouverture d'un dessin
- Marquer comme nouveau
- Marquer
- S'abonner
- S'abonner au fil RSS
- Surligner
- Imprimer
- Envoyer à un ami
- Signaler un contenu inapproprié
Quand à ta solution patrick, il me semble qu'elle ne fonctionne uniquement sur le premier dessin chargé lors du lancement d'autocad, pas avec les suivants non ?

