pingoo666 Posté(e) le 3 février 2010 Posté(e) le 3 février 2010 Bonjour à tou(te)s J'ai un pitit soucis sur un de mes lisps : globalement quand je crée un calque il doit me demander un string pour que je modifie le nom du calque. Je me suis servi du réacteur :vlr-objectAppended pour qu'il "écoute" la création d'objet et ensuite je filtre pour savoir si c'est un calque qui répond a mes besoins (en gros XXX dans le nom). Le problème c'est qu'il me pose la question du string deux fois... Cela ne viens pas d'un réacteur doublement définit car je les détruit tous avant de charger la fonction. Je vous met le code en dessous si vous avez une idée... (defun test2 (reactor_object obj /) (princ "ded") (setq en_obj (cadr obj) eg_layer (entget en_obj) st_type (cdr (assoc 0 eg_layer)) ) (if (= st_type "LAYER") (progn (setq st_nom (cdr (assoc 2 eg_layer))) (addlay en_obj st_nom) ) ) (princ) ) (defun addlay (en_obj st_nom / eg_layer st_echelle st_layer) (setq eg_layer (entget en_obj) st_echelle (getstring "\nChoix de l'échelle :") st_layer (vl-string-subst st_echelle "XXX" st_nom) ) (setq eg_layer (subst (cons 2 st_layer) (assoc 2 eg_layer) eg_layer) ) (princ) ) Merci d'avance pour vos idées !
Patrick_35 Posté(e) le 3 février 2010 Posté(e) le 3 février 2010 Salut Je viens de faire un test vite fait sur un réacteur avec la création d'un calque, et je le vois trois foisDans ce cas, je fais par exemple Création du réacteur (setq perso (vlr-editor-reactor nil (list (cons :vlr-commandwillstart (function debut_command)) (cons :vlr-commandended (function fin_command)) ) ) ) Lisp début d'un command (defun debut_command(rea cde) (or init_reacteur_perso (progn .... .... ) ) (setq init_reacteur_perso T) ) Lisp fin d'un command (defun fin_command(rea cde) (setq init_reacteur_perso nil) ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
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