23.06.2011 08:15    

himmetkilic
Aşağıda "nokta koordinatları" yazdıran lispte text yüksekliğini sürekli 0,18 olarak tanımlıyor. text yüksekliğini soruyor ancak girdiğimiz text yüksekliğini dikkate almıyor. bu lispte verdiğimiz text yüksekliğini istediğimiz yüksekliğe nasıl getirtebiliriz. ilgilenen üstadlara şimdiden teşekkürler.

(defun C:LP(/ PNT1 P1X P1Y STDY STDX STDZ COORDN COORDE COORDZ PTXT)
(setq PNT1 (getpoint "nNoktayı işaretleyiniz: "))
(if (= eTxH nil) (setq eTxH (* (getvar "dimtxt") (getvar "dimscale"))))
(setq TxH (getreal (strcat "\nYazi yuksekligi <" (rtos eTxH) "> :")))
(if (= TxH nil) (setq TxH eTxH) (setq eTxH TxH))
(setq P1X (car pnt1))
(setq P1Y (cadr pnt1))
(setq P1Z (caddr pnt1))
(setq STDX (rtos P1X 2 2))
(setq STDY (rtos P1Y 2 2))
(setq STDZ (rtos P1Z 2 2))
(setq COORDN (strcat "Y= " STDY ))
(setq COORDE (strcat "X= " STDX ))
(setq COORDZ (strcat "Z= " STDz ))
(setq PTXT (getpoint
"nYazının yazılacağı yeri işaretleyiniz: "))
(command "LEADER" PNT1 PTXT ""COORDE COORDN COORDZ ""))
(Princ "Komutu çalıştırmk için [LP] yazınız!")
(PRINC " --> 'www.autocadokulu.com' Çizim yardımları yüklendi !")

23.06.2011 09:47    

ProhibiT
Fonksiyon sürekli olarak 0.18 gibi sabit bir yazı yüksekliği kullanmıyor. dimtxt değişkeninin değerini alıyor. dimension text height değerini değiştirdiğinizde, yazı yüksekliği de değişecektir.

23.06.2011 10:47    

himmetkilic
Sayın prohibit
text yüksekliğini soruyor. örnek: 10 yazıyorum. ancak; uygulama sonunda text yükseklikleri gene 0,18 çıkıyor. yani text ler büyümüyor maalesef. ilginiz için teşekkür ederim.

23.06.2011 13:55    

ProhibiT
Evet dikkatten kaçmış bir durum söz konusu.
yazı yüksekliği soruluyor, ama kullanılmıyor. leader komutu otomatik olarak "dimtxt" değişkeninin değerini kullanıyor.
Eğer böyle devam etsin, dimtxt kullansın bana sormasın derseniz;
Kod:

(defun C:LP (/ PNT1 COORDN COORDE COORDZ PTXT)
  (setq PNT1 (getpoint "\nNoktayı işaretleyiniz: ")
        COORDN (strcat "Y= " (rtos (car PNT1) 2 2))
        COORDE (strcat "X= " (rtos (cadr PNT1) 2 2))
        COORDZ (strcat "Z= " (rtos (caddr PNT1) 2 2))
        PTXT (getpoint "\nYazının yazılacağı yeri işaretleyiniz: "))
  (command "LEADER" PNT1 PTXT "" COORDE COORDN COORDZ "")
  (princ)
)
(Princ "\nKomutu çalıştırmk için [LP] yazınız!")
(Princ "\n --> 'www.autocadokulu.com' Çizim yardımları yüklendi !")
şeklinde düzenlediğim kodu kullanabilirsiniz.

eğer dimtxt değişekninden bağımsız, sizin seçtiğiniz bir yazı yüksekliği kullanılmasını istiyorsanız, bunun için bir düzenleme yaptım.
Kod:

(defun C:LP (/ PNT1 TxH eDTxT COORDN COORDE COORDZ PTXT)
  (if (= eTxH nil) (setq eTxH (* (getvar "dimtxt") (getvar "dimscale"))))
  (setq TxH (getreal (strcat "\nYazi yuksekligi <" (rtos eTxH) "> :")))
  (if (= TxH nil) (setq TxH eTxH) (setq eTxH TxH))
  (setq PNT1 (getpoint "\nNoktayı işaretleyiniz: ")
        COORDN (strcat "Y= " (rtos (car PNT1) 2 2))
        COORDE (strcat "X= " (rtos (cadr PNT1) 2 2))
        COORDZ (strcat "Z= " (rtos (caddr PNT1) 2 2))
        PTXT (getpoint PNT1 "\nYazının yazılacağı yeri işaretleyiniz: "))
  (if (/= Txh (getvar "dimtxt")) (setq eDTxT (getvar "dimtxt")))
  (setvar "dimtxt" TxH)
  (command "LEADER" PNT1 PTXT "" COORDE COORDN COORDZ "")
  (if eDTxT (setvar "dimtxt" eDTxT)) (princ)
)
(Princ "\nKomutu çalıştırmk için [LP] yazınız!")
(Princ "\n --> 'www.autocadokulu.com' Çizim yardımları yüklendi !")


Kolay gelsin.

> 1 <
Copyright © 2004-2022 SQL: 0.783 saniye - Sorgu: 51 - Ortalama: 0.01536 saniye