Bonjour, Suite à une récente réflexion que je me suis fait au sujet d’un de mes premiers codes.. Je me suis "amusé" à revisiter ce code pendant la pose déjeuné, voilà à tester si cela vous dit.. ;;VDHBruno le : 05-09-2012
;; Transforme temporairement l'affichage les lignes discontinues en continue
(defun c:ldis () (vl-load-com) (ldis-callback nil nil))
(defun-q ldis-callback (rea svgvar)
nil
(cond (svgvar (setvar 'LTSCALE svgvar)
(vlr-remove rea)
(setq ldis-callback (cons (car ldis-callback) (cons nil (cddr ldis-callback))))
)
((setq ldis-callback
(cons (car ldis-callback)
(cons (list 'setq
'svgvar
(getvar 'LTSCALE)
'rea
(vlr-command-reactor
nil
'((:vlr-commandEnded . ldis-callback)
(:vlr-commandCancelled . ldis-callback)
(:vlr-commandFailed . ldis-callback)
)
)
)
(cddr ldis-callback)
)
)
)
(setvar 'LTSCALE 1.0e+99)
)
)
(bv:ssmap 'entupd (ssget "_C" '(-1e99 -1e99) '(1e99 1e99)))
(princ)
)
;; Variation de la fonction ssmap (extraite de la stdlib de Reini Urban)
(defun bv:ssmap (fun ss / i)
(if (= (type ss) 'PICKSET)
(repeat (setq i (sslength ss)) ((eval fun) (ssname ss (setq i (1- i)))))
)
)
Au cours d’une commande AutoCAD faire précéder la fonction d’une apostrophe ‘ldis A+ ________________________________________ Edit du 05-09-2012 -Mise à jour du code - Rectifié affichage sur ligne de commande. Localisé la régénération du dessin à l’affichage écran de la fenêtre active. Renommé arguments et noms de fonctions de façon plus explicite (et suppression d'une variable globale).