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. Bonjour à tous. Aujourd'hui, j'ai un petit problème qui se pose. Je fais un ssget pour sélectionner toutes les polylignes d'un calque. Mais j'aimerais trier celles qui sont inférieures à 2m. Voici mon ssget : (setq Select (ssget "_A" (list (cons 0 "LWPOLYLINE") (cons 6 "ST_FDP_HAIED")))) Si quelqu'un as une astuce, un conseil... Je suis preneur...
  2. C'est vraiment curieux comme comportement. Bien-sur, ce calque n'est pas verrouillé... Juste pour être sûr... Sinon, peut-tu m'envoyer ce fichier ? Si c'est possible...
  3. Je ne pense pas que le problème vienne de là. As-tu essayé avec le calque déjà créé ? Copie/colle cette ligne dans la ligne de commande d'AutoCAD et tape [ENTRÉE]. Que ce passe t'il ?
  4. Salut Hydro8. Le fichier texte ne sera pas réécrit en totalité lors de l'ajout d'un contour. Mais j'ai une solution que je peux gérer. Je t'ai fais deux codes : Hydro8_Poly : pour créer les polylignes avec les textes multiligne tels que je t'avais écris au-dessus avec export dans un fichier texte .surf. Il créé des xdata liés aux polylignes (j'ai résolu un petit problème d'incrémentation). Hydro8_List : l'exportation des données faite par le nouveau code suivant dans un fichier texte .surf. Cet export se fait sur toutes les polylignes contenant des xdata, donc, il ne tiendra pas compte des contour supprimés. Mais attention, les contours ne doivent pas être modifiés, ils doivent impérativement être recréés par la première commande. Voici le 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:1.7)") (defun EcritText (/ xSurf xMatri Pt_Ins) ;; (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_Ins (getpoint "\nCliquer l'emplacement du texte :")) ;_ Fin de setq (setq MText (strcat "\\H1.2" PrefixIncrement (itoa ValIncrement) "\\P\\H1S=" xSurf "m²\\PING")) (command "_.-MTEXT" Pt_Ins "J" "MC" "H" 1.0 Pt_Ins MText "") ;;Écriture dans un fichier. (setq Fichier (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4))) (setq Fichier (strcat (getvar "dwgprefix") Fichier ".Surf")) (setq FichierEcrit (open Fichier "a")) (write-line (strcat PrefixIncrement (itoa ValIncrement) " = " xSurf) FichierEcrit) (close FichierEcrit) (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" "") (setq PrefixIncrement (vlax-ldata-get "DenisH" "PrefixIncrement" "13B")) (if (= PrefixIncrement nil) (vlax-ldata-put "DenisH" "PrefixIncrement" "13B") ) ;_ 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 ;;; *********************************************************** ;;; Exporte les Xdata (Matri et Surf) des entités d'un dessin ;;; vers un fichier texte Pour Hydro8 de CadXP.com ;;; *********************************************************** (defun c:Hydro8_List (/) (princ "\nDéveloppé par Denis H. (v:1.0)") (setq Fichier (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4))) (setq Fichier (strcat (getvar "dwgprefix") Fichier ".Surf")) (setq FichierEcrit (open Fichier "a")) (if (setq ss (ssget "_X" '((0 . "LWPOLYLINE") (8 . "MARTY-SURFACES_FRACTIONS")))) (progn (setq i 0) (while (setq ssObj (ssname ss i)) (setq i (1+ i)) (setq xMatri (cdr (assoc 1000 (GetXdataForApplication ssObj "Matri")))) (setq xSurf (cdr (assoc 1000 (GetXdataForApplication ssObj "Surf")))) (if (and (/= xMatri "") (/= xMatri nil)) (write-line (strcat xMatri " = " xSurf) FichierEcrit) ) ;_ Fin de if ) ;_ Fin de while ) ;_ Fin de progn ) ;_ Fin de if (close FichierEcrit) (princ) ) ;_ Fin de defun En espérant t'avoir été utile... Tiens moi au courant, si ça fonctionne bien comme tu le désirais... Denis...
  5. Par contre, je me permet une petite correction, pour le cas ou d'autres seraient à la recherche de la même chose (remplacer "ent" par "ename" dans la deuxième ligne) : (defun GetXdataForApplication (ename appName) (cdadr (assoc -3 (entget ename (list appName)))) ) Et encore merci pour ce code, que j'ai osé modifié pour répondre à mes souhaits : (defun GetXdataForApplication (ename appName) (cdr (assoc 1000 (cdadr (assoc -3 (entget ename (list appName)))))) ) De cette façon, c'est bien la valeur cherchée qui est retournée...
  6. Salut (gile), et merci pour ton aide... Effectivement, c'est bien ça que je souhaitais faire, mais... Comment dire... En 7 lignes de code, tu as réussi à me perdre... ;) C'est avec les list, les évaluation, les cons, les apostrophes... Que j'ai encore beaucoup de mal. J'ai réellement besoin d'une formation, car c'est la base ça... En tous cas, encore merci... C'est génial ! ! !
  7. Bonjour à tous. Aujourd'hui, j'aimerai en savoir plus sur les xData, mais je n'ai rien trouvé (sauf en anglais). Je tente déjà d'attacher des xdata à une entité, j'ai essayé ça (que j'ai trouvé ici) : (setq lastent (entget (entlast))) (setq xMatri (strcat PrefixIncrement (itoa ValIncrement))) (regapp "Matri") (setq exdata '((-3 ("Matri" (1000 . xMatri))))) (setq newent (append lastent exdata)) (entmod newent) mais AutoCAD me répond : Dans la Console, j'ai bien : Quelqu'un aurait des renseignements, des tutos...?
  8. Je ne comprend pas pourquoi, chez moi, il n'y a qu'une seule polyligne par contour. Si je place un texte à l'intérieur, ça fait la même chose, une seule polyligne...
  9. Salut. Je ne comprend pas, une polyligne se créée autour d'un texte ? Et quel texte ?
  10. DenisHen

    Mtext et exposant

    Nos grands Maîtres font la course ! ! ! ;)
  11. De rien... C'était avec plaisir...
  12. Oui, c'est possible avec les "xdata", mais il me faudra plusieurs jours pour me renseigner dessus, les assimilés et réécrire la totalité du lisp que je t'ai écris. Et je t'avoue que je n'aurais pas le temps nécessaire pour faire tous ça... Mais ça peut être très intéressant de le faire... Désolé...
  13. DenisHen

    Mtext et exposant

    C'est encore moi... Essayes ça : (setq MText (strcat PrefixIncrement (itoa ValIncrement) "\\PS=" (rtos Surf 2 1) "m\U+2082\\PING")) J'ai trouvé ça ici. Peut-être qu'il faudra doubler le "\" devant le "U"...
  14. C'est curieux comme comportement, peut-être qu'un autre membre de CadXP aura la solution... Peut-être en ouvrant un nouveau fil...
  15. Au sujet du Â, si tu édite le texte, tu peux l'effacer ?
  16. Regarde dans Options\Affichage\Polices, il y a peut-être une "mauvaise" police...?
  17. Cool, on y est arrivé... Ravi d'avoir aider... Je pensais, apparemment à tord, que ça fixait cette valeur si (vlax-ldata-get "DenisH" "ValIncrement") était vide... Je n'ai aucun renseignement là-dessus. Peut-être que c'est la police d'affichage, chez moi, tout va bien... :huh:
  18. GRRRR ! ! ! Je déteste quand ce que je fais ne fonctionne pas ! ! ! Supprime le 1 dans : (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement" 1)) On va bien voir, chez moi, ça fonctionne dans un nouveau dessin...
  19. Pourtant, le "e" créé le calque s'il n'existe pas et le rend courant, qu'il existe ou pas... Essaye ça (avec le "-" devant calque") : (command "-calque" "e" "MARTY-SURFACES_FRACTIONS" "co" "u" "255,0,255" "MARTY-SURFACES_FRACTIONS" "") Je n'ai aucune idée sur ce problème...
  20. La police ARIAL comporte ce symbole, qui fonctionne très bien chez moi. Je n'ai aucun problème avec le calque, l'aurais-tu verrouillé, gelé...? J'ai oublié une de tes requètes, la hauteur différente entre les lignes du texte, remplace la ligne (setq MText (strcat PrefixIncrement (itoa ValIncrement) "\\PS=" (rtos Surf 2 1) "m²\\PING")) par cette ligne : (setq MText (strcat "\\H2" PrefixIncrement (itoa ValIncrement) "\\P\\H1S=" (rtos Surf 2 1) "m²\\PING"))
  21. Bon, je vais y arrivé... ;) Voici la dernière version, seul problème, on ne peut l'arrêter que par [ESC], la touche [ENTREE] génère une erreur, ce qui arrête la commande. Mais je pense que ça fait ce que tu voulais... : ;;; *********************************************************** ;;; Dessine un contour, puis place un texte incrémenté et la ;;; surface dans un multitexte Pour Hydro8 de CadXP.com ;;; *********************************************************** (defun c:Hydro8 (/ old_osmd PrefixIncrement ValIncrement Option1 Option2 MText EcritText) (princ "\nDéveloppé par Denis H. (v:1.6)") ;;; Active le début de l'undo (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (defun EcritText (/ Surf Pt_Ins) (setq Surf (getpropertyvalue (entlast) "Area")) (setq Pt_Ins (getpoint "\nCliquer l'emplacement du texte :")) ;_ Fin de setq (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement")) (setq MText (strcat PrefixIncrement (itoa ValIncrement) "\\PS=" (rtos Surf 2 1) "m²\\PING")) (vlax-ldata-put "DenisH" "ValIncrement" (+ 1 ValIncrement)) (command "_.-MTEXT" Pt_Ins "J" "MC" "H" 1.0 Pt_Ins MText "") ;;Écriture dans un fichier. (setq Fichier (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4))) (setq Fichier (strcat (getvar "dwgprefix") Fichier ".Surf")) (setq FichierEcrit (open Fichier "a")) (write-line (strcat PrefixIncrement (itoa ValIncrement) " = " (rtos Surf 2 1)) FichierEcrit) (close FichierEcrit) ) ;_ Fin de defun (setq old_osmd (getvar "osmode")) (command "calque" "E" "MARTY-SURFACES_FRACTIONS" "co" "u" "255,0,255" "MARTY-SURFACES_FRACTIONS" "") (setq PrefixIncrement (vlax-ldata-get "DenisH" "PrefixIncrement" "13B")) (if (= PrefixIncrement nil) (vlax-ldata-put "DenisH" "PrefixIncrement" "13B") ) ;_ Fin de if (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement" 1)) (if (= ValIncrement nil) (vlax-ldata-put "DenisH" "ValIncrement" 1) ) ;_ Fin de if (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 (princ Option1) (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 (strcat "\nSaisir le prochain numéro de l'incrémentation " (itoa ValIncrement) " : "))) ;_ Fin de getstring (if (or (/= ValIncrement "") (/= ValIncrement nil) (/= ValIncrement 0)) (vlax-ldata-put "DenisH" "ValIncrement" ValIncrement) (vlax-ldata-put "DenisH" "ValIncrement" 0) ) ;_ 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 (getvar "osmode" old_osmd) (setvar "plinewid" 0) ;;; Fin de l'undo (vla-endundomark doc) (princ) ) ;_ Fin de defun Pour le symbole du carré "²", c'est une question de police, chez moi, ça fonctionne nickel... PS : j'ai enlevé les drapeaux...
  22. Je regarde ce que tu m'as dis, effectivement, il y a problème... Pour le sympole "²", je pense qu'il faut écrire "\C0178", mais je regarde aussi...
  23. Je pense que ça répond à tes besoins : ;;; *********************************************************** ;;; Dessine un contour, puis place un texte incrémenté et la ;;; surface dans un multitexte Pour Hydro8 de CadXP.com ;;; *********************************************************** (defun c:Hydro8 (/ old_osmd PrefixIncrement ValIncrement Option1 Option2 Surf Pt_Ins MText) (princ "\nDéveloppé par Denis H.") ;;; Active le début de l'undo (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) (setq old_osmd (getvar "osmode")) (command "calque" "E" "MARTY-SURFACES_FRACTIONS" "co" "u" "255,0,255" "MARTY-SURFACES_FRACTIONS" "") (setq PrefixIncrement (vlax-ldata-get "DenisH" "PrefixIncrement" "13B")) (if (= PrefixIncrement nil) (vlax-ldata-put "DenisH" "PrefixIncrement" "13B") ) ;_ Fin de if (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement" 1)) (if (= ValIncrement nil) (vlax-ldata-put "DenisH" "ValIncrement" 1) ) ;_ Fin de if (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 (princ Option1) (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 (strcat "\nSaisir le prochain numéro de l'incrémentation " (itoa ValIncrement) " : "))) ;_ Fin de getstring (if (or (/= ValIncrement "") (/= ValIncrement nil) (/= ValIncrement 0)) (vlax-ldata-put "DenisH" "ValIncrement" ValIncrement) (vlax-ldata-put "DenisH" "ValIncrement" 0) ) ;_ 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") ;_ Fin de setq (= Option2 "") (= Option2 nil) ) ;_ Fin de or (princ "\nChoisir le contour :") (command "-contour" "O" "O" "P" "" pause "") ) ((= Option2 "Polyligne") (princ "\nSaisisser le contour :") (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause)) ;_ Fin de while ) ;_ Fin de command ) ) ;_ Fin de command (setq Surf (getpropertyvalue (entlast) "Area")) (while (/= (setq Pt_Ins (getpoint "\nCliquer l'emplacement du texte :")) ;_ Fin de setq nil ) ;_ Fin de /= (setq MText (strcat PrefixIncrement (itoa ValIncrement) "\\P" (rtos Surf 2 2))) (vlax-ldata-put "DenisH" "ValIncrement" (+ 1 ValIncrement)) (command "_.-MTEXT" Pt_Ins "R" 0 "J" "MC" "H" 1 Pt_Ins MText "") ;;Écriture dans un fichier. (setq Fichier (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4))) (setq Fichier (strcat (getvar "dwgprefix") Fichier ".Surf")) (setq FichierEcrit (open Fichier "a")) (write-line (strcat PrefixIncrement (itoa ValIncrement) " = " (rtos Surf 2 2)) FichierEcrit) (close FichierEcrit) (cond ((= Option2 "Contour") (princ "\nChoisir le contour :") (command "-contour" "O" "O" "P" "" pause "") ) ((= Option2 "Polyligne") (princ "\nSaisisser le contour :") (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause)) ;_ Fin de while ) ;_ Fin de command ) ) ;_ Fin de cond ) ;_ Fin de while (getvar "osmode" old_osmd) (setvar "plinewid" 0) ;;; Fin de l'undo (vla-endundomark doc) ) ) ;_ Fin de cond ) ;_ Fin de while (princ) ) ;_ Fin de defun
  24. je pense que c'est fait, mais il doit y avoir une solution plus propre. Je n'ai pas bien compris, faut-il obliger l'utilisateur à cliquer un point ou faut-il ne rien faire si l'utilisateur refuse de cliquer le point d'insertion du texte ?
  25. Voici le code avec le choix "Contour" par défaut : ;;; *********************************************************** ;;; Dessine un contour, puis place un texte incrémenté et la ;;; surface dans un multitexte Pour Hydro8 de CadXP.com ;;; *********************************************************** (defun c:Hydro8 (/ old_osmd PrefixIncrement ValIncrement Option1 Option2 Surf Pt_Ins MText) (princ "\nDéveloppé par Denis H.") ;;; Active le début de l'undo (setq doc (vla-get-activedocument (vlax-get-acad-object))) (vla-startundomark doc) ;;; (setq NbDec (getvar "luprec")) (setq PrefixIncrement (vlax-ldata-get "DenisH" "PrefixIncrement" "13B")) (if (= PrefixIncrement nil) (vlax-ldata-put "DenisH" "PrefixIncrement" "13B") ) ;_ Fin de if (setq ValIncrement (vlax-ldata-get "DenisH" "ValIncrement" 1)) (if (= ValIncrement nil) (vlax-ldata-put "DenisH" "ValIncrement" 1) ) ;_ Fin de if (initget "Préfix Nombre") (setq Option1 (getkword (strcat "\nOptions des textes [Préfix/Nombre] <" 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 (strcat "\nSaisir le prochain numéro de l'incrémentation " (itoa ValIncrement) " : "))) ;_ Fin de getstring (vlax-ldata-put "DenisH" "ValIncrement" ValIncrement) ) ) ;_ Fin de cond (setq old_osmd (getvar "osmode")) (command "calque" "E" "MARTY-SURFACES_FRACTIONS" "co" "u" "255,0,255" "MARTY-SURFACES_FRACTIONS" "") (initget "Contour Polyligne") (setq Option2 (getkword "\nOptions des textes [Contour/Polyligne] <Contour> : ") ;_ Fin de strcat ) ;_ Fin de getkword (cond ((or (= Option2 "Contour") ;_ Fin de setq (= Option2 "") (= Option2 nil) ) ;_ Fin de or (princ "\nChoisir le contour :") (command "-contour" "O" "O" "P" "" pause "") ) ((= Option2 "Polyligne") (princ "\nSaisisser le contour :") (command "_.pline" (while (not (zerop (getvar "cmdactive"))) (command pause)) ;_ Fin de while ) ;_ Fin de command ) ) ;_ Fin de command (setq Surf (getpropertyvalue (entlast) "Area")) (setq Pt_Ins (getpoint "\nCliquer l'emplacement du texte :")) (setq MText (strcat PrefixIncrement (itoa ValIncrement) "\\P" (rtos Surf 2 2))) (vlax-ldata-put "DenisH" "ValIncrement" (+ 1 ValIncrement)) (command "_.-MTEXT" Pt_Ins "R" 0 "J" "MC" "H" 1.75 Pt_Ins MText "") ;;Écriture dans un fichier. (setq Fichier (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4))) (setq Fichier (strcat (getvar "dwgprefix") Fichier ".Surf")) (setq FichierEcrit (open Fichier "a")) (write-line (strcat PrefixIncrement (itoa ValIncrement) " = " (rtos Surf 2 2)) FichierEcrit) (close FichierEcrit) (getvar "osmode" old_osmd) (setvar "plinewid" 0) ;;; Fin de l'undo (vla-endundomark doc) (princ) ) ;_ Fin de defun
×
×
  • 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é