06.02.2023 18:55    

mehoza
arkadaşlar noktalar arasındaki çizgilerin üzerine mesafeleri yazan lispi virgülden sonra 2 hane yazacak şekilde düzeltecek var mı 321491-uy.zip

07.02.2023 05:28    

ehya
Özel mesaj olarak detaylı bir şekilde yazdım. Mesaj kutunuza bakmadınız mı?

07.02.2023 07:50    

mehoza
Mesaj kutusuna baktım. Herhangi bir mesaj gelmemiş

07.02.2023 08:07    

ehya
Lisp içindeki
(command "text" "j" "bc" uy_yaz uy_yaz_yuk (angtos uy_sec_tek_aci) (rtos uy_sec_tek_mes))

satırı

(command "text" "j" "bc" uy_yaz uy_yaz_yuk (angtos uy_sec_tek_aci) (rtos uy_sec_tek_mes 2 2))

olarak değiştirin.. Sondaki 2 sayısı virgülden sonraki basamak sayısını ifade eder..

07.02.2023 08:37    

mehoza
ALLAH RAZI OLSUN

07.02.2023 10:03    

mehoza
Yukarıdaki uy lispi çok güzel, mesafeleri çizgilerin üzerine yazıyor, bu lispe acaba metin yazacak sekilde bir ekleme yapabilir miyiz. Mesafeyi yazsin hemen üstünede metin yazabilecek şekilde yapılabilir mi. Yazılacak metin bütün uzunluklar da aynı

08.02.2023 13:01    

baha07
Alıntı
mehoza :
Yukarıdaki uy lispi çok güzel, mesafeleri çizgilerin üzerine yazıyor, bu lispe acaba metin yazacak sekilde bir ekleme yapabilir miyiz. Mesafeyi yazsin hemen üstünede metin yazabilecek şekilde yapılabilir mi. Yazılacak metin bütün uzunluklar da aynı


Kod:

;;  Line hatlarin uzerine mesafelerini yazdirir , istenirse  on ek girilebilir
;;  cizimokulu

(defun c:uy ()
(setvar "dimzin" 0)
(setq baslik (getstring "\nBASLiK GiRiNiZ :"))
(setq uy_os (getvar "osmode"))
(setq uy_sec nil)
(setq uy_sec (ssget (list (cons 0 "LINE"))))
(if (= uy_sec nil)
(progn
(princ "
Nesne secimi yok. Komut bitirildi..."))
(progn

(if (= uy_yaz_yuk nil)(setq uy_yaz_yuk 12))
(initget 2)
(setq uy_yaz_y (getdist (strcat "
Yazilacak yazinin Yuksekligi:<" (rtos uy_yaz_yuk) ">:")))
(if (= uy_yaz_y nil)(setq uy_yaz_y uy_yaz_yuk))
(setq uy_yaz_yuk uy_yaz_y)
(setq uy_c 0)
(setq uy_say (sslength uy_sec))
(while (< uy_c uy_say)
(setq uy_sec_tek (ssname uy_sec uy_c))
(setq uy_sec_tek_10 (cdr (assoc 10 (entget uy_sec_tek)))
uy_sec_tek_11 (cdr (assoc 11 (entget uy_sec_tek))))
(setq uy_sec_tek_mes (distance uy_sec_tek_10 uy_sec_tek_11))
(setq uy_sec_tek_10_x (car uy_sec_tek_10)
uy_sec_tek_10_y (cadr uy_sec_tek_10)
uy_sec_tek_11_x (car uy_sec_tek_11)
uy_sec_tek_11_y (cadr uy_sec_tek_11))
(setq uy_yaz_x (/ (+ uy_sec_tek_10_x uy_sec_tek_11_x) 2.00)
uy_yaz_y (/ (+ uy_sec_tek_10_y uy_sec_tek_11_y) 2.00)
uy_yaz (list uy_yaz_x uy_yaz_y))
(if (< uy_sec_tek_10_x uy_sec_tek_11_x)
(progn
(setq uy_sec_aci_bas uy_sec_tek_10)
(setq uy_sec_aci_son uy_sec_tek_11)
)
(progn
(setq uy_sec_aci_bas uy_sec_tek_11)
(setq uy_sec_aci_son uy_sec_tek_10)))
(setq uy_sec_tek_aci (angle uy_sec_aci_bas uy_sec_aci_son))
(command "style" "cizgiyazi" "" "" "" "" "" "" "")
(command "osnap" "node")
(command "text" "j" "bc" uy_yaz uy_yaz_yuk (angtos uy_sec_tek_aci) (strcat baslik " " (rtos uy_sec_tek_mes 2 2)))
(setq uy_c (+ uy_c 1))
)))(setvar "osmode" uy_os)(princ))
(princ "
Komutu calistirmak icin [UY] yazin")(princ)

baha07 (08.02.2023 13:35 GMT)

08.02.2023 17:06    

mehoza
Çok güzel elinize sağlık, metni mesafenin önüne değil de hemen üstüne yazdırabilir miyiz

09.02.2023 05:39    

baha07
Alıntı
mehoza :
Çok güzel elinize sağlık, metni mesafenin önüne değil de hemen üstüne yazdırabilir miyiz


baslik yukari offsetleme kismi ; lisp cizginin merkezini x y koordinatlarini bolerek buldugu icin , offset eklense bile x eksenine dik cizgilerde ise yariyor . acisi farkli cizgilerde yazi kaymaya basliyor. yeni yazinin istediniz yere yazilmasi icin , lisp e eklenmesi gereken , secilen cizginin hayali offsetinin atilmasi yeni offsetin merkezinin bulunmasi -bunlar eklendigi zaman lisp cok fazla uzun olacak . yeniden yazilmasi bile gerekebilir . bildigim kadari ile bu sekilde .

Ama kisa yoldan size yardimci olabilecegim kisim assagidaki gibidir .
[
Kod:

;;  Line hatlarin uzerine mesafelerini yazdirir , istenirse  on ek girilebilir
;;  cizimokulu
(defun c:uy ()
(setvar "dimzin" 0)
(setq baslik (getstring "\nBASLiK GiRiNiZ :"))
(setq uy_os (getvar "osmode"))
(setq uy_sec nil)
(setq uy_sec (ssget (list (cons 0 "LINE"))))
(if (= uy_sec nil)
(progn
(princ "
Nesne secimi yok. Komut bitirildi..."))
(progn
(if (= uy_yaz_yuk nil)(setq uy_yaz_yuk 12))
(initget 2)
(setq uy_yaz_y (getdist (strcat "
Yazilacak yazinin Yuksekligi:<" (rtos uy_yaz_yuk) ">:")))
(if (= uy_yaz_y nil)(setq uy_yaz_y uy_yaz_yuk))
(setq uy_yaz_yuk uy_yaz_y)
(setq uy_c 0)
(setq uy_say (sslength uy_sec))
(while (< uy_c uy_say)
(setq uy_sec_tek (ssname uy_sec uy_c))
(setq uy_sec_tek_10 (cdr (assoc 10 (entget uy_sec_tek)))
uy_sec_tek_11 (cdr (assoc 11 (entget uy_sec_tek))))
(setq uy_sec_tek_mes (distance uy_sec_tek_10 uy_sec_tek_11))
(setq uy_sec_tek_10_x (car uy_sec_tek_10)
uy_sec_tek_10_y (cadr uy_sec_tek_10)
uy_sec_tek_11_x (car uy_sec_tek_11)
uy_sec_tek_11_y (cadr uy_sec_tek_11))
(setq uy_yaz_x (/ (+ uy_sec_tek_10_x uy_sec_tek_11_x) 2.00)
uy_yaz_y (/ (+ uy_sec_tek_10_y uy_sec_tek_11_y) 2.00)
uy_yaz (list uy_yaz_x uy_yaz_y))
(if (< uy_sec_tek_10_x uy_sec_tek_11_x)
(progn
(setq uy_sec_aci_bas uy_sec_tek_10)
(setq uy_sec_aci_son uy_sec_tek_11)
)
(progn
(setq uy_sec_aci_bas uy_sec_tek_11)
(setq uy_sec_aci_son uy_sec_tek_10)))
(setq uy_sec_tek_aci (angle uy_sec_aci_bas uy_sec_aci_son))
(command "style" "cizgiyazi" "" "" "" "" "" "" "")
(command "osnap" "node")
(command "text" "j" "bc" uy_yaz uy_yaz_yuk (angtos uy_sec_tek_aci) (rtos uy_sec_tek_mes 2 2))
(command "text" "j" "tc" uy_yaz uy_yaz_yuk (angtos uy_sec_tek_aci) (strcat baslik))
(setq uy_c (+ uy_c 1))
)))(setvar "osmode" uy_os)(princ))
(princ "
Komutu calistirmak icin [UY] yazin")(princ)

baha07 (09.02.2023 05:55 GMT)

09.02.2023 06:59    

mehoza
TEŞEKKÜR EDERİM, ELİNİZE SAĞLIK, SÜPER OLMUŞ

> 1 <
Copyright © 2004-2022 SQL: 1.909 saniye - Sorgu: 80 - Ortalama: 0.02387 saniye