HVAC PLANLARDA SAPLAMA ÇİZMEK
Bugün yayınlayacagım lisp yukarda görüldüğü gibi hvac planlarda kanal saplaması yapmaktadır.
Nasıl kullanılır:
Öncelikle aşagıdaki lisp kodlarını kopyalayın ve uzantısı lisp olacak şekilde kaydedin
Autocad açılır, command satırına APPLOAD yazılır, çıkan pencereden kaydedilen dosya bulunur ve LOAD düğmesi tıklanır, pencere kapatılır.
Command satırına SS yazılır, şekildeki sıra ile seçim yapılır. (Dikkat edilmesi gereken yer saplamanın eğimli olarak çizilmesi gereken kenarı ilk seçilmeli ana kanala bağlandığı kenarı ise en son seçilmelidir.)
Bu lispide çok sık kullanıyorum ve çoğu zaman işime yarıyor. inşallah sizinde işinize yarar...
Kodlar (Bu yazıdan sonrasını kopyalayın)
;BU LİSP SAPLAMA ÇİZER
;HAZIRLAYAN miyatu 30/10/2007
;İLETİŞİM miyatu@msn.com
(defun hata (s)
(if (/= s "Function cancelled")
(princ (strcat "nError: " s))
)
(setvar "filletrad" ef)
(setvar "orthomode" eo)
(setq *error* olderr)
(princ))
(defun c:ss ()
(setq olderr *error*
*error* hata)
(setq eo (getvar "orthomode"))
(setq ef (getvar "filletrad"))
(setvar "orthomode" 0)
(setq n1 (entsel "nKANALIN PAH KIRILACAK KENARI SEÇİNİZ:")
n2 (entsel "nKANALIN DİĞER KENARINI SEÇİNİZ:")
n3 (entsel "nANA KANAL KENARINI SEÇİNİZ:")
)
(setq l1 (entget (car n1))
l2 (entget (car n2))
l3 (entget (car n3))
)
(setq p1 (cdr (assoc 10 l1))
p2 (cdr (assoc 11 l1))
p3 (cdr (assoc 10 l2))
p4 (cdr (assoc 11 l2))
p5 (cdr (assoc 10 l3))
p6 (cdr (assoc 11 l3))
)
(setq p7 (inters p1 p2 p5 p6 onseg)
p8 (inters p3 p4 p5 p6 onseg)
)
(command "change" n1 "" p7 "")
(command "change" n2 "" p8 "")
(setq a1 (distance p7 p8))
(setq q1 (angle p7 p2))
(setq q2 (angle p8 p7))
(setq cp 0)
(cond
((<= a1 40)
(setq a2 10)
)
((<= a1 70)
(setq a2 15)
)
((<= a1 90)
(setq a2 20)
)
((<= a1 110)
(setq a2 25)
)
((<= a1 130)
(setq a2 30)
)
((<= a1 150)
(setq a2 35)
)
((<= a1 170)
(setq a2 40)
)
((<= a1 190)
(setq a2 45)
)
)
(setq p9 (polar p8 q1 a2)
p10 (polar p7 q1 a2)
p11 (polar p7 q2 a2)
)
(command "zoom" "w" p8 p7)
(command "line" p9 p10 "")
(setq n4 (entlast))
(command "line" p10 p11 "")
(setvar "filletrad" 0)
(command "fillet" n1 n4 "")
(command "zoom" "p")
(setvar "orthomode" eo)
(setvar "filletrad" ef)
)

