DenisHen Posté(e) le 23 avril 2015 Posté(e) le 23 avril 2015 Bonjour à tous, Et merci à tous les intervenants de ces forums grace à qui j'ai déjà appris énormément... Mais là, je but un peu. Ca fait 10 ans que je n'ai pas touché au LiSP "sérieusement". J'ai beaucoup cherché sur le NET et sur CadXP mais je n'ai pas trouvé ce que je cherche à faire... Je souhaiterais créer un LiSP dont le processus serait assez simple, sélectionner un bloc nommé "PTRL_PROF", extraire son unique attribut ("PROF", attibut invisible) et créer un texte aligné le long d'un segment d'une Polyligne avec un préfixe "Pf:". Quelques petites explications (je joins une image pour plus de clareté). 1. le bloc à sélectionner est et sera toujours le bloc "PTRL_PROF" (le petit losange à chaque sommet d'une polyligne), qui n'existe dans AutoCAD uniquement pour en faire un SHP,2. pour la direction du texte, ce sera toujours une polyligne avec que des segments droit, jamais de lissage, d'arc... Je poste déjà ce que j'ai fais et qui est, je pense, le processus à suivre... ; 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 () ;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) ;Sélection du bloc "PTRL_PROF" pour en extraire l'attribut "PROF" (while (null (setq SelBlk (entsel "\nSélectionnez le bloc 'PTRL_PROF' : ")) ) ;_ Fin de null ) ;_ Fin de while ;Vérification que le bloc sélectionné est bien "PTRL_PROF" ;Extraction de la valeur de l'attribut "PROF" ;Sélection du segment pour orienter le texte (while (null (setq e_seg (entsel "\nSélectionnez le segment d'une polyligne : ")) ) ;_ Fin de null ) ;_ Fin de while (setq typent (cdr (assoc 0 (setq dxf_ent (entget (car e_seg)))))) (cond ((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 ) ) ;_ Fin de cond ;Placement du texte le long du segment de la polyligne ;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é, issus d'un LiSP 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 J'aimerai qu'on me dise ou m'indique le ou les astuces à suivre et les pièges à éviter afin que je puisse développer cette macro... Les conseils sont aussi bienvenus ;) Merci à tous, Bonne journée Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
vannes Posté(e) le 24 avril 2015 Posté(e) le 24 avril 2015 Bonjour, Sans répondre à ton sujet, je souhaite te poser une question.je pensais que suite à la nouvelle législation sur les DT/DICT, il fallait indiquer l'altimétrie du réseau et non uniquement sa profondeur.
DenisHen Posté(e) le 24 avril 2015 Auteur Posté(e) le 24 avril 2015 Bonjour vannes, Il me semble que, soit on indique l'altitude de la génératrice supérieur avec une profondeur sur des points remarquables (PTRL) soit on laisse l'altitude se la surface et on indique la profondeur sur ces mêmes points... Mais effectivement, j'ai maintenant un affreux doute... Je vais me renseigner... Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
DenisHen Posté(e) le 24 avril 2015 Auteur Posté(e) le 24 avril 2015 en effet vannes, après documentation, les profondeurs des PTRL ne suffisent pas, il faut aussi indiquer l'altitude des génératrices supérieures des PTRL... Merci de m'avoir mis le doute... Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
DenisHen Posté(e) le 27 avril 2015 Auteur Posté(e) le 27 avril 2015 Salut à tous, Bon, j'arrive maintenant à récupérer la valeur de mon attribut dans mon bloc avec :(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': ")) (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") ((setq ent_att (entnext ent_bloc)) ;Extraction de la valeur de l'attribut "PROF" (setq att_val (cdr (assoc 1 (entget ent_att)))) ) ) ;_ Fin de if (princ att_val) (princ) ;Sélection du segment pour orienter le texte ;Placement du texte le long du segment de la polyligne ;Réaffectation des variables AutoCAD (setvar "osmode" old_osmd) (setvar "angbase" old_abase) (setvar "angdir" old_adir) )Maintenant, je dois récupérer la direction d'un segment de polyligne en cliquant dessus... Je sens que ça, ça va être plus dur... Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
DenisHen Posté(e) le 27 avril 2015 Auteur Posté(e) le 27 avril 2015 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 defunMais 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... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
bonuscad Posté(e) le 27 avril 2015 Posté(e) le 27 avril 2015 Bonjour, Maintenant, je dois récupérer la direction d'un segment de polyligne en cliquant dessus... Je sens que ça, ça va être plus dur... Avec ceci? (setq ent (entsel) ename (car ent) ang (angle '(0.0 0.0 0.0) (vlax-curve-getFirstDeriv ename (vlax-curve-getParamAtPoint ename (vlax-curve-getClosestPointTo ename (trans (cadr ent) 1 0)) ) ) ) ) (angtos ang) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
DenisHen Posté(e) le 27 avril 2015 Auteur Posté(e) le 27 avril 2015 Bonjour BonusCAD Bonjour,Avec ceci? (setq ent (entsel) ename (car ent) ang (angle '(0.0 0.0 0.0) (vlax-curve-getFirstDeriv ename (vlax-curve-getParamAtPoint ename (vlax-curve-getClosestPointTo ename (trans (cadr ent) 1 0)) ) ) ) ) (angtos ang) Veux-tu dire que celà remplace le "defun near_vertex_arr" ? Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
DenisHen Posté(e) le 27 avril 2015 Auteur Posté(e) le 27 avril 2015 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... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
DenisHen Posté(e) le 27 avril 2015 Auteur Posté(e) le 27 avril 2015 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... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
DenisHen Posté(e) le 27 avril 2015 Auteur Posté(e) le 27 avril 2015 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... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
bonuscad Posté(e) le 27 avril 2015 Posté(e) le 27 avril 2015 Et si tu colle ce qui suit directement en ligne de commande, ça ressemble à ce que tu veux faire? ((lambda ( / ) (while (not (setq js (ssget "_+.:E:S" '((0 . "INSERT") (2 . "PTRL_PROF") (66 . 1))) ) ) ) (setq ename (vlax-ename->vla-object (ssname js 0))) (setq att_val (strcat "pf:" (car (mapcar '(lambda (att) (vlax-get att 'TextString)) (vlax-invoke ename 'GetAttributes))))) (setq ent (entsel "\nChoix du segment de polyligne: ") ename (car ent) ang (angle '(0.0 0.0 0.0) (vlax-curve-getFirstDeriv ename (vlax-curve-getParamAtPoint ename (vlax-curve-getClosestPointTo ename (trans (cadr ent) 1 0)) ) ) ) ) (setq AcDoc (vla-get-ActiveDocument (vlax-get-acad-object)) Space (if (= 1 (getvar "CVPORT")) (vla-get-PaperSpace AcDoc) (vla-get-ModelSpace AcDoc) ) ) (setq nw_obj (vla-addMtext Space (vlax-3d-point (polar '(0.0 0.0 0.0) (* pi 0.5) (getvar "TEXTSIZE"))) 0.0 att_val ) ) (mapcar '(lambda (pr val) (vlax-put nw_obj pr val) ) (list 'AttachmentPoint 'Height 'DrawingDirection 'InsertionPoint 'Layer 'Rotation) (list 8 (getvar "TEXTSIZE") 5 (trans (cadr ent) 1 0) (getvar "CLAYER") ang) ) (prin1) )) Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
DenisHen Posté(e) le 27 avril 2015 Auteur Posté(e) le 27 avril 2015 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... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
DenisHen Posté(e) le 28 avril 2015 Auteur Posté(e) le 28 avril 2015 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... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
bonuscad Posté(e) le 28 avril 2015 Posté(e) le 28 avril 2015 (modifié) 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. (entsel) retourne une liste composée du nom de l'entité et du point de sélection, je pensais faire d'une pierre 2 coup en utilisant celui-ci. Donc: (trans (cadr ent) 1 0) à la fin du code place le texte à ce point, c'est ici que tu doit agir. Dans ton code tu fais une erreur en rajoutant tes drapeaux de suivi, notemmment dans le if.IF requiert SEULEMENT 2 conditions vrai ou faux, s'il y a plusieur conditions vrai ou faux, IL FAUT LES REGROUPER avec progn (tu les as seulement regrouper avec une paire de parenthèses supplémentaires) A la fin tu as aussi une erreur sur l'écriture du texte. (princ "\nEcriture du texte...") (command "-texte" xy "0.20" "" x_apha Texte) Doit être: (princ "\nEcriture du texte...") (command "-texte" xy "0.20" (angtos x_alpha) Texte) Une entrée en trop ""x_alpha et non x_aphaUtiliser (angtos), autrement l'angle sera lu en radian...Si tu passe par (entmake) on peut alors utiliser directement cet angle en radian. Modifié le 28 avril 2015 par bonuscad 1 Choisissez un travail que vous aimez et vous n'aurez pas à travailler un seul jour de votre vie. - Confucius
DenisHen Posté(e) le 29 avril 2015 Auteur Posté(e) le 29 avril 2015 Bonjour à tous, Mille mercis BonusCAD ! ! ! C'est exactement ça, ça fonctionne nikel... Denis... Windows 11 / AutoCAD 2024 Sur terre, il y a 10 types de personnes, celles qui comptent en binaire et les autres (developpez.net). Davantage d'avantages, avantagent davantage (Bobby Lapointe). La connaissance s'accroît quand on la partage (Socrate). Tant va la cruche à l'eau que l'habit n'amasse pas mousse avant de l'avoir tué. (Moi)
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