Kod:
(defun c:rmtxt ()
(setq txts (ssget "x" (list (cons 0 "text")))
l (sslength txts) n -1)
(while (< (setq n (1+ n)) l)
(setq pvt (entget (ssname txts n)))
(if (> (cdr (assoc 71 pvt)) 0)
(progn
(setq pvt (subst (cons 71 0) (assoc 71 pvt) pvt))
(entmod pvt)
(entupd (cdr (assoc -1 pvt))))))
)
text generation flag'ı (assoc 71 ...) 0 dan büyük olan text objeleri ele alır.
text generation flags (optional, default = 0):
2 = text is backward (mirrored in x)
4 = text is upside down (mirrored in y)
bu fonksiyon, x eksenine göre mirror edilmiş objeleri düzeltemez. çünki bu tür text objelerinde, assoc 70 => 0 dır ve text açısı ile döndürülmüştür. bunun mirror edilmektenmi yoksa text'in gerçekten o doğrultuda mı yazıldığı bilinenemeyeceğinden. değişiklik yapamaz.
bu fonksiyonu bir deneyin, bahsettiğim türden objeler yoksa, probleminizi çözmüş olacaktır.
kolay gelsin.