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. DenisHen

    donnée d'objet

    La documentation sur MAP m'intéresse aussi beaucoup, j'ai le même problème hiérarchique ! ! Denis...
  2. DenisHen

    donnée d'objet

    Salut à tous, Merci lili2006, je vais voir tout ça dès lundi... Denis...
  3. DenisHen

    donnée d'objet

    Bonsoir à tous, J'ai juste une petite question au sujet des "données d'objet", que je ne connais absolument pas. Peut-on créer et renseigner n'importe quel champs sur n'importe quelle entité (ex : un champs "propriétaire" sur une polyligne) ? Dans le but de garder un lien entre la DAO et une table (fichier dbf) d'un SIG ? Car je vois dans l'exemple en image de lili2006 que la fenêtre AutoCAD est la même que pour l'export en SHAPEFILE d'AutoCAD MAP... Si on peut lier une table d'un SIG directement à un dwg, ça doit être intéressant à mettre en oeuvre et je fouillerais la question... J'ai une une formation de 2 heures vite fait par un collègue sur QGis 2.8 et je dois, depuis cette pseudo-formation la semaine dernière, faire du SIG ! ! Merci et bon week-end à tous... Denis...
  4. DenisHen

    Mon carroyage disparait

    Salut, Merci pour cette astuce, je n'utilise que très rarement le clique droit... C'est un tord que j'ai du mal à corriger... Je travaille encore comme si j'étais avec AutoCAD 9 sous DOS... ;-) Je testerais ça lundi... Merci encore La Lozère... Denis...
  5. Effectivement, vu de cette manière, ça parait plus simple. Merci pour la mnémotechnie, j'essairais de m'en souvenir... Denis...
  6. Bonjour à tous, Voilà, je viens de découvrir un truc qui ne me parait pas normal. Lorsque je fais un carroyage avec la commande CARROYOBJ, elle gère seul la création de la présentation pour l'espace papier. Jusque là, tout va bien. J'ai donc, sur un format de papier 915x3500 un cartouche à coté de mon carroyage qui fait 29.7 de haut (du A4 en fait). Je copie ces entités (cartouche + présentation) au dessus pour mieux remplir mon papier et éviter les chuttes... Mais après quelques commandes et plusieurs passages entre l'espace papier et l'espace objet... Mon deuxième carroyage (celui copié) disparait sans que je sache pourquoi... Le calque contenant mon carroyage est bien actif, il n'est gelé dans aucune fenêtre... Si quelqu'un a une explication ou une astuce pour palier à mon petit problème, je suis preneur... Bon week-end à tous... Denis...
  7. Merci Bruno... Effectivement... J'ai rippé... J'utilise pourtant l'IDE mais je n'avais pas remarqué la couleur... C'est pourtant simple... Je me donnerais des baffes parfois... Merci encore... Denis...
  8. Bonjour Bruno, Merci, je n'avais pas vu "ATOF"... Ca fonctionne nikel. Juste une petite question : j'avais mis un "princ" après ma formule pour vérifier la valeur de Zgs. (princ (srtcat "\nZgs=" Zgs)) Mais je ne comprend pas pourquoi elle plante... En tous cas, merci encore, c'est impécable... Denis...
  9. Bonjours à tous, Voilà, j'ai un petit souci. J'ai deux chaines et il faut que j'en soustrais une à l'autre (Zgs=Zgs-prf). Pour celà, je dois convertir ces deux chaines en réels puis, convertir à nouveau le résultat en chaine. J'ai ceci : ;prf = "0.95" ;Zgs = "63.83" (setq Zgs (itoa (- (atoi Zgs) (atoi prf)))) Mais je suis paumé dans les "ITOA", "ATOI" et "RTOS" malgré la lecture de l'excellente "Introduction _a_AutoLISP.pdf" de (gile)... En effet, le résultat de Zgs me donne "63" et je n'ai plus de décimales... Et je n'ai pas de liens avec l'aide aux développeurs depuis Visual LISP. Si quelqu'un a une idée... Merci d'avance... Denis...
  10. Bonjour à tous, Merci encore BonusCAD pour cette réponse, ça fonctionne nikel... Denis...
  11. Bonjour à tous, Mille mercis BonusCAD ! ! ! C'est exactement ça, ça fonctionne nikel... Denis...
  12. Bonjour, Et merci pour vos réponses, La solution de BonusCAD était plus "simple" pour moi... Merci tout de même à vous, ça fonctionne nikel... Denis...
  13. Bonjour à tous, Voilà, j'ai un petit problème d'angle ou d'unités avec un bout de code récupéré depuis un LiSP de (gile) qui me sort la valeur de l'angle d'un segment d'une polylign ou d'une droite, Je poste ma macro entière : (defun c:TXTversPTRL () (setvar "cmdecho" 1) (setq old_osmd (getvar "osmode") old_abase (getvar "angbase") old_adir (getvar "angdir") old_aunits (getvar "aunits") ) ;_ Fin de setq (setvar "osmode" 0) (setvar "angbase" 0) (setvar "angdir" 0) (setvar "cmdecho" 0) (setvar "aunits" 2) (setq Txt_ptrl (car (entsel "\nSélectionnez le texte du PTRL :"))) (wcmatch (cdr (assoc 0 (setq elst (entget Txt_ptrl)))) "*TEXT") (setq txt (cdr (assoc 1 elst))) ;; Séparation de la chaîne de caractères en une liste de 2 chaînes (setq txt (gc:str2lst txt " ")) ; ("(0.80)" "Zs=52.78") ;; prf = Supression du 1er et dernier caractère de la 1ère chaîne de caractères (setq prf (substr (car txt) 2 (- (strlen (car txt)) 2))) ; "0.80" ;; ZGs = Séparation de la seconde chaîne de caractères, en gardant le 2ème élèment (setq ZGs (cadr (gc:str2lst (cadr txt) "="))) ; "52.78" (setq pt_ins (getpoint "\nPoint d'insertion du PTRL : ")) (setvar "attdia" 0) (command "inserer" "PTRL_PF_ZG" pt_ins "1" "1" "0" prf ZGs) (setvar "attdia" 1) (setq prf (strcat "pf:" prf)) (setq ZGs (strcat "Zgs=" ZGs)) ;Récupération du segment de la polyligne (while (null (setq e_seg (entsel "\nSélectionnez le segment de la polyligne : ")); <-----------Sélection ici de ma polyligne ) ;_ Fin de null ) ;_ Fin de while ;(princ "\nDrapeau 01") (setq typent (cdr (assoc 0 (setq dxf_ent (entget (car e_seg)))))) (cond ((or (eq typent "XLINE") (eq typent "RAY")) (setq dxf_11 (cdr (assoc 11 dxf_ent))) (setq x_alpha (atan (/ (cadr dxf_11) (car dxf_11)))) (grdraw (trans (cdr (assoc 10 dxf_ent)) 0 1) (polar (trans (cdr (assoc 10 dxf_ent)) 0 1) x_alpha (distance (getvar "vsmin") (getvar "vsmax")) ) ;_ Fin de polar -1 1 ) ;_ Fin de grdraw ) ((eq typent "LINE") (setq x_alpha (angle (cdr (assoc 10 dxf_ent)) (cdr (assoc 11 dxf_ent)) ) ;_ Fin de angle ) ;_ Fin de setq (grdraw (trans (cdr (assoc 10 dxf_ent)) 0 1) (trans (cdr (assoc 11 dxf_ent)) 0 1) -1 1 ) ;_ Fin de grdraw ) ((or (eq typent "LWPOLYLINE") (and (eq typent "POLYLINE") (zerop (boole 1 118 (cdr (assoc 70 dxf_ent)))) ) ;_ Fin de and ) ;_ Fin de or (setq l_2pt (near_vertex_arr e_seg)) (grdraw (car l_2pt) (cadr l_2pt) -1 1) (if (zerop (caddr l_2pt)) (setq x_alpha (angle (trans (car l_2pt) 1 0) (trans (cadr l_2pt) 1 0) ) ;_ Fin de angle ) ;_ Fin de setq (progn (setq x_alpha nil) (princ "\nNe peut obtenir un angle depuis ce type d'objet!") ) ;_ Fin de progn ) ;_ Fin de if ) (T (princ "\nNe peut obtenir un angle depuis ce type d'objet!") (redraw) ) ) ;_ Fin de cond ;(princ "\Drapeau 04") ;Ecriture et déplacement du texte le long du texte (command "textstyle" "Profondeur") ;(princ "\Drapeau 05") ;Ecriture de la profondeur sur le point du PTRL (setq x_alpha (* (/ x_alpha 90) 100)) ; passage de degrés à grades <--------------Je pense que mon problème est ici-------- (command "texte" "j" "mc" pt_ins x_alpha prf) ;Déplacement de la profondeur depuis le pt_ins pour le placer ;correctement le texte le long du segment de la Pline (command "_move" "d" pt_ins "pause") (command "texte" pt_ins x_alpha ZGs) (command "_move" "d" pt_ins pause) ;Réaffectation des variables AutoCAD (setvar "osmode" old_osmd) (setvar "angbase" old_abase) (setvar "angdir" old_adir) (setvar "aunits" old_aunits) (princ) ) ;_ Fin de defun ;Recherche de l'angle du segment cliqué, (Bout de programme de (gile) : ALTxt.lsp) (defun near_vertex_arr (obj / obj dxf_obj obj_vlax pt_sel par pt_first pt_snd i bulge e_next ) (setq dxf_obj (entget (car obj))) (vl-load-com) (setq obj_vlax (vlax-ename->vla-object (car obj)) pt_sel (vlax-curve-getClosestPointTo obj_vlax (trans (osnap (cadr obj) "_near") 1 0) ) ;_ Fin de vlax-curve-getClosestPointTo par (vlax-curve-getParamAtPoint obj_vlax pt_sel) pt_first (trans (vlax-curve-getPointAtParam obj_vlax (fix par)) 0 1) pt_snd (trans (vlax-curve-getPointAtParam obj_vlax (1+ (fix par))) 0 1 ) ;_ Fin de trans i 0 ) ;_ Fin de setq (cond ((eq (cdr (assoc 0 dxf_obj)) "LWPOLYLINE") (while (or (/= (caar dxf_obj) 42) (if (< i (fix par)) (setq i (1+ i)) ) ;_ Fin de if ) ;_ Fin de or (setq bulge (cdadr dxf_obj) dxf_obj (cdr dxf_obj) ) ;_ Fin de setq ) ;_ Fin de while ) (T (setq e_next (entnext (car obj))) (repeat (fix par) (setq e_next (entnext e_next))) (setq bulge (cdr (assoc 42 (entget e_next)))) ) ) ;_ Fin de cond (list pt_first pt_snd bulge) ) ;_ Fin de defun ;; gc:str2lst ;; Transforme un chaine avec séparateur en liste de chaines ;; Arguments ;; str : la chaîne ;; sep : le séparateur (defun gc:str2lst (str sep / pos) (if (setq pos (vl-string-search sep str)) (cons (substr str 1 pos) (gc:str2lst (substr str (+ (strlen sep) pos 1)) sep)) (list str) ) ;_ Fin de if ) ;_ Fin de defun Lorsque je sélectionne mon segment de polyligne, "x_alpha" est toujours proche de l'angle. Donc, lorsque le texte s'écrit, il n'est pas aligné avec la polyligne... Merci de bien vouloir m'aider... Toute remarque sera la bienvenue, même sur la "propreté" de mon LiSP... Denis...
  14. Bonjour aux Cadixpiens, Voilà, j'ai un petit souci avec une commande en LiSP dans la macro "TXTversPTRL" : J'ai ça dans ma macro LiSP : (command "texte" "j" "mc" pt_ins x_alpha prf) (princ "\nDrapeau 06") ;Déplacement de la profondeur depuis le pt_ins pour le placer correctement le texte le long du segment de la Pline (command "_move" "p" pt_ins) Je pense qu'AutoCAD devrait me passer la main pour que je clique sur l'endroit ou je désir déplacer cet objet, au lieu de ça, il passe sur le Drapeau 06 sans problème, mais lorsque la macro lance la commande "_move", il bute sur "_p" (pour précédent) et plante... J'ai aussi essayé avec (command "texte" "p"... Et aussi avec "_p" "l", "_l"... AutoCAD me répond systématiquement : Commande: TXTVERSPTRL Sélectionnez le texte du PTRL : Point d'insertion du PTRL : Sélectionnez le segment de la polyligne : Drapeau 06Pas de jeu de sélection précédent. Je n'ai pas d'idées pour remédier à ce problème... Si une âme charitable passait par-là... Merci... Denis...
  15. Bonjour à tous, Merci à vous, j'ai donc ma macro ainsi et ça fonctionne à merveille : (defun c:TXTversPTRL () (setq Txt_ptrl (car (entsel "\nSélectionnez le texte du PTRL :"))) (wcmatch (cdr (assoc 0 (setq elst (entget Txt_ptrl)))) "*TEXT") (setq txt (cdr (assoc 1 elst))) ;; Séparation de la chaîne de caractères en une liste de 2 chaînes (setq txt (gc:str2lst txt " ")) ; ("(0.80)" "Zs=52.78") ;; prf = Supression du 1er et dernier caractère de la 1ère chaîne de caractères (setq prf (substr (car txt) 2 (- (strlen (car txt)) 2))) ; "0.80" ;; ZGs = Séparation de la seconde chaîne de caractères, en gardant le 2ème élèment (setq ZGs (cadr (gc:str2lst (cadr txt) "="))) ; "52.78" ;(princ (strcat "\nProfondeur :" prf)) ;(princ (strcat "\nAltitude :" ZGs)) (setq pt_ins (getpoint "\nPoint d'insertion du PTRL : ")) (setvar "attdia" 0) (command "inserer" "PTRL_PF_ZG" pt_ins "1" "1" "0" prf ZGs ) (setvar "attdia" 1) (princ) ) ;_ Fin de defun ;; gc:str2lst ;; Transforme un chaine avec séparateur en liste de chaines ;; ;; Arguments ;; str : la chaîne ;; sep : le séparateur (defun gc:str2lst (str sep / pos) (if (setq pos (vl-string-search sep str)) (cons (substr str 1 pos) (gc:str2lst (substr str (+ (strlen sep) pos 1)) sep)) (list str) ) ;_ Fin de if ) ;_ Fin de defun ;|«Visual LISP© Format Options» (99 2 2 1 T "Fin de " 100 99 0 0 nil nil T nil T) ;*** NE PAS AJOUTER de texte au-dessous du commentaire! ***|; Merci encore... Denis...
  16. Bonjour à tous, Voilà, j'ai des plans de levé terrain qui m'arrivent avec des données dans tous les sens... Ce qui se résume en une multitude de point (des PTRL) avec, à coté, un texte de ce format :"(0.80) Zs=52.78". J'ai commencé une macro qui sélectionne ce text mais je ne sais pas le séparer en deux. Exemple la variable prf serait le texte entre parenthèses "0.80" et ZGs serait l'altitude indiquée "52.78" (ZGs pour Z Génératrice Supérieur). Une fois les textes séparés dans ces deux variables, je pourrais insérer un bloc "PTRL_PF_ZG.dwg" avec ses deux attributs à renseigner. J'ai un début, mais je ne trouve pas la suite... (defun c:TXTversPTRL () (setq Txt_ptrl (car (entsel "\nSélectionnez le texte du PTRL :"))) (wcmatch (cdr (assoc 0 (setq elst (entget Txt_ptrl)))) "*TEXT") (setq txt (cdr (assoc 1 elst))) (setq prf (??)) (setq ZGs (??)) ) Merci de m'aider... Denis...
  17. Salut à tous, Effectivement, Tu m'as soufflé ! ! C'est exactement ça ! ! Seul problème, je ne comprend pas tout, et ça me gêne un peu pour, éventuellement, le modifier. Pas exemple, j'aimerai cliquer un point pour positionner ce texte et ne pas l'insérer au dernier clique. Et surtout, je ne comprend toujours pas pourquoi ma macro ne fonctionne pas... Mais un grand merci à toi... Denis...
  18. ReSalut BonusCAD, WAOUW ! ! ! T'avais ça sous la main ? ? Je suis impatient de tester ça demain matin, dès la première heure... Et je te dirais à quel point tu m'as soufflé ! ! Car je suis sûr que ça doit décoiffé ! ! ! Denis...
  19. J'ai trouvé un indice... C'était dans mon assoc. Il falait chercher l'indice 2 et non le 66, ce qui donne : (setq ent_bloc (entsel "\nSélectionnez le 'PTRL': ")) (princ "\nDrapeau 02") (setq ent_bloc (car ent_bloc)) (princ "\nDrapeau 03") (setq ent_att (entnext ent_bloc)) ;Vérification que le bloc sélectionné est bien "PTRL_PROF" (if (= (cdr (assoc 2 (entget ent_bloc))) "PTRL_PROF") ( (princ "\nDrapeau 04") ;Extraction de la valeur de l'attribut "PROF" (setq att_val (cdr (assoc 1 (entget ent_att)))) ) (princ "Problème 04") ) ;_ Fin de if (princ "\nDrapeau 05") (setq Texte (strcat "pf:" att_val)) Mais maintenant, j'ai çà : Commande: PTRLVERSTXT Sélectionnez le 'PTRL': Drapeau 02 Drapeau 03 Drapeau 04; erreur: fonction incorrecte: "\nDrapeau 04" Je ne comprend pas pourquoi il ne veut pas du setq att_val, puisque dans la Console, j'ai bien : _1$ (setq att_val (cdr (assoc 1 (entget ent_att)))) "0.75" Denis...
  20. Au temps pour moi..., il manquait une parenthèse avant le (princ "\nDrapeau 03")... Je l'ai corrigé dans le code... Maintenant, c'est Drapeau 02 Drapeau 05; erreur: type d'argument incorrect: stringp nil Je n'ai ni le drapeau 3 ni le 4... Je cherche mais ce n'est pas évident ! ! EDIT : J'ai réécris un bout de code pour mieux localiser le problème... Ca donne ça : (if (= (cdr (assoc 66 (entget ent_bloc))) "PTRL_PROF") ( (princ "\nDrapeau 03") (setq ent_att (entnext ent_bloc)) ;Extraction de la valeur de l'attribut "PROF" (princ "\nDrapeau 04") (setq att_val (cdr (assoc 1 (entget ent_att)))) ) (princ "Problème 04") ) Ce qui me donne : Commande: PTRLVERSTXT Sélectionnez le 'PTRL': Drapeau 02Problème 04 Drapeau 05; erreur: type d'argument incorrect: stringp nilCe qui me donne l'impression que mon "if" est mal fait... Dans la Console Visual LISP, j'ai : (cdr (assoc 66 (entget ent_bloc))) 1 Alors qu'en fait, ça devrait me récupérer le nom de l'étiquette... Denis...
  21. Pfff... Je ne m'en sors pas... Parfois, AutoCAD s'arrête entre les Drapeaux 2 et 3 et de temps en temps entre les drapeaux 4 et 5... J'entrave quedalle ! ! :( En ce moment, j'ai ça : Commande: PTRLVERSTXT Sélectionnez le 'PTRL': Drapeau 02; erreur: type d'argument incorrect: lentityp nil Je joint un fichier, si quelqu'un de curieux passe par-là... Denis...
  22. Bonjour BonusCAD Veux-tu dire que celà remplace le "defun near_vertex_arr" ? Denis...
  23. Salut Bruno, Ca fonctionne nikel ! ! C'était bien "-texte" qu'il fallait écrire et non "txtdyn" ! ! ! Encore merci ! !
  24. Bonjour à tous, Voilà, j'ai fais une petite macro comme ça : (defun c:testeTxtDyn () (setq x_alpha 52.89) (setq Texte "TexteAPlacer") (setq xy (getpoint "\nSpécifiez un point d'insertion pour le texte : ")) (command "txtdyn" xy x_alpha Texte "") ) ;_ Fin de defun Pour aller avec la commande "txtdyn" sur AutoCAD qui se fait comme ça : Commande: TXTDYN Style de texte courant: "Standard" Hauteur de texte: 0.20 Annotatif: Non Justifier: HC Spécifiez le milieu du texte ou [Justifier/Style]: ;je clique un point Spécifiez l'angle de rotation du texte <75.1654g>:52.89 ;je rentre l'angle Et là, je tape le texte Seulement, ma macro attend une saisie "manuelle" du texte... Et je ne sais pas pourquoi... Si quelqu'un a une solution... Denis...
  25. Bon, il y a un truc que je ne comprend pas... J'ai mon code qui est : ; Récupère l'attribut "PROF" dans le bloc "PTRL_PROF" et cré un texte type "Pf:x.xx" en l'allignant sur un segment de polyligne (defun c:PtrlVersTxt () (vl-load-com) ;Sauvegarde des variables AutoCAD courantes (setq old_osmd (getvar "osmode") old_abase (getvar "angbase") old_adir (getvar "angdir") ) ;_ Fin de setq ;Attribution de variables AutoCAD (setvar "osmode" 0) (setvar "angbase" 0) (setvar "angdir" 0) (setvar "cmdecho" 0) (setq ent_bloc (entsel "\nSélectionnez le 'PTRL': ")) (princ "\nDrapeau 02") (setq ent_bloc (car ent_bloc)) ;Vérification que le bloc sélectionné est bien "PTRL_PROF" (if (= (cdr (assoc 66 (entget ent_bloc))) "PTRL_PROF") ((princ "\nDrapeau 03") (setq ent_att (entnext ent_bloc)) ;Extraction de la valeur de l'attribut "PROF" (princ "\nDrapeau 04") (setq att_val (cdr (assoc 1 (entget ent_att)))) ) ) ;_ Fin de if (princ "\nDrapeau 05") (setq Texte (strcat "pf:" att_val)) ;(princ Texte) ;Récupération du segment de la polyligne (while (null (setq e_seg (entsel "\nSélectionnez le segment de la polyligne : ")) ) ;_ Fin de null ) ;_ Fin de while (setq typent (cdr (assoc 0 (setq dxf_ent (entget (car e_seg)))))) (cond ((or (eq typent "XLINE") (eq typent "RAY")) (setq dxf_11 (cdr (assoc 11 dxf_ent))) (setq x_alpha (atan (/ (cadr dxf_11) (car dxf_11)))) (grdraw (trans (cdr (assoc 10 dxf_ent)) 0 1) (polar (trans (cdr (assoc 10 dxf_ent)) 0 1) x_alpha (distance (getvar "vsmin") (getvar "vsmax")) ) ;_ Fin de polar -1 1 ) ;_ Fin de grdraw ) ((eq typent "LINE") (setq x_alpha (angle (cdr (assoc 10 dxf_ent)) (cdr (assoc 11 dxf_ent)) ) ;_ Fin de angle ) ;_ Fin de setq (grdraw (trans (cdr (assoc 10 dxf_ent)) 0 1) (trans (cdr (assoc 11 dxf_ent)) 0 1) -1 1 ) ;_ Fin de grdraw ) ((or (eq typent "LWPOLYLINE") (and (eq typent "POLYLINE") (zerop (boole 1 118 (cdr (assoc 70 dxf_ent)))) ) ;_ Fin de and ) ;_ Fin de or (setq l_2pt (near_vertex_arr e_seg)) (grdraw (car l_2pt) (cadr l_2pt) -1 1) (if (zerop (caddr l_2pt)) (setq x_alpha (angle (trans (car l_2pt) 1 0) (trans (cadr l_2pt) 1 0) ) ;_ Fin de angle ) ;_ Fin de setq (progn (setq x_alpha nil) (princ "\nNe peut obtenir un angle depuis ce type d'objet!") ) ;_ Fin de progn ) ;_ Fin de if ) (T (princ "\nNe peut obtenir un angle depuis ce type d'objet!") (redraw) ) ) ;_ Fin de cond ;(princ x_alpha) (setq xy (getpoint "\nSpécifiez un point d'insertion pour le texte : ")) ;Placement du texte le long du segment de la polyligne (command "-texte" xy "0.20" x_apha Texte "") ;Réaffectation des variables AutoCAD (setvar "osmode" old_osmd) (setvar "angbase" old_abase) (setvar "angdir" old_adir) ) ;_ Fin de defun ;Recherche de l'angle du segment cliqué, (Bout de programme de (gile) : ALTxt.lsp) (defun near_vertex_arr (obj / obj dxf_obj obj_vlax pt_sel par pt_first pt_snd i bulge e_next ) (setq dxf_obj (entget (car obj))) (vl-load-com) (setq obj_vlax (vlax-ename->vla-object (car obj)) pt_sel (vlax-curve-getClosestPointTo obj_vlax (trans (osnap (cadr obj) "_near") 1 0) ) ;_ Fin de vlax-curve-getClosestPointTo par (vlax-curve-getParamAtPoint obj_vlax pt_sel) pt_first (trans (vlax-curve-getPointAtParam obj_vlax (fix par)) 0 1) pt_snd (trans (vlax-curve-getPointAtParam obj_vlax (1+ (fix par))) 0 1 ) ;_ Fin de trans i 0 ) ;_ Fin de setq (cond ((eq (cdr (assoc 0 dxf_obj)) "LWPOLYLINE") (while (or (/= (caar dxf_obj) 42) (if (< i (fix par)) (setq i (1+ i)) ) ;_ Fin de if ) ;_ Fin de or (setq bulge (cdadr dxf_obj) dxf_obj (cdr dxf_obj) ) ;_ Fin de setq ) ;_ Fin de while ) (T (setq e_next (entnext (car obj))) (repeat (fix par) (setq e_next (entnext e_next))) (setq bulge (cdr (assoc 42 (entget e_next)))) ) ) ;_ Fin de cond (list pt_first pt_snd bulge) ) ;_ Fin de defun Mais AutoCAD me répond : Commande: PTRLVERSTXT Sélectionnez le 'PTRL': Sélectionnez le segment de la polyligne : Spécifiez un point d'insertion pour le texte : Commande inconnue "50". Appuyez sur F1 pour obtenir de l'aide. Commande inconnue "PTRLVERSTXT". Appuyez sur F1 pour obtenir de l'aide. 0 Et je ne sais pas ce qui ne fonctionne pas... Quelqu'un peut m'aider ? Denis...
×
×
  • 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é