Aller au contenu

exécution automatique de fonction defun c:


Messages recommandés

Posté(e)

Bonjour à tous,

Comment faire pour exécuter automatiquement les fonction defun c:?

Je m'explique:

j'ai un lisp comme suit :

 

(defun c:fonction ...
);defun
(command "fonction"... )

 

que je mets via la commande appload Au démarrage (valise). mais à chaque ouverture de fichier il met commande fonction inconnue.

 

Alors ce que j'ai fait, j'ai enlevé la dernière ligne et j'ai rajouté

 

(command "-script" "c:/script.scr")

 

en mettant filedia à 0 et en créant un script "script.scr" pour la fonction "fonction"

 

Est-ce une bonne manière? j'ai l'impression que non! que faut-il faire alors?

 

Merci pour votre aide

Posté(e)

Salut!

 

Lorsque tu déclares une fonction, tu peux l'appeler à la fin du fichier lisp

en faisant simplement ceci:

 

(defun ma_fonction( arg1)

(princ arg1)

(princ)

) ; ma_fonction

 

(ma_fonction)

 

pour une commande:

(defun c:ma_commande( arg1)

(princ arg1)

(princ)

) ; c:ma_commande

 

(c:ma_commande)

 

Ainsi, lorsque tu charges un lisp, il lancera la fonction au commande.

 

Mais si en plus u veux qu'elle se lance à l'ouverture d'un plan, suit le conseil de rebcao.

Tous pour lisp, Lisp pour tous!

Avec Revit, cela ne vas trop vite...

Posté(e)

Merci Rebcao et bseb67,

 

ma fonction n'a pas d'arguments

 

en faisant ceci

 

 (defun c:ma_commande ()
...
);defun
(c:ma_commande)

 

la commande ne se lance pas au chargement sinon en passant par SS:STARTUP() ça marche.

 

 

[Edité le 29/12/2008 par marionsname]

Posté(e)

Salut , pourquoi ne pas utiliser la fonction autoload qui est active dans autocad

en écrivant dans un *.mnl ou AutoCAD.lsp comme ceci par exemple:

 

  ;;;;CHARGEMENT AUTO
(autoload "3dpolyfillet" '("3dpolyfillet"))
(autoload "tuy" '("tuy" "tu" "cdt" "tsa" "calos"))
(autoload "xe" '("xe"))

 

Tu l'as compris ,le premier terme est le nom du lisp et ensuite on indique le(s) nom(s) de(s) commande(s). Les lisps ne se chargent qu'à la demande , c'est top.

 

 

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é