nicolas2 Posté(e) le 23 décembre 2010 Posté(e) le 23 décembre 2010 Bonjour à tous.Un LISP récupéré sur CADXP (Maxence Delanoy) pour tracer les axes d'un cercle. ;Ax.lsp ;Version 1.0 ;Programme AutoLISP écrit par Maxence Delannoy (E-Mail:maxence.delannoy@wanadoo.fr) ;Dernière modification le 13.01.2000 ;Objet: Sélectionnez un cercle, Ax dessinera les traits d'axes pour vous ! (defun c:AX ( / AncErr AncCol AncTpl AncCmd AncBmp AncOsm LstEnt Centre Ray) (setq AncErr *error* *error* AX_ERR AncCol (getvar "CECOLOR") AncTpl (getvar "CELTYPE") AncCmd (getvar "CMDECHO") AncBmp (getvar "BLIPMODE") AncOsm (getvar "OSMODE") ) (setvar "CECOLOR" "4") ; Couleur des traits d'axes (if (not (tblsearch "LTYPE" "AXES")) (command "_.LINETYPE" "_L" "AXES" "" "")) ; Type de ligne des axes (setvar "CELTYPE" "AXES") (setvar "CMDECHO" 0) (setvar "BLIPMODE" 0) (setvar "OSMODE" 0) (while (setq LstEnt (entget (car (entsel "\nSélectionnez un cercle: ")))) (if (equal '(0 . "CIRCLE") (assoc 0 LstEnt)) (progn (setq Centre (cdr (assoc 10 LstEnt)) Ray (cdr (assoc 40 LstEnt)) ) (command "_LINE" (list (+ (nth 0 Centre) (* 1.1 Ray)) (nth 1 Centre)) (list (- (nth 0 Centre) (* 1.1 Ray)) (nth 1 Centre)) "" "_LINE" (list (nth 0 Centre) (+ (nth 1 Centre) (* 1.1 Ray))) (list (nth 0 Centre) (- (nth 1 Centre)(* 1.1 Ray))) "" ) ) ) ) (setvar "OSMODE" AncOsm) (setvar "BLIPMODE" AncBmp) (setvar "CMDECHO" AncCmd) (setvar "CELTYPE" AncTpl) (setvar "CECOLOR" AncCol) (setq *error* AncErr) (princ) ) (defun AX_ERR (Msg) (setvar "OSMODE" AncOsm) (setvar "BLIPMODE" AncBmp) (setvar "CMDECHO" AncCmd) (setvar "CELTYPE" AncTpl) (setvar "CECOLOR" AncCol) (setq *error* AncErr) (princ) ) (defun hello_world () (alert "Hello World!")) (prompt "M.D.D. - Ax.lsp chargé. Tapez AX pour tracer les traits d'axes d'un cercle.") (princ) Pour l'instant, l'axe est tracé dans le calque courant avec la couleur et le type de ligne "forcé" (conformément au LISP)Mon calque "Axe" se nomme "2-AXE".Après plusieurs essais de modification du LISP, plus rien ne tournait :casstet: Quelqu'un pourrait-il m'aider pour que l'axe se trace avec le calque "2-AXE" et donc ses valeurs propres => type de ligne "du calque" - couleur "du calque".....Merci pour votre aide.
bryce Posté(e) le 23 décembre 2010 Posté(e) le 23 décembre 2010 Bonjour, Voici ma proposition, ça a l'air de fonctionner... :P ;Ax.lsp ;Version 1.0 ;Programme AutoLISP écrit par Maxence Delannoy (E-Mail:maxence.delannoy@wanadoo.fr) ;Dernière modification le 13.01.2000 ;Objet: Sélectionnez un cercle, Ax dessinera les traits d'axes pour vous ! (defun c:AX ( / AncErr AncLay AncCol AncTpl AncCmd AncBmp AncOsm LstEnt Centre Ray) (setq AncErr *error* *error* AX_ERR AncLay (getvar "CLAYER") AncCol (getvar "CECOLOR") AncTpl (getvar "CELTYPE") AncCmd (getvar "CMDECHO") AncBmp (getvar "BLIPMODE") AncOsm (getvar "OSMODE") ) (setvar "CECOLOR" "DuCalque") ; Couleur des traits d'axes (setvar "CELTYPE" "DuCalque") ; Type de ligne des axes (setvar "CMDECHO" 0) (setvar "BLIPMODE" 0) (setvar "OSMODE" 0) (command "_.-LAYER" "_M" "2-AXE" "") ; Calque des axes (while (setq LstEnt (entget (car (entsel "\nSélectionnez un cercle: ")))) (if (equal '(0 . "CIRCLE") (assoc 0 LstEnt)) (progn (setq Centre (cdr (assoc 10 LstEnt)) Ray (cdr (assoc 40 LstEnt)) ) (command "_LINE" (list (+ (nth 0 Centre) (* 1.1 Ray)) (nth 1 Centre)) (list (- (nth 0 Centre) (* 1.1 Ray)) (nth 1 Centre)) "" "_LINE" (list (nth 0 Centre) (+ (nth 1 Centre) (* 1.1 Ray))) (list (nth 0 Centre) (- (nth 1 Centre)(* 1.1 Ray))) "" ) ) ) ) (setvar "OSMODE" AncOsm) (setvar "BLIPMODE" AncBmp) (setvar "CMDECHO" AncCmd) (setvar "CELTYPE" AncTpl) (setvar "CECOLOR" AncCol) (setvar "CLAYER" AncLay) (setq *error* AncErr) (princ) ) (defun AX_ERR (Msg) (setvar "OSMODE" AncOsm) (setvar "BLIPMODE" AncBmp) (setvar "CMDECHO" AncCmd) (setvar "CELTYPE" AncTpl) (setvar "CECOLOR" AncCol) (setvar "CLAYER" AncLay) (setq *error* AncErr) (princ) ) (defun hello_world () (alert "Hello World!")) (prompt "M.D.D. - Ax.lsp chargé. Tapez AX pour tracer les traits d'axes d'un cercle.") (princ) Brice, formateur AutoCAD - Inventor - SolidWorks - ZWCad - DraftSight - SketchUp indépendant
nicolas2 Posté(e) le 23 décembre 2010 Auteur Posté(e) le 23 décembre 2010 Merci Bryce.J'avais bien essayé de bricoler là dedans, mais rien n'y avait fait. setvar "CECOLOR" "4") ; Couleur des traits d'axes (if (not (tblsearch "LTYPE" "AXES")) (command "_.LINETYPE" "_L" "AXES" "" "")) ; Type de ligne des axes (setvar "CELTYPE" "AXES") (setvar "CMDECHO" 0) (setvar "BLIPMODE" 0) (setvar "OSMODE" 0) Merci à toi.
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