Aller au contenu

DenisHen

Membres
  • Compteur de contenus

    4 029
  • Inscription

  • Dernière visite

  • Jours gagnés

    21

Tout ce qui a été posté par DenisHen

  1. Alors tout fonctionne correctement ?
  2. Donc, si ça fonctionne en ligne de commande, je ne comprend pas pourquoi ça ne fonctionne pas en lisp... ? ? ? Si, je te l'ai déjà envoyé, je te la renvoi : ;;;************************************** ;;; Calcul du gisement entre deux points ;;;************************************** (defun gisment (p1 p2 / xp1 xp2 yp1 yp2 DeltaX DeltaY) ;;;fait par didier de CaxXP.com (setq xp1 (car p1) yp1 (cadr p1) xp2 (car p2) yp2 (cadr p2) DeltaX (- xp2 xp1) DeltaY (- yp2 yp1) ) ;_ Fin de setq (cond ((and (> DeltaX 0) (> DeltaY 0)) (setq quadrant 1)) ((and (> DeltaX 0) (< DeltaY 0)) (setq quadrant 2)) ((and (< DeltaX 0) (< DeltaY 0)) (setq quadrant 3)) ((and (< DeltaX 0) (> DeltaY 0)) (setq quadrant 4)) ((and (= DeltaX 0) (> DeltaY 0)) (setq quadrant 0)) ((and (> DeltaX 0) (= DeltaY 0)) (setq quadrant 100)) ((and (= DeltaX 0) (< DeltaY 0)) (setq quadrant 200)) ((and (< DeltaX 0) (= DeltaY 0)) (setq quadrant 300)) ) ;_ Fin de cond (if (= DeltaY 0) (setq gis_tempo 0) ) ;_ Fin de if (if (= DeltaX 0) (setq gis_tempo 0) ) ;_ Fin de if (if (and (/= 0 DeltaX) (/= 0 DeltaY)) (setq gis_tempo (/ (* (atan (/ DeltaX DeltaY)) 200) pi)) ) ;_ Fin de if (if (= quadrant 1) (setq gis gis_tempo) ) ;_ Fin de if (if (= quadrant 2) (setq gis (+ 200 gis_tempo)) ) ;_ Fin de if (if (= quadrant 3) (setq gis (+ 200 gis_tempo)) ) ;_ Fin de if (if (= quadrant 4) (setq gis (+ 400 gis_tempo)) ) ;_ Fin de if (if (= quadrant 0) (setq gis (+ 0 gis_tempo)) ) ;_ Fin de if (if (= quadrant 100) (setq gis (+ 100 gis_tempo)) ) ;_ Fin de if (if (= quadrant 200) (setq gis (+ 200 gis_tempo)) ) ;_ Fin de if (if (= quadrant 300) (setq gis (+ 300 gis_tempo)) ) ;_ Fin de if gis ) ;_ Fin de defun
  3. On va faire un petit test, ouvre un nouveau dessin et copie/colle ça en ligne de commande puis [ENTRÉE] : (if (not (tblsearch "layer" "MARTY-SURFACES_FRACTIONS")) (command "-calque" "e" "MARTY-SURFACES_FRACTIONS" "co" "u" "255,0,255" "MARTY-SURFACES_FRACTIONS" "") ;_ Fin de command (command "-calque" "ch" "MARTY-SURFACES_FRACTIONS" "") ) ;_ Fin de if Ce code créé le calque s'il n'existe pas et le rend courant ou le rend courant s'il existe. Que ce passe t'il ?
  4. Bon, j'ai fais comme pour moi (qui, une fois terminée, ressemble énormément à une commande que j'ai faite l'année dernière). J'ai raccourci le nombre de clics, désormais, toutes les options sont sur une seule ligne, et par défaut, c'est Contour qui est lancée. Voici le nouveau code que je te propose : ;;; *********************************************************** ;;; Dessine un contour, puis place un texte incrémenté et la ;;; surface dans un multitexte et dans des Xdata ;;; Pour Hydro8 de CadXP.com ;;; *********************************************************** (defun c:Hydro8_Poly (/ old_osmd PrefixIncrement ValIncrement Option1 Option2 MText EcritText) (princ "\nDéveloppé par Denis H. (v:2.1)") (defun mxv (m v) (mapcar (function (lambda (r) (apply '+ (mapcar '* r v)))) m)) ;_ Fin de defun (defun EcritText (/ xSurf xMatri Pt_Deb_Fle Pt_Fin_Fle Pt_Pied_Fle) ;; (setq xMatri (strcat PrefixIncrement (itoa ValIncrement))) (SetXdataForApplication (entlast) "Matri" (list (cons 1000 xMatri))) (setq xSurf (rtos (getpropertyvalue (entlast) "Area") 2 1)) (SetXdataForApplication (entlast) "Surf" (list (cons 1000 xSurf))) ;; ;;; Paramètres de la flèche (princ "\nDébut calcul flèche") (setq Long 2 ;; Longueur de la tête de la flèche Larg 1 ;; Largeur de du pied de la flèche Pt_Deb_Fle (getpoint "\nPointe de la flèche : ") Pt_Fin_Fle (getpoint Pt_Deb_Fle "\nPied de la flèche (insertion du texte : ") Pt_Pied_Fle (polar Pt_Deb_Fle (angle Pt_Deb_Fle Pt_Fin_Fle) Long) ) ;_ Fin de setq (command "_.pline" Pt_Deb_Fle "_w" 0 Larg Pt_Pied_Fle "_w" 0 0 Pt_Fin_Fle "") ;; (initget "Altitudes sansProfondeur sansHauteur sansLimite") (setq Option3 (getkword (strcat "\nChoix des textes [Altitudes/sansProfondeur/sansHauteur/sansLimite] <Altitudes> : ") ;_ Fin de strcat ) ;_ Fin de getkword ) ;_ Fin de setq (cond ((= Option3 "Altitudes") (setq Opt3 "Altitudes")) ((= Option3 "sansProfondeur") (setq Opt3 "sans profondeur")) ((= Option3 "sansHauteur") (setq Opt3 "sans hauteur")) ((= Option3 "sansLimite") (setq Opt3 "sans limite")) (T (setq Opt3 "Altitudes")) ) ;_ Fin de cond ;;;Calcul du gisement de la flèche selon son sens (princ "\nCalcul du gisement de la flèche selon son sens") (setq GisGrd (gisement Pt_Deb_Fle Pt_Fin_Fle)) (setq GisGrdSnapAng GisGrd) (if (>= GisGrdSnapAng 400) (setq GisGrdSnapAng (- GisGrdSnapAng 400) ;_ Fin de - ) ;_ Fin de setq ) ;_ Fin de if (cond ((and (>= GisGrdSnapAng 0) (< GisGrdSnapAng 100)) (setq OptionIns "BG")) ((and (>= GisGrdSnapAng 100) (< GisGrdSnapAng 200)) (setq OptionIns "HG")) ((and (>= GisGrdSnapAng 200) (< GisGrdSnapAng 300)) (setq OptionIns "HD")) ((and (>= GisGrdSnapAng 300) (<= GisGrdSnapAng 400)) (setq OptionIns "BD")) ) ;_ Fin de cond ;; (setq MText (strcat "\\H1.2\\L" PrefixIncrement (itoa ValIncrement) "\\P\\H1S=" xSurf "m²\\P" Opt3)) (command "_.-MTEXT" Pt_Fin_Fle "J" OptionIns Pt_Fin_Fle MText "") ;;;Défini les quatre coins du MText de (gile) (princ "\nDéfini les quatre coins du MText de (gile)") (setq MTxt (entlast)) (setq elst (entget (entlast))) (if (= "MTEXT" (cdr (assoc 0 (entget (entlast))))) (setq nor (cdr (assoc 210 elst)) ref (trans (cdr (assoc 10 elst)) 0 nor) rot (angle '(0 0 0) (trans (cdr (assoc 11 elst)) 0 nor)) wid (cdr (assoc 42 elst)) hgt (cdr (assoc 43 elst)) jus (cdr (assoc 71 elst)) org (list (cond ((member jus '(2 5 8)) (/ wid -2)) ((member jus '(3 6 9)) (- wid)) (T 0.0) ) ;_ Fin de cond (cond ((member jus '(1 2 3)) (- hgt)) ((member jus '(4 5 6)) (/ hgt -2)) (T 0.0) ) ;_ Fin de cond ) ;_ Fin de list plst (mapcar (function (lambda (p) (mapcar '+ org p))) (list (list (- 0.1) (- 0.1)) (list (+ wid 0.1) (- 0.1)) (list (+ wid 0.1) (+ hgt 0.1)) (list (- 0.1) (+ hgt 0.1)) ) ;_ Fin de list ) ;_ Fin de mapcar ) ;_ Fin de setq (setq box (textbox elst) ref (cdr (assoc 10 elst)) rot (cdr (assoc 50 elst)) plst (list (list (- (caar box) 0.1) (- (cadar box) 0.1)) (list (+ (caadr box) 0.1) (- (cadar box) 0.1)) (list (+ (caadr box) 0.1) (+ (cadadr box) 0.1)) (list (- (caar box) 0.1) (+ (cadadr box) 0.1)) ) ;_ Fin de list ) ;_ Fin de setq ) ;_ Fin de if (setq mat (list (list (cos rot) (- (sin rot)) 0) (list (sin rot) (cos rot) 0) '(0 0 1)) ;_ Fin de list plst (mapcar (function (lambda (p) (mapcar '+ (mxv mat p) (list (car ref) (cadr ref)))) ;_ Fin de lambda ) ;_ Fin de function plst ) ;_ Fin de mapcar ) ;_ Fin de setq (setq Pt1 (list (car (nth 0 plst)) (cadr (nth 0 plst)))) (setq Pt2 (list (car (nth 1 plst)) (cadr (nth 1 plst)))) (setq Pt3 (list (car (nth 2 plst)) (cadr (nth 2 plst)))) (setq Pt4 (list (car (nth 3 plst)) (cadr (nth 3 plst)))) (setvar "osmode" 0) ;; (princ "\nOptionIns") (cond ((= OptionIns "BG") (setq p3 (polar Pt_Deb_Fle (angle Pt_Deb_Fle Pt1) Long)) (setq PtA1 (polar Pt4 (angle Pt4 Pt1) (/ (distance Pt4 Pt1) 2))) ;_ Fin de setq (setq PtB1 Pt1) (setq PtC1 (polar Pt1 (angle Pt1 Pt2) (/ (distance Pt1 Pt2) 2))) ;_ Fin de setq ;; (setq PtA2 (polar Pt3 (angle Pt3 Pt2) (/ (distance Pt2 Pt3) 2))) ;_ Fin de setq (setq PtB2 Pt3) (setq PtC2 (polar Pt3 (angle Pt3 Pt4) (/ (distance Pt3 Pt4) 2))) ;_ Fin de setq ) ((= OptionIns "HG") (setq p3 (polar Pt_Deb_Fle (angle Pt_Deb_Fle Pt4) Long)) (setq PtA1 (polar Pt4 (angle Pt4 Pt1) (/ (distance Pt4 Pt1) 2))) ;_ Fin de setq (setq PtB1 Pt4) (setq PtC1 (polar Pt4 (angle Pt4 Pt3) (/ (distance Pt4 Pt3) 2))) ;_ Fin de setq ;; (setq PtA2 (polar Pt2 (angle Pt2 Pt1) (/ (distance Pt2 Pt1) 2))) ;_ Fin de setq (setq PtB2 Pt2) (setq PtC2 (polar Pt2 (angle Pt2 Pt3) (/ (distance Pt2 Pt3) 2))) ;_ Fin de setq ) ((= OptionIns "HD") (setq p3 (polar Pt_Deb_Fle (angle Pt_Deb_Fle Pt3) Long)) (setq PtA1 (polar Pt3 (angle Pt3 Pt4) (/ (distance Pt3 Pt4) 2))) ;_ Fin de setq (setq PtB1 Pt3) (setq PtC1 (polar Pt3 (angle Pt3 Pt2) (/ (distance Pt3 Pt2) 2))) ;_ Fin de setq ;; (setq PtA2 (polar Pt1 (angle Pt1 Pt2) (/ (distance Pt2 Pt1) 2))) ;_ Fin de setq (setq PtB2 Pt1) (setq PtC2 (polar Pt1 (angle Pt1 Pt4) (/ (distance Pt1 Pt4) 2))) ;_ Fin de setq ) ((= OptionIns "BD") (setq p3 (polar Pt_Deb_Fle (angle Pt_Deb_Fle Pt2) Long)) (setq PtA1 (polar Pt2 (angle Pt2 Pt1) (/ (distance Pt1 Pt2) 2))) ;_ Fin de setq (setq PtB1 Pt2) (setq PtC1 (polar Pt2 (angle Pt2 Pt3) (/ (distance Pt2 Pt3) 2))) ;_ Fin de setq ;; (setq PtA2 (polar Pt4 (angle Pt4 Pt1) (/ (distance Pt4 Pt1) 2))) ;_ Fin de setq (setq PtB2 Pt4) (setq PtC2 (polar Pt4 (angle Pt4 Pt3) (/ (distance Pt4 Pt3) 2))) ;_ Fin de setq ) ) ;_ Fin de cond ;; ;; ;; ;; ;; (command "_.pline" PtA1 PtB1 PtC1 "") ;"_.pline" PtA2 PtB2 PtC2 "") ;_ Fin de command (vlax-ldata-put "DenisH" "ValIncrement" (+ ValIncrement 1)) (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement")) ) ;_ Fin de defun ;;; Active le début de l'undo (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (setq old_cmdecho (getvar "cmdecho") old_osmode (getvar "osmode") ) ;_ Fin de setq (setvar "clayer" "0") (setvar "cmdecho" 0) (if (not (tblsearch "layer" "MARTY-SURFACES_FRACTIONS")) (command "-calque" "e" "MARTY-SURFACES_FRACTIONS" "co" "u" "255,0,255" "MARTY-SURFACES_FRACTIONS" "") ;_ Fin de command (command "-calque" "ch" "MARTY-SURFACES_FRACTIONS" "") ) ;_ Fin de if (setq PrefixIncrement (vlax-ldata-get "DenisH" "PrefixIncrement" "VarB")) (if (= PrefixIncrement nil) (vlax-ldata-put "DenisH" "PrefixIncrement" "VarB") ) ;_ Fin de if (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement" 0)) (if (or (= ValIncrement "") (= ValIncrement nil)) (progn (vlax-ldata-put "DenisH" "ValIncrement" 0) (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement")) ) ;_ Fin de progn ) ;_ Fin de if (if (not (tblsearch "style" "Surface")) (command "-style" "Surface" "arial.ttf" "" "" "" "" "" "") ) ;_ Fin de if (command "textstyle" "Surface") (while (/= (type Option1) 'LIST) (initget "Texte Nombre Contour Polyligne") (setq Option1 (getkword (strcat "\nOptions des textes [Texte/Nombre/Contour/Polyligne] <" PrefixIncrement (itoa ValIncrement) "> : " ) ;_ Fin de strcat ) ;_ Fin de getkword ) ;_ Fin de setq (cond ((= Option1 "Texte") (setq PrefixIncrement (getstring (strcat "\nSaisir le préfix de l'incrémentation <" PrefixIncrement "> : ")) ;_ Fin de getstring ) ;_ Fin de setq (vlax-ldata-put "DenisH" "PrefixIncrement" PrefixIncrement) ) ((= Option1 "Nombre") (setq ValIncrement (getint "\nSaisir le prochain numéro de l'incrémentation : ")) ;_ Fin de getstring (if (or (= ValIncrement "") (= ValIncrement nil)) (vlax-ldata-put "DenisH" "ValIncrement" 0) (vlax-ldata-put "DenisH" "ValIncrement" ValIncrement) ) ;_ Fin de if ) ((= Option1 "Contour") (while (princ "\nChoisir le contour :") (command "-contour" "O" "O" "P" "" pause "") (EcritText)) ) ((= Option1 "Polyligne") (while (princ "\nSaisisser le contour :") (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause)) ;_ Fin de while ) ;_ Fin de command (EcritText) ;_ Fin de command ) ;_ Fin de while ) (T (while (princ "\nChoisir le contour :") (command "-contour" "O" "O" "P" "" pause "") (EcritText)) ) ;_ Fin de cond ) ;_ Fin de while ) ;_ Fin de while (setvar "osmode" old_osmode) (setvar "cmdecho" old_cmdecho) (setvar "plinewid" 0) ;;; Fin de l'undo (vla-endundomark doc) (princ) ) ;_ Fin de defun
  5. Ça se passe ici, change les deux "VarB" par ce que tu veux par défaut : (setq PrefixIncrement (vlax-ldata-get "DenisH" "PrefixIncrement" "VarB")) (if (= PrefixIncrement nil) (vlax-ldata-put "DenisH" "PrefixIncrement" "VarB") ) ;_ Fin de if Beaucoup trop compliqué pour moi... :huh: Je regarde ça... Pareil, je regarde...
  6. ! ! ! VIVA EL DECAPODE ! ! ! Je ne l'ai pas vu venir celle-là... ;) Hydro8, essaye avec ce nouveau code : ;;; *********************************************************** ;;; Dessine un contour, puis place un texte incrémenté et la ;;; surface dans un multitexte et dans des Xdata ;;; Pour Hydro8 de CadXP.com ;;; *********************************************************** (defun c:Hydro8_Poly (/ old_osmd PrefixIncrement ValIncrement Option1 Option2 MText EcritText) (princ "\nDéveloppé par Denis H. (v:2.0)") ;; Applique une matrice de transformation à un vecteur (Vladimir Nesterovsky) (defun mxv (m v) (mapcar (function (lambda (r) (apply '+ (mapcar '* r v)))) m)) ;_ Fin de defun (defun EcritText (/ xSurf xMatri Pt_Deb_Fle) ;; (setq xMatri (strcat PrefixIncrement (itoa ValIncrement))) (SetXdataForApplication (entlast) "Matri" (list (cons 1000 xMatri))) (setq xSurf (rtos (getpropertyvalue (entlast) "Area") 2 1)) (SetXdataForApplication (entlast) "Surf" (list (cons 1000 xSurf))) ;; (setq Pt_Deb_Fle (getpoint "\nCliquer l'emplacement du texte :")) ;_ Fin de setq ;; (initget "Altitudes sansProfondeur sansHauteur sansLimite") (setq Option3 (getkword (strcat "\nChoix des textes [Altitudes/sansProfondeur/sansHauteur/sansLimite] <Altitudes> : ") ;_ Fin de strcat ) ;_ Fin de getkword ) ;_ Fin de setq (cond ((= Option3 "Altitudes") (setq Opt3 "Altitudes")) ((= Option3 "sansProfondeur") (setq Opt3 "sans profondeur")) ((= Option3 "sansHauteur") (setq Opt3 "sans hauteur")) ((= Option3 "sansLimite") (setq Opt3 "sans limite")) (T (setq Opt3 "Altitudes")) ) ;_ Fin de cond (setq MText (strcat "\\H1.2\\L" PrefixIncrement (itoa ValIncrement) "\\P\\H1S=" xSurf "m²\\P" Opt3 "\\l")) (command "_.-MTEXT" Pt_Deb_Fle "J" "MC" "H" 1.0 Pt_Deb_Fle MText "") ;; ;; ;;;Défini les quatre coins du MText de (gile) (princ "\nDéfini les quatre coins du MText de (gile)") (setq MTxt (entlast)) (setq elst (entget (entlast))) (if (= "MTEXT" (cdr (assoc 0 (entget (entlast))))) (setq nor (cdr (assoc 210 elst)) ref (trans (cdr (assoc 10 elst)) 0 nor) rot (angle '(0 0 0) (trans (cdr (assoc 11 elst)) 0 nor)) wid (cdr (assoc 42 elst)) hgt (cdr (assoc 43 elst)) jus (cdr (assoc 71 elst)) org (list (cond ((member jus '(2 5 8)) (/ wid -2)) ((member jus '(3 6 9)) (- wid)) (T 0.0) ) ;_ Fin de cond (cond ((member jus '(1 2 3)) (- hgt)) ((member jus '(4 5 6)) (/ hgt -2)) (T 0.0) ) ;_ Fin de cond ) ;_ Fin de list plst (mapcar (function (lambda (p) (mapcar '+ org p))) (list (list (- 0.1) (- 0.1)) (list (+ wid 0.1) (- 0.1)) (list (+ wid 0.1) (+ hgt 0.1)) (list (- 0.1) (+ hgt 0.1)) ) ;_ Fin de list ) ;_ Fin de mapcar ) ;_ Fin de setq (setq box (textbox elst) ref (cdr (assoc 10 elst)) rot (cdr (assoc 50 elst)) plst (list (list (- (caar box) 0.1) (- (cadar box) 0.1)) (list (+ (caadr box) 0.1) (- (cadar box) 0.1)) (list (+ (caadr box) 0.1) (+ (cadadr box) 0.1)) (list (- (caar box) 0.1) (+ (cadadr box) 0.1)) ) ;_ Fin de list ) ;_ Fin de setq ) ;_ Fin de if (setq mat (list (list (cos rot) (- (sin rot)) 0) (list (sin rot) (cos rot) 0) '(0 0 1)) ;_ Fin de list plst (mapcar (function (lambda (p) (mapcar '+ (mxv mat p) (list (car ref) (cadr ref)))) ;_ Fin de lambda ) ;_ Fin de function plst ) ;_ Fin de mapcar ) ;_ Fin de setq (setq Pt1 (list (car (nth 0 plst)) (cadr (nth 0 plst)))) (setq Pt2 (list (car (nth 1 plst)) (cadr (nth 1 plst)))) (setq Pt3 (list (car (nth 2 plst)) (cadr (nth 2 plst)))) (setq Pt4 (list (car (nth 3 plst)) (cadr (nth 3 plst)))) (setvar "osmode" 0) ;; (command "_.pline" Pt1 Pt2 Pt3 Pt4 Pt1 "") ;_ Fin de command ;;; paramètres de la flèche (princ "\nDébut calcul flèche") (setq Long 2 ;; Longueur de la tête de la flèche Larg 1 ;; Largeur de du pied de la flèche Pt_Deb_Fle (getpoint "\nPointe de la petite flèche : ") Pt_Fin_Fle (getpoint Pt_Deb_Fle "\nPied de la flèche : ") Pt_Pied_Fle (polar Pt_Deb_Fle (angle Pt_Deb_Fle Pt_Fin_Fle) Long) ) ;_ Fin de setq (princ "\nDrapeau 12") (command "_.pline" Pt_Deb_Fle "_w" 0 Larg Pt_Pied_Fle "_w" 0 0 Pt_Fin_Fle "") (vlax-ldata-put "DenisH" "ValIncrement" (+ ValIncrement 1)) (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement")) ) ;_ Fin de defun ;;; Active le début de l'undo (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (setq old_cmdecho (getvar "cmdecho") old_osmode (getvar "osmode") ) ;_ Fin de setq (command "-calque" "e" "MARTY-SURFACES_FRACTIONS" "co" "u" "255,0,255" "MARTY-SURFACES_FRACTIONS" "") ;_ Fin de command ;_ Fin de command ;_ Fin de command (setq PrefixIncrement (vlax-ldata-get "DenisH" "PrefixIncrement" "VarB")) (if (= PrefixIncrement nil) (vlax-ldata-put "DenisH" "PrefixIncrement" "VarB") ) ;_ Fin de if (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement" 0)) (if (or (= ValIncrement "") (= ValIncrement nil)) (progn (vlax-ldata-put "DenisH" "ValIncrement" 0) (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement")) ) ;_ Fin de progn ) ;_ Fin de if (if (not (tblsearch "style" "Surface")) (command "-style" "Surface" "arial.ttf" "" "" "" "" "" "") ) ;_ Fin de if (command "textstyle" "Surface") (while (/= (type Option1) 'LIST) (initget "Préfix Nombre Suivant") (setq Option1 (getkword (strcat "\nOptions des textes [Préfix/Nombre/Suivant] <" PrefixIncrement (itoa ValIncrement) "> : ") ;_ Fin de strcat ) ;_ Fin de getkword ) ;_ Fin de setq (cond ((= Option1 "Préfix") (setq PrefixIncrement (getstring (strcat "\nSaisir le préfix de l'incrémentation <" PrefixIncrement "> : ")) ;_ Fin de getstring ) ;_ Fin de setq (vlax-ldata-put "DenisH" "PrefixIncrement" PrefixIncrement) ) ((= Option1 "Nombre") (setq ValIncrement (getint "\nSaisir le prochain numéro de l'incrémentation : ")) ;_ Fin de getstring (if (or (= ValIncrement "") (= ValIncrement nil)) (vlax-ldata-put "DenisH" "ValIncrement" 0) (vlax-ldata-put "DenisH" "ValIncrement" ValIncrement) ) ;_ Fin de if ) ((= Option1 "Suivant") (initget "Contour Polyligne") (setq Option2 (getkword "\nOptions des textes [Contour/Polyligne] <Contour> : ") ;_ Fin de strcat ) ;_ Fin de getkword (cond ((or (= Option2 "Contour") (= Option2 nil)) ;_ Fin de or (while (princ "\nChoisir le contour :") (command "-contour" "O" "O" "P" "" pause "") (EcritText)) ) ((= Option2 "Polyligne") (while (princ "\nSaisisser le contour :") (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause)) ;_ Fin de while ) ;_ Fin de command (EcritText) ) ;_ Fin de while ) ) ;_ Fin de cond ) ) ;_ Fin de cond ) ;_ Fin de while (setvar "osmode" old_osmode) (setvar "cmdecho" old_cmdecho) (setvar "plinewid" 0) ;;; Fin de l'undo (vla-endundomark doc) (princ) ) ;_ Fin de defun
  7. C'est dommage de ne pas automatiser l'encadrement du texte... Du coup, après ; (command "_.-MTEXT" Pt_Deb_Fle "J" "MC" "H" 1.0 Pt_Deb_Fle MText "") Tu peux ajouter : (c:DH_Fleche)
  8. DenisHen

    Exporter au format KML

    Salut. En fait, j'utilise un fichier .lsp qui contient tous les lisp (load) et dll (netload) à charger dans mes dessins. Lorsque je charge ce fichier, ta dll me sort l'erreur ci-dessus. Mais si je la charge "à la main", avec netload en ligne de commande, elle se charge correctement... Comprend pô...
  9. Ben justement, il n'y a rien dans la création des flèches qui le laisse penser... Essaye avec ce fichier. Ou copie cette nouvelle commande dans ton fichier .lsp, recharge-le et tape "DH_Fleche" dans AutoCAD : ;;; ******************* ;;; Dessine une flèche ;;; ******************* (defun c:DH_Fleche () ;;; paramètres de la flèche (princ "\nDébut calcul flèche") (setq Long 2 ;; Longueur de la tête de la flèche Larg 1 ;; Largeur de du pied de la flèche Pt_Deb_Fle (getpoint "\nPointe de la petite flèche : ") Pt_Fin_Fle (getpoint Pt_Deb_Fle "\nPied de la flèche : ") Pt_Pied_Fle (polar Pt_Deb_Fle (angle Pt_Deb_Fle Pt_Fin_Fle) Long) ) ;_ Fin de setq (command "_.pline" Pt_Deb_Fle "_w" 0 Larg Pt_Pied_Fle "_w" 0 0 Pt_Fin_Fle "") )
  10. Je ne comprend plus rien. Mon code fonctionne parfaitement chez moi, même avec ton fichier... Voici la dernière version : ;;; *********************************************************** ;;; Dessine un contour, puis place un texte incrémenté et la ;;; surface dans un multitexte et dans des Xdata ;;; Pour Hydro8 de CadXP.com ;;; *********************************************************** (defun c:Hydro8_Poly (/ old_osmd PrefixIncrement ValIncrement Option1 Option2 MText EcritText) (princ "\nDéveloppé par Denis H. (v:1.8)") (defun EcritText (/ xSurf xMatri Pt_Deb_Fle) ;; (setq xMatri (strcat PrefixIncrement (itoa ValIncrement))) (SetXdataForApplication (entlast) "Matri" (list (cons 1000 xMatri))) (setq xSurf (rtos (getpropertyvalue (entlast) "Area") 2 1)) (SetXdataForApplication (entlast) "Surf" (list (cons 1000 xSurf))) ;; (setq Pt_Deb_Fle (getpoint "\nCliquer l'emplacement du texte :")) ;_ Fin de setq ;; (initget "Altitudes sansProfondeur sansHauteur sansLimite") (setq Option3 (getkword (strcat "\nChoix des textes [Altitudes/sansProfondeur/sansHauteur/sansLimite] <Altitudes> : ") ;_ Fin de strcat ) ;_ Fin de getkword ) ;_ Fin de setq (cond ((= Option3 "Altitudes") (setq Opt3 "Altitudes")) ((= Option3 "sansProfondeur") (setq Opt3 "sans profondeur")) ((= Option3 "sansHauteur") (setq Opt3 "sans hauteur")) ((= Option3 "sansLimite") (setq Opt3 "sans limite")) (T (setq Opt3 "Altitudes")) ) ;_ Fin de cond (setq MText (strcat "\\H1.2\\L" PrefixIncrement (itoa ValIncrement) "\\P\\H1S=" xSurf "m²\\P" Opt3 "\\l")) (command "_.-MTEXT" Pt_Deb_Fle "J" "MC" "H" 1.0 Pt_Deb_Fle MText "") ;; ;; ;;;Défini les quatre coins du MText de (gile) (princ "\nDéfini les quatre coins du MText de (gile)") (setq MTxt (entlast)) (setq elst (entget (entlast))) (if (= "MTEXT" (cdr (assoc 0 (entget (entlast))))) (setq nor (cdr (assoc 210 elst)) ref (trans (cdr (assoc 10 elst)) 0 nor) rot (angle '(0 0 0) (trans (cdr (assoc 11 elst)) 0 nor)) wid (cdr (assoc 42 elst)) hgt (cdr (assoc 43 elst)) jus (cdr (assoc 71 elst)) org (list (cond ((member jus '(2 5 8)) (/ wid -2)) ((member jus '(3 6 9)) (- wid)) (T 0.0) ) ;_ Fin de cond (cond ((member jus '(1 2 3)) (- hgt)) ((member jus '(4 5 6)) (/ hgt -2)) (T 0.0) ) ;_ Fin de cond ) ;_ Fin de list plst (mapcar (function (lambda (p) (mapcar '+ org p))) (list (list (- 0.1) (- 0.1)) (list (+ wid 0.1) (- 0.1)) (list (+ wid 0.1) (+ hgt 0.1)) (list (- 0.1) (+ hgt 0.1)) ) ;_ Fin de list ) ;_ Fin de mapcar ) ;_ Fin de setq (setq box (textbox elst) ref (cdr (assoc 10 elst)) rot (cdr (assoc 50 elst)) plst (list (list (- (caar box) 0.1) (- (cadar box) 0.1)) (list (+ (caadr box) 0.1) (- (cadar box) 0.1)) (list (+ (caadr box) 0.1) (+ (cadadr box) 0.1)) (list (- (caar box) 0.1) (+ (cadadr box) 0.1)) ) ;_ Fin de list ) ;_ Fin de setq ) ;_ Fin de if (setq mat (list (list (cos rot) (- (sin rot)) 0) (list (sin rot) (cos rot) 0) '(0 0 1)) ;_ Fin de list plst (mapcar (function (lambda (p) (mapcar '+ (mxv mat p) (list (car ref) (cadr ref)))) ;_ Fin de lambda ) ;_ Fin de function plst ) ;_ Fin de mapcar ) ;_ Fin de setq (setq Pt1 (list (car (nth 0 plst)) (cadr (nth 0 plst)))) (setq Pt2 (list (car (nth 1 plst)) (cadr (nth 1 plst)))) (setq Pt3 (list (car (nth 2 plst)) (cadr (nth 2 plst)))) (setq Pt4 (list (car (nth 3 plst)) (cadr (nth 3 plst)))) (setvar "osmode" 0) ;; (command "_.pline" Pt1 Pt2 Pt3 Pt4 Pt1 "") ;_ Fin de command ;;; paramètres de la flèche (princ "\nDébut calcul flèche") (setq Long 2 ;; Longueur de la tête de la flèche Larg 1 ;; Largeur de du pied de la flèche Pt_Deb_Fle (getpoint "\nPointe de la petite flèche : ") Pt_Fin_Fle (getpoint Pt_Deb_Fle "\nPied de la flèche : ") Pt_Pied_Fle (polar Pt_Deb_Fle (angle Pt_Deb_Fle Pt_Fin_Fle) Long) ) ;_ Fin de setq (command "_.pline" Pt_Deb_Fle "_w" 0 Larg Pt_Pied_Fle "_w" 0 0 Pt_Fin_Fle "") (vlax-ldata-put "DenisH" "ValIncrement" (+ ValIncrement 1)) (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement")) ) ;_ Fin de defun ;;; Active le début de l'undo (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (setq old_cmdecho (getvar "cmdecho") old_osmode (getvar "osmode") ) ;_ Fin de setq (command "-calque" "e" "MARTY-SURFACES_FRACTIONS" "co" "u" "255,0,255" "MARTY-SURFACES_FRACTIONS" "") ;_ Fin de command ;_ Fin de command (setq PrefixIncrement (vlax-ldata-get "DenisH" "PrefixIncrement" "VarB")) (if (= PrefixIncrement nil) (vlax-ldata-put "DenisH" "PrefixIncrement" "VarB") ) ;_ Fin de if (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement" 0)) (if (or (= ValIncrement "") (= ValIncrement nil)) (progn (vlax-ldata-put "DenisH" "ValIncrement" 0) (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement")) ) ;_ Fin de progn ) ;_ Fin de if (if (not (tblsearch "style" "Surface")) (command "-style" "Surface" "arial.ttf" "" "" "" "" "" "") ) ;_ Fin de if (command "textstyle" "Surface") (while (/= (type Option1) 'LIST) (initget "Préfix Nombre Suivant") (setq Option1 (getkword (strcat "\nOptions des textes [Préfix/Nombre/Suivant] <" PrefixIncrement (itoa ValIncrement) "> : ") ;_ Fin de strcat ) ;_ Fin de getkword ) ;_ Fin de setq (cond ((= Option1 "Préfix") (setq PrefixIncrement (getstring (strcat "\nSaisir le préfix de l'incrémentation <" PrefixIncrement "> : ")) ;_ Fin de getstring ) ;_ Fin de setq (vlax-ldata-put "DenisH" "PrefixIncrement" PrefixIncrement) ) ((= Option1 "Nombre") (setq ValIncrement (getint "\nSaisir le prochain numéro de l'incrémentation : ")) ;_ Fin de getstring (if (or (= ValIncrement "") (= ValIncrement nil)) (vlax-ldata-put "DenisH" "ValIncrement" 0) (vlax-ldata-put "DenisH" "ValIncrement" ValIncrement) ) ;_ Fin de if ) ((= Option1 "Suivant") (initget "Contour Polyligne") (setq Option2 (getkword "\nOptions des textes [Contour/Polyligne] <Contour> : ") ;_ Fin de strcat ) ;_ Fin de getkword (cond ((or (= Option2 "Contour") (= Option2 nil)) ;_ Fin de or (while (princ "\nChoisir le contour :") (command "-contour" "O" "O" "P" "" pause "") (EcritText)) ) ((= Option2 "Polyligne") (while (princ "\nSaisisser le contour :") (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause)) ;_ Fin de while ) ;_ Fin de command (EcritText) ) ;_ Fin de while ) ) ;_ Fin de cond ) ) ;_ Fin de cond ) ;_ Fin de while (setvar "osmode" old_osmode) (setvar "cmdecho" old_cmdecho) (setvar "plinewid" 0) ;;; Fin de l'undo (vla-endundomark doc) (princ) ) ;_ Fin de defun Après, ça dépasse mes humbles compétences...
  11. Ce doit être encore un problème la variable "clayer" (Curent Layer). Je ne comprend rien, je n'ai aucun problème chez moi... Peux-tu m'envoyer ton dwg ?
  12. Salut. Pour la flèche, remplace tous ce qui existe entre ça : (setq Pt1 (list (car (nth 0 plst)) (cadr (nth 0 plst)))) (setq Pt2 (list (car (nth 1 plst)) (cadr (nth 1 plst)))) (setq Pt3 (list (car (nth 2 plst)) (cadr (nth 2 plst)))) (setq Pt4 (list (car (nth 3 plst)) (cadr (nth 3 plst)))) (setvar "osmode" 0) Et ça : (vlax-ldata-put "DenisH" "ValIncrement" (+ ValIncrement 1)) (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement")) Par ça : ;; (command "_.pline" Pt1 Pt2 Pt3 Pt4 Pt1 "") ;_ Fin de command ;;; paramètres de la flèche (princ "\nDébut calcul flèche") (setq Long 2 ;; Longueur de la tête de la flèche Larg 1 ;; Largeur de du pied de la flèche Pt_Deb_Fle (getpoint "\nPointe de la petite flèche : ") Pt_Fin_Fle (getpoint Pt_Deb_Fle "\nPied de la flèche : ") Pt_Pied_Fle (polar Pt_Deb_Fle (angle Pt_Deb_Fle Pt_Fin_Fle) Long) ) ;_ Fin de setq (command "_.pline" Pt_Deb_Fle "_w" 0 Larg Pt_Pied_Fle "_w" 0 0 Pt_Fin_Fle "") Ça devrait résoudre le problème de la flèche, je pense aussi à une confusion dans les copier/coller. Pour le soulignement, c'est volontaire de ne souligner que la première ligne du texte. Si tu veux tout souligner, déplace le "\\l" à la fin, comme ça : (setq MText (strcat "\\H1.2\\L" PrefixIncrement (itoa ValIncrement) "\\P\\H1S=" xSurf "m²\\P" Opt3 "\\l")) Ou supprime-le carrément...
  13. DenisHen

    Exporter au format KML

    Merci de me répondre. Je connaissais déjà cette "astuce" (mais je n'y avais pas pensé) et je l'ai faite. Mais ça ne change rien...
  14. DenisHen

    Exporter au format KML

    Salut Guillaume. Et merci pour ce partage. C'est très, mais alors très intéressant, mais j'ai une erreur lors du chargement :
  15. DenisHen

    Nouveau Site Perso

    Salut. Merci encore pour ce site qui est déjà d'une grande aide. Juste une petite question : existera t'il une version "hors ligne" ou un PDF ? Car parfois, je suis en déplacement et les connexions dans certains hôtels laissent franchement à désirer...
  16. Peut-être un truc... Remplace : (command "-calque" "e" "MARTY-SURFACES_FRACTIONS" "co" "u" "255,0,255" "MARTY-SURFACES_FRACTIONS" "") Par ces lignes : (setvar "clayer" "0") (if (not (tblsearch "layer" "MARTY-SURFACES_FRACTIONS")) (command "-calque" "e" "MARTY-SURFACES_FRACTIONS" "co" "u" "255,0,255" "MARTY-SURFACES_FRACTIONS" "") (command "-calque" "ch" "MARTY-SURFACES_FRACTIONS" "") ) ;_ Fin de if
  17. Je n'arrive pas à m'expliqué l'erreur de clayer. C'est volontairement que je n'ai souligné que la première ligne. Au temps pour moi, place cette ligne : (command "_.pline" Pt1 Pt2 Pt3 Pt4 Pt1 "") Juste avant les lignes des paramètres de la flèche : ;;; paramètres de la flèche (setq Long 2 ;; Longueur de la tête de la flèche Larg 1 ;; Largeur de du pied de la flèche Pt_Deb_Fle (getpoint "\nPointe de la petite flèche : ") Pt_Fin_Fle (getpoint Pt_Deb_Fle "\nPied de la flèche : ") Pt_Pied_Fle (polar Pt_Deb_Fle (angle Pt_Deb_Fle Pt_Fin_Fle) Long) ) ;_ Fin de setq
  18. Tu peux ajouter ça : ;;; paramètres de la flèche (setq Long 2 ;; Longueur de la tête de la flèche Larg 1 ;; Largeur de du pied de la flèche Pt_Deb_Fle (getpoint "\nPointe de la petite flèche : ") Pt_Fin_Fle (getpoint Pt_Deb_Fle "\nPied de la flèche : ") Pt_Pied_Fle (polar Pt_Deb_Fle (angle Pt_Deb_Fle Pt_Fin_Fle) Long) ) ;_ Fin de setq (command "_.pline" Pt_Deb_Fle "_w" 0 Larg Pt_Pied_Fle "_w" 0 0 Pt_Fin_Fle "") Juste après la ligne : (command "_.pline" Pt1 Pt2 Pt3 Pt4 Pt1 "") ;_ Fin de command
  19. Je l'ai enlevé, mais je peux l'ajouter à la fin du code... Est-ce que le texte est bien encadré ?
  20. Je t'ai réécris quelques lignes changé d'autre et modifié certaines. Normalement, c'est Ok, mais le texte se retrouve encadré, plus facile pour dessiné un trait de rappel... : ;;; *********************************************************** ;;; Dessine un contour, puis place un texte incrémenté et la ;;; surface dans un multitexte et dans des Xdata ;;; Pour Hydro8 de CadXP.com ;;; *********************************************************** (defun c:Hydro8_Poly (/ old_osmd PrefixIncrement ValIncrement Option1 Option2 MText EcritText) (princ "\nDéveloppé par Denis H. (v:1.7)") (defun EcritText (/ xSurf xMatri Pt_Deb_Fle) ;; (setq xMatri (strcat PrefixIncrement (itoa ValIncrement))) (SetXdataForApplication (entlast) "Matri" (list (cons 1000 xMatri))) (setq xSurf (rtos (getpropertyvalue (entlast) "Area") 2 1)) (SetXdataForApplication (entlast) "Surf" (list (cons 1000 xSurf))) ;; (setq Pt_Deb_Fle (getpoint "\nCliquer l'emplacement du texte :")) ;_ Fin de setq ;; (initget "Altitudes sansProfondeur sansHauteur sansLimite") (setq Option3 (getkword (strcat "\nChoix des textes [Altitudes/sansProfondeur/sansHauteur/sansLimite] <Altitudes> : ") ;_ Fin de strcat ) ;_ Fin de getkword ) ;_ Fin de setq (cond ((= Option3 "Altitudes") (setq Opt3 "Altitudes")) ((= Option3 "sansProfondeur") (setq Opt3 "sans profondeur")) ((= Option3 "sansHauteur") (setq Opt3 "sans hauteur")) ((= Option3 "sansLimite") (setq Opt3 "sans limite")) (T (setq Opt3 "Altitudes")) ) ;_ Fin de cond (setq MText (strcat "\\H1.2\\L" PrefixIncrement (itoa ValIncrement) "\\l\\P\\H1S=" xSurf "m²\\P" Opt3)) (command "_.-MTEXT" Pt_Deb_Fle "J" "MC" "H" 1.0 Pt_Deb_Fle MText "") ;; ;; ;;;Défini les quatre coins du MText de (gile) (princ "\nDéfini les quatre coins du MText de (gile)") (setq MTxt (entlast)) (setq elst (entget (entlast))) (if (= "MTEXT" (cdr (assoc 0 (entget (entlast))))) (setq nor (cdr (assoc 210 elst)) ref (trans (cdr (assoc 10 elst)) 0 nor) rot (angle '(0 0 0) (trans (cdr (assoc 11 elst)) 0 nor)) wid (cdr (assoc 42 elst)) hgt (cdr (assoc 43 elst)) jus (cdr (assoc 71 elst)) org (list (cond ((member jus '(2 5 8)) (/ wid -2)) ((member jus '(3 6 9)) (- wid)) (T 0.0) ) ;_ Fin de cond (cond ((member jus '(1 2 3)) (- hgt)) ((member jus '(4 5 6)) (/ hgt -2)) (T 0.0) ) ;_ Fin de cond ) ;_ Fin de list plst (mapcar (function (lambda (p) (mapcar '+ org p))) (list (list (- 0.1) (- 0.1)) (list (+ wid 0.1) (- 0.1)) (list (+ wid 0.1) (+ hgt 0.1)) (list (- 0.1) (+ hgt 0.1)) ) ;_ Fin de list ) ;_ Fin de mapcar ) ;_ Fin de setq (setq box (textbox elst) ref (cdr (assoc 10 elst)) rot (cdr (assoc 50 elst)) plst (list (list (- (caar box) 0.1) (- (cadar box) 0.1)) (list (+ (caadr box) 0.1) (- (cadar box) 0.1)) (list (+ (caadr box) 0.1) (+ (cadadr box) 0.1)) (list (- (caar box) 0.1) (+ (cadadr box) 0.1)) ) ;_ Fin de list ) ;_ Fin de setq ) ;_ Fin de if (setq mat (list (list (cos rot) (- (sin rot)) 0) (list (sin rot) (cos rot) 0) '(0 0 1)) ;_ Fin de list plst (mapcar (function (lambda (p) (mapcar '+ (mxv mat p) (list (car ref) (cadr ref)))) ;_ Fin de lambda ) ;_ Fin de function plst ) ;_ Fin de mapcar ) ;_ Fin de setq (setq Pt1 (list (car (nth 0 plst)) (cadr (nth 0 plst)))) (setq Pt2 (list (car (nth 1 plst)) (cadr (nth 1 plst)))) (setq Pt3 (list (car (nth 2 plst)) (cadr (nth 2 plst)))) (setq Pt4 (list (car (nth 3 plst)) (cadr (nth 3 plst)))) (setvar "osmode" 0) ;; (princ "\nDébut calcul flèche") (setq p3 (polar Pt_Deb_Fle (angle Pt_Deb_Fle Pt1) Long)) (princ "\nDébut Flèche") ;(command "_.pline" Pt_Deb_Fle "_w" 0 Larg p3 "_w" 0 0 Pt_Fin_Fle "") (princ "\nDébut Cadre") (command "_.pline" Pt1 Pt2 Pt3 Pt4 Pt1 "") ;_ Fin de command (vlax-ldata-put "DenisH" "ValIncrement" (+ ValIncrement 1)) (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement")) ) ;_ Fin de defun ;;; Active le début de l'undo (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (setq old_cmdecho (getvar "cmdecho") old_osmode (getvar "osmode") ) ;_ Fin de setq (command "-calque" "e" "MARTY-SURFACES_FRACTIONS" "co" "u" "255,0,255" "MARTY-SURFACES_FRACTIONS" "") ;_ Fin de command (setq PrefixIncrement (vlax-ldata-get "DenisH" "PrefixIncrement" "VarB")) (if (= PrefixIncrement nil) (vlax-ldata-put "DenisH" "PrefixIncrement" "VarB") ) ;_ Fin de if (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement" 0)) (if (or (= ValIncrement "") (= ValIncrement nil)) (progn (vlax-ldata-put "DenisH" "ValIncrement" 0) (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement")) ) ;_ Fin de progn ) ;_ Fin de if (if (not (tblsearch "style" "Surface")) (command "-style" "Surface" "arial.ttf" "" "" "" "" "" "") ) ;_ Fin de if (command "textstyle" "Surface") (while (/= (type Option1) 'LIST) (initget "Préfix Nombre Suivant") (setq Option1 (getkword (strcat "\nOptions des textes [Préfix/Nombre/Suivant] <" PrefixIncrement (itoa ValIncrement) "> : ") ;_ Fin de strcat ) ;_ Fin de getkword ) ;_ Fin de setq (cond ((= Option1 "Préfix") (setq PrefixIncrement (getstring (strcat "\nSaisir le préfix de l'incrémentation <" PrefixIncrement "> : ")) ;_ Fin de getstring ) ;_ Fin de setq (vlax-ldata-put "DenisH" "PrefixIncrement" PrefixIncrement) ) ((= Option1 "Nombre") (setq ValIncrement (getint "\nSaisir le prochain numéro de l'incrémentation : ")) ;_ Fin de getstring (if (or (= ValIncrement "") (= ValIncrement nil)) (vlax-ldata-put "DenisH" "ValIncrement" 0) (vlax-ldata-put "DenisH" "ValIncrement" ValIncrement) ) ;_ Fin de if ) ((= Option1 "Suivant") (initget "Contour Polyligne") (setq Option2 (getkword "\nOptions des textes [Contour/Polyligne] <Contour> : ") ;_ Fin de strcat ) ;_ Fin de getkword (cond ((or (= Option2 "Contour") (= Option2 nil)) ;_ Fin de or (while (princ "\nChoisir le contour :") (command "-contour" "O" "O" "P" "" pause "") (EcritText)) ) ((= Option2 "Polyligne") (while (princ "\nSaisisser le contour :") (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause)) ;_ Fin de while ) ;_ Fin de command (EcritText) ) ;_ Fin de while ) ) ;_ Fin de cond ) ) ;_ Fin de cond ) ;_ Fin de while (setvar "osmode" old_osmode) (setvar "cmdecho" old_cmdecho) (setvar "plinewid" 0) ;;; Fin de l'undo (vla-endundomark doc) (princ) ) ;_ Fin de defun
  21. As-tu ce style de texte ?
  22. Normalement, ton texte devrait être en style "Surface"...
  23. As-tu retouché mon code ? Je vois des "\" qui manquent...
  24. Es-tu dans l'éditeur de Lisp d'AutoCAD ?
  25. Je croyais que tu avais enlevé le "H" 1.0 dans (command "_.-MTEXT" Pt_Fin_Fle "J" OptionIns "H" 1.0 Pt_Fin_Fle MText "") Ce qui donnerait : (command "_.-MTEXT" Pt_Fin_Fle "J" OptionIns Pt_Fin_Fle MText "")
×
×
  • 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é