Aller au contenu

MODIFIER DECALAGE BORDURE


Messages recommandés

Posté(e)

Bonjour tout le monde!

Connaissez-vous un moyen de modifier le facteur de décalage de bordure du masque d'arrière plan, sans avoir à ouvrir tous les textes multilignes?

Précision, j'ai des milliers objets textes, avec des orientations différentes à modifier.

Merci d'avance.

HPZ400 Workstation

Intel Xeon W3550 3.07 GHz

6 Go ram

QUADRO FX 1800

Posté(e)

Merci Eric, mais mes connaissances des express tools sont plutôt limitées.

Peux tu m'expliquer le fonctionnement de cette commande?

HPZ400 Workstation

Intel Xeon W3550 3.07 GHz

6 Go ram

QUADRO FX 1800

Posté(e)

Merci Eric, j'ai lancé la commande mais ça a l'air de pas mal ramer, c'est normal?

HPZ400 Workstation

Intel Xeon W3550 3.07 GHz

6 Go ram

QUADRO FX 1800

Posté(e)

Ca fait 10min et c'est toujours pas fini.

Il y a 1778 objet texte et la présence d'un xréf.

Dois-je quitter la commande?

HPZ400 Workstation

Intel Xeon W3550 3.07 GHz

6 Go ram

QUADRO FX 1800

Posté(e)

j'ai déchargé le xréf mais rien à faire, ça rame toujours autant!

config: pentium4 3 GHz ET 512 Mo en RAM

Au fait, est-ce que la commande textmask fonctionne avec les textes dynamiques?

HPZ400 Workstation

Intel Xeon W3550 3.07 GHz

6 Go ram

QUADRO FX 1800

Posté(e)

Merci pour tout Eric, si j'avais su je n'aurais pas transformés les textes dynamiques en textex multilignes.

Je le saurais pour les prochains "vieux plans".

 

HPZ400 Workstation

Intel Xeon W3550 3.07 GHz

6 Go ram

QUADRO FX 1800

Posté(e)

 

Bonsoir

 

Pour faire suite à l'excellente réponse d'Eric,

une petite routine Lisp qui marche très bien :

 

Ne pas hésiter à aller "farfouiller" sur ce site www.hyperpics.com

il regorge d'infos intéressantes ... :) :D :cool:

 

;; Written by: Lee Ambrosius

;; Created on: 4/7/2004

;; http://www.hyperpics.com/

;; This program allows you to add Background Mask to several Mtext objects

;; at one time instead of using the Mtext editor

;; for each object or the Properties Palette.

;; The Properties Palette in 2005 doesn't allow you

;; to set Background Color or Border Offset.

 

(defun c:MTextMASK ( / kWordBackgroundMaskCurrent dOffsetCurrent ssMtext dxf90 dxf63 dxf45 dxf441)

(prompt "\nApply Mtext Mask")

 

(if (= kWordBackgroundMask nil)

(setq kWordBackgroundMask "Background" kWordBackgroundMaskCurrent "Background")

(setq kWordBackgroundMaskCurrent kWordBackgroundMask)

)

 

(initget "None Background Color")

(setq kWordBackgroundMask (getkword (strcat "\nSpecify Background Mask: [None/Background/Color] : ")))

 

(if (= kWordBackgroundMask nil)

(setq kWordBackgroundMask kWordBackgroundMaskCurrent)

)

 

(cond ((= kWordBackgroundMask "Color")

(if (or (= maskClr nil) (/= (type maskClr) 'LIST))

(setq maskClr (acad_truecolorcli 1))

(if (= (assoc 420 maskClr) nil)

(setq maskClr (acad_truecolorcli (cdr (assoc 62 maskClr))))

(setq maskClr (acad_truecolorcli (assoc 420 maskClr)))

)

)

)

((= kWordBackgroundMask "Background")(setq maskClr 256))

((= kWordBackgroundMask "None")(setq maskClr 0 dOffset 1.0))

)

 

(if (/= maskClr nil)

(progn

(if (/= kWordBackgroundMask "None")

(progn

(setq dOffsetCurrent dOffset)

 

(if (= dOffsetCurrent nil)

(setq dOffset 1.0 dOffsetCurrent 1.0)

(setq dOffsetCurrent dOffset)

)

 

(setq dOffset (getreal (strcat "\nSpecify border offset factor: : ")))

 

(if (= dOffset nil)

(setq dOffset dOffsetCurrent)

)

 

(if (> dOffset 5)(setq dOffset nil))

(if (

 

(while (= dOffset nil)

(setq dOffset (getreal (strcat "\nSpecify border offset factor: : ")))

 

(if (> dOffset 5)(setq dOffset nil))

(if (

)

)

(if (= dOffset nil)

(setq dOffset 1.0)

)

)

 

(if (setq ssMtext (ssget (list (cons 0 "MTEXT"))))

(progn

(cond ((= kWordBackgroundMask "None")

(setq mask_list (list (cons 90 2)(cons 63 0)(cons 45 dOffset)(cons 441 0))

dxf90 2

dxf63 nil

dxf45 nil

dxf441 nil

)

)

((and (= kWordBackgroundMask "Color")(/= (assoc 420 maskClr) nil))

(setq mask_list (list (cons 90 1)(cons 63 1)(cons 421 (cdr (assoc 420 maskClr)))(cons 45 dOffset)(cons 441 (cdr (assoc 420 maskClr))))

dxf90 1

dxf63 2

dxf45 dOffset

dxf441 (cdr (assoc 420 maskClr))

)

)

((and (= kWordBackgroundMask "Color")(= (assoc 420 maskClr) nil))

(setq mask_list (list (cons 90 1)(cons 63 (cdr (assoc 62 maskClr)))(cons 45 dOffset)(cons 441 2146608))

dxf90 1

dxf63 (cdr (assoc 62 maskClr))

dxf45 dOffset

dxf441 nil

)

)

((= kWordBackgroundMask "Background")

(setq mask_list (list (cons 90 3)(cons 63 3)(cons 45 dOffset)(cons 441 0))

dxf90 3

dxf63 256

dxf45 dOffset

dxf441 0

)

)

)

 

(setq emax (sslength ssMtext)

sscount 0

)

 

(while (

(setq EN (entget (ssname ssMtext sscount))

tempEN nil)

 

(if (/= dxf90 nil)

(progn

(if (/= (assoc 90 EN) nil)

(setq EN (subst (cons 90 dxf90) (assoc 90 EN) EN))

(setq EN (append EN (list (cons 90 dxf90))))

)

)

(progn

(setq CNT 0

nMembers (member (assoc 90 EN) EN))

 

(if (= nMembers nil)

(setq nMembers 0)

(setq nMembers (length nMembers))

)

(repeat (- (length EN) nMembers)

(setq tempEN (append tempEN (list (nth cnt EN))))

(setq CNT (1+ CNT))

)

 

(if (> nMembers 0)

(progn

(setq CNT 1)

(repeat (- nMembers 1)

(setq tempEN (append tempEN (list (nth cnt (member (assoc 90 EN) EN)))))

(setq CNT (1+ CNT))

)

)

)

(setq EN tempEN

tempEN nil)

)

)

 

 

(if (/= dxf63 nil)

(progn

(if (/= (assoc 63 EN) nil)

(setq EN (subst (cons 63 dxf63) (assoc 63 EN) EN))

(setq EN (append EN (list (cons 63 dxf63))))

)

)

(progn

(setq CNT 0

nMembers (member (assoc 63 EN) EN))

 

(if (= nMembers nil)

(setq nMembers 0)

(setq nMembers (length nMembers))

)

(repeat (- (length EN) nMembers)

(setq tempEN (append tempEN (list (nth cnt EN))))

(setq CNT (1+ CNT))

)

 

(if (> nMembers 0)

(progn

(setq CNT 1)

(repeat (- nMembers 1)

(setq tempEN (append tempEN (list (nth cnt (member (assoc 63 EN) EN)))))

(setq CNT (1+ CNT))

)

)

)

(setq EN tempEN

tempEN nil)

)

)

 

(if (/= dxf45 nil)

(progn

(if (/= (assoc 45 EN) nil)

(setq EN (subst (cons 45 dxf45) (assoc 45 EN) EN))

(setq EN (append EN (list (cons 45 dxf45))))

)

)

(progn

(setq CNT 0

nMembers (member (assoc 45 EN) EN))

 

(if (= nMembers nil)

(setq nMembers 0)

(setq nMembers (length nMembers))

)

(repeat (- (length EN) nMembers)

(setq tempEN (append tempEN (list (nth cnt EN))))

(setq CNT (1+ CNT))

)

 

(if (> nMembers 0)

(progn

(setq CNT 1)

(repeat (- nMembers 1)

(setq tempEN (append tempEN (list (nth cnt (member (assoc 45 EN) EN)))))

(setq CNT (1+ CNT))

)

)

)

(setq EN tempEN

tempEN nil)

)

)

 

(if (/= dxf441 nil)

(progn

(if (/= (assoc 441 EN) nil)

(setq EN (subst (cons 441 dxf441) (assoc 441 EN) EN))

(setq EN (append EN (list (cons 441 dxf441))))

)

)

(progn

(setq CNT 0

nMembers (member (assoc 441 EN) EN))

 

(if (= nMembers nil)

(setq nMembers 0)

(setq nMembers (length nMembers))

)

(repeat (- (length EN) nMembers)

(setq tempEN (append tempEN (list (nth cnt EN))))

(setq CNT (1+ CNT))

)

 

(if (> nMembers 0)

(progn

(setq CNT 1)

(repeat (- nMembers 1)

(setq tempEN (append tempEN (list (nth cnt (member (assoc 441 EN) EN)))))

(setq CNT (1+ CNT))

)

)

)

(setq EN tempEN)

)

 

)

 

(entmod EN)

(setq sscount (1+ sscount))

)

)

)

)

)

(princ)

)

 

(prompt "\nType MTEXTMASK to run the command")

(princ)

 

 

Le Decapode "masquant"

qui espère que le copier/coller n'a pas bousillé le programme Lisp !!!

 

Autodesk Expert Elite Team

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • 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é