fauxsuisse Posté(e) le 9 février 2010 Posté(e) le 9 février 2010 Bonjour la grande famille. J'ai une petite question sur les ligne de repère multiple que j'utilise souvent et j'aime bien que les texte apparaissent avec une découpe pour ce faite quand j'entre le texte je dois à chaque fois utliser la fonction "Masque d'arrière-plan" puis cocher "Utiliser le masque d'arrière-plan" et cocher "Utiliser la couloir d'arrière-plan du dessin". MA question est la suivante, ni a t'il pas moyen d'automatiser cela pour que je n'aie pas à répéter à chaque fois cette fonction. Bonne journée à tous ;)
lili2006 Posté(e) le 9 février 2010 Posté(e) le 9 février 2010 Bonjour à toutes et tous, En utilisant un bloc avec masque d'arrière plan ? Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
fauxsuisse Posté(e) le 9 février 2010 Auteur Posté(e) le 9 février 2010 C'est ce que j'avais déjà voulu essayer, mais quand on fait un bloc le masque d'arrière plan ne s'adapte pas à la largeur du texte quand celui-ci est modulable, j'avais essayé avec un symbole dynamique avec les contrainte mais on arrive pas à lui donner les dimension du texte qui sont variable, pourtant ça doit être possible vu qu'il aarive à faire un masque
lili2006 Posté(e) le 9 février 2010 Posté(e) le 9 février 2010 Re, Et avec "textmask" des Express ? (Pas Testé) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
fauxsuisse Posté(e) le 9 février 2010 Auteur Posté(e) le 9 février 2010 C'est ce que j'avais essayé en faisant un bloc Dynamique, le textmask est un wipeout, quand on sélectionne le texte il fait le masque mais ce masque ne reste pas associé au texte donc quand le texte s'allonge le masque lui ne bouge pas. :casstet:
lili2006 Posté(e) le 9 février 2010 Posté(e) le 9 février 2010 Re, Et avec ce lisp de (gile) ? => Dans ton BDyn, faire le cadre le plus grand utilisé, et mettre en ordre de tracé arrière,... ;;; OB2WO -Gilles Chanteau- 10/03/07;;; Crée des "Wipeout" à partir des objets sélectionnés (cercle, ellipse, ou polyligne avec arcs);;; Fonctionne en 3D;;; Modifié le 03/11/07;;; - plusieurs objets peuvent être sélectionnés;;; - le wipeout est créé sur le calque de l'objet ;;; OB2WO -Gilles Chanteau- 10/03/07 ;;; Crée des "Wipeout" à partir des objets sélectionnés (cercle, ellipse, ou polyligne avec arcs) ;;; Fonctionne en 3D ;;; Modifié le 03/11/07 ;;; - plusieurs objets peuvent être sélectionnés ;;; - le wipeout est créé sur le calque de l'objet (defun c:ob2wo (/ ent lst nor lay) (vl-load-com) (setq acdoc (vla-get-ActiveDocument (vlax-get-acad-object))) (if (ssget '((0 . "CIRCLE,ELLIPSE,LWPOLYLINE"))) (progn (initget "Oui Non") (setq del (getkword "\nEffacer les objets source ? [Oui/Non] : ")) (vla-StartundoMark acdoc) (vlax-for obj (vla-get-activeSelectionSet acdoc) (setq lst (ent2ptlst obj) nor (vlax-get obj 'Normal) lay (vla-get-Layer obj) ) (makeWipeout lst nor lay) (and (= del "Oui") (vla-delete obj)) ) (vla-EndundoMark acdoc) ) ) ) ;;; ENT2PTLST ;;; Retourne la liste des sommets successifs du polygone approchant un objet courbe ;;; Coordonnées exprimées dans le SCO (defun ent2ptlst (ent / obj dist n lst p_lst prec) (vl-load-com) (if (= (type ent) 'ENAME) (setq obj (vlax-ename->vla-object ent)) (setq obj ent ent (vlax-vla-object->ename ent) ) ) (cond ((member (cdr (assoc 0 (entget ent))) '("CIRCLE" "ELLIPSE")) (setq dist (/ (vlax-curve-getDistAtParam obj (vlax-curve-getEndParam obj) ) 50 ) n 0 ) (repeat 50 (setq lst (cons (trans (vlax-curve-getPointAtDist obj (* dist (setq n (1+ n)))) 0 (vlax-get obj 'Normal) ) lst ) ) ) ) (T (setq p_lst (vl-remove-if-not '(lambda (x) (or (= (car x) 10) (= (car x) 42) ) ) (entget ent) ) ) (while p_lst (setq lst (cons (append (cdr (assoc 10 p_lst)) (list (cdr (assoc 38 (entget ent)))) ) lst ) ) (if (/= 0 (cdadr p_lst)) (progn (setq prec (1+ (fix (* 25 (sqrt (abs (cdadr p_lst)))))) dist (/ (- (if (cdaddr p_lst) (vlax-curve-getDistAtPoint obj (trans (cdaddr p_lst) ent 0) ) (vlax-curve-getDistAtParam obj (vlax-curve-getEndParam obj) ) ) (vlax-curve-getDistAtPoint obj (trans (cdar p_lst) ent 0) ) ) prec ) n 0 ) (repeat (1- prec) (setq lst (cons (trans (vlax-curve-getPointAtDist obj (+ (vlax-curve-getDistAtPoint obj (trans (cdar p_lst) ent 0) ) (* dist (setq n (1+ n))) ) ) 0 ent ) lst ) ) ) ) ) (setq p_lst (cddr p_lst)) ) ) ) lst ) ;;; MakeWipeout crée un objet "wipeout" à partir d'une liste de points et du vecteur normal de l'objet (defun MakeWipeout (pt_lst nor lay / dxf10 max_dist cen dxf_14) (or (member "acwipeout.arx" (arx)) (arxload "acwipeout.arx")) (setq dxf10 (list (apply 'min (mapcar 'car pt_lst)) (apply 'min (mapcar 'cadr pt_lst)) (caddar pt_lst) ) ) (setq max_dist (float (apply 'max (mapcar '- (apply 'mapcar (cons 'max pt_lst)) dxf10) ) ) ) (setq cen (mapcar '+ dxf10 (list (/ max_dist 2) (/ max_dist 2) 0.0))) (setq dxf14 (mapcar '(lambda (p) (mapcar '/ (mapcar '- p cen) (list max_dist (- max_dist) 1.0) ) ) pt_lst ) ) (setq dxf14 (reverse (cons (car dxf14) (reverse dxf14)))) (entmake (append (list '(0 . "WIPEOUT") '(100 . "AcDbEntity") (cons 8 lay) '(100 . "AcDbWipeout") '(90 . 0) (cons 10 (trans dxf10 nor 0)) (cons 11 (trans (list max_dist 0.0 0.0) nor 0)) (cons 12 (trans (list 0.0 max_dist 0.0) nor 0)) '(13 1.0 1.0 0.0) '(70 . 7) '(280 . 1) '(71 . 2) (cons 91 (length dxf14)) ) (mapcar '(lambda (p) (cons 14 p)) dxf14) ) ) ) Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
fauxsuisse Posté(e) le 9 février 2010 Auteur Posté(e) le 9 février 2010 Merci de ton aide je vais tester ça dès que je peux.
Tramber Posté(e) le 9 février 2010 Posté(e) le 9 février 2010 Sinon tu fais un bouton avec ça (après le dessin de la LREPERERAP) : (vla-put-BackgroundFill (vlax-ename->vla-object (entlast)) :vlax-true) ENTLAST est le textmult. Donc c'est facile. Je n'arrive pas à mettre LREPERERAP dans un programme de manière simple. Ca peut dépendre du nombre de clics au dessin de l'objet. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
fauxsuisse Posté(e) le 10 février 2010 Auteur Posté(e) le 10 février 2010 Hello Tramber j'ai fait un bouton avec la commande mais ça ne fonctionne pas, il me renvoie l'erreur suivant :erreur: Le serveur ActiveX a renvoyé l'erreur: nom inconnu: BackgroundFill :(
Tramber Posté(e) le 10 février 2010 Posté(e) le 10 février 2010 Chez moi : nickel , Autodesk Mechanical Desktop 2010. Donc ? Vérifie que le dernier objet créé (avant d'appuyer sur le bouton) est un MTEXT.Ce que doit produire ... Ah NON, ZUT, j'ai pas bien lu "Ligne de repère multiple". Je croyais que c'était la bonne vieille LREPERERAP ! Désolé, je regarde. Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
Tramber Posté(e) le 10 février 2010 Posté(e) le 10 février 2010 (vla-put-TextBackgroundFill (vlax-ename->vla-object (entlast)) :vlax-true) Tout va bien, les multiples ont la propriété aussi. C'est bon maintenant ? Bureau d'études dessin. Spécialiste Escaliers Développement - Formation ./__\. (.°=°.)
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