AutoCAD • AutoLISP • Programlama • Püfler • Komutlar • Terimler • Eğitim
aLd • TCad • FacadeCAD • Cephe Kot • HQ Library • FreeMUST • Pasdoc.A
10.07.2009 07:42    

yazgunesi
Komut ismi: ksdr

Lisp hakkında ; kullanıcının verdiği ölçülere göre (3 görünüş olarak) kesilmiş silinidir çizilmesini sağlayan autolisp programı.

Bu lisp henüz saç açılımı yapmıyor ama yakında yapabilir. uur8) 3-5 gün önce azekib arkadaşımız kesilmiş silindir donusunda yardım istemişti..

Kod:

; Kesik silindir lispi 2009  v. 1.0
;
;    powered by yazgunesi
;   www.autocadokulu.com
;
; ilk önce DTR fonkisonunu tanımlayalım

(defun dtr (x)
  (* pi (/ x 180.0 ))
)
(princ)

; ******************************************************

(defun c:ksdr ()

(setvar "modemacro" "FX42®")
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 0)

; kullanıcıdan bilgi alımı
 
        (setq sdcap (getreal "\n Silindir Çapı ? :"))
        (setq ksknr (getreal "\n Kısa kenar boyu ? :"))
        (setq uzknr (getreal "\n Uzun kenar boyu ? :"))
        (setq yr1 (getpoint "\n Yerlestirme noktasi ? :"))
 
;  ön görünüş noktaları hesabı ( kordinat noktaları )
           
       (setq s1 (list(+(car yr1)(/ sdcap 2)) (cadr yr1) ))
       (setq s2 (list(-(car yr1)(/ sdcap 2)) (cadr yr1) ))

       (setq s3 (list(car s1) (+(cadr yr1) uzknr) ))
       (setq s4 (list(car s2) (+(cadr yr1) ksknr) ))

       (setq eks1 (- uzknr ksknr))   ; ön görünüş
       (setq eks2 (/ eks1 2))        ; eksen
       (setq eks3 (/ eks2 4))        ; çigisi
       (setq boy1 (+ ksknr eks2 eks3)) ; boy hesabı

       (setq boy2 (+ ksknr eks2 ))  ; elips kordinatı ..
   
       (setq s5 (list(car yr1) (+(cadr yr1) boy1) )) ; eks. çizg. kordinatı
       (setq s6 (list(car yr1) (-(cadr yr1) eks3) )) ; eks. çizg. kordinatı
         
       (setq dikmsf (+(/ sdcap 2)(/ sdcap 3)))  ; üst görünüş kordinatı

       (setq yatmsf (+(/ sdcap 1.5)(/ sdcap 1.1) )) ; yatay görünüş kordinatı
 
       (setq yr2 (polar yr1 (dtr 270) dikmsf)) ; üst görünüş ana kordinatı

       (setq eks1 (list (+(car yr2)(/ sdcap 2)) (cadr yr2) ))
       (setq eks2 (list (-(car yr2)(/ sdcap 2)) (cadr yr2) ))

       (setq eks3 (list (car yr2) (+(cadr yr2)(/ sdcap 2)) ))
       (setq eks4 (list (car yr2) (-(cadr yr2)(/ sdcap 2)) )) 
 
 
       (setq yr3 (polar yr1 (dtr 180) (- yatmsf) )) ; yan görünüş ana kordinatı

       (setq s7 (list (+(car yr3)(/ sdcap 2)) (cadr yr3) )) ; yan görünüş 
       (setq s8 (list (-(car yr3)(/ sdcap 2)) (cadr yr3) )) ; yatay çizgi noktaları

       (setq s9 (list (car s7) (+(cadr yr3) boy2) ))    ; yan görünüş 
       (setq s10 (list (car s8) (+(cadr yr3) boy2) ))  ; elips kordinatları
       (setq s11 (list (car yr3) (+(cadr yr3) ksknr) )) ; yan görünüş kordinat

       (setq s12 (list (car yr3) (+(cadr yr3) uzknr) )) ; yan görünüş kordinat
 
;  ön görünüşün çizilmesi

    (command "line"  s1 s2 ""
             "line"  s3 s1 ""
             "line"  s4 s2 ""
     "line"  s3 s4 "" )
 
    (command "line"  s5 s6 "" ; normal çizgi çizimi
             "change" "l" "" "p" "lt" "center" "c" "3" "" )  ; renkli eksen çizgisi

;  üst görünüşün çizimi
 
    (command "circle"  yr2 "d" sdcap "" ) ; üst görünüşteki daire

;  üst görünüş eksen çizgilerinin çizimi
 
    (command "line"  eks1 eks2 ""
             "change" "l" "" "p" "lt" "center" "c" "3" ""
             "line"  eks3 eks4 ""
             "change" "l" "" "p" "lt" "center" "c" "3" "" )
     
;  yan görünüşün çizimi

    (command "line" s7 s8 "" ; yatay çizgi
             "line" s7 s9 ""
             "line" s8 s10 "" )
 
    (command "line"  yr3 s12 ""   ; normal çizgi çizimi
             "change" "l" "" "p" "lt" "center" "c" "3" "" )  ; renkli eksen çizgisii
 
    (command "ellipse" s9 s10 s11 ) ; yan görünüş elips çizimi
   
  (setvar "osmode" oldsnap)
(princ)

) ; program bittmiÅŸtir.
       
(Princ "Lisp'i çalıştırmak için > ksdr < yazınız! >>> www.autocadokulu.com <<< ")



Yukarıda gözüken autolisp programını nasıl kullanacağınızı bilmiyorsanız eğer aşağıdaki linkten;
AutoLISP > Konu Anlatımları > Lisp Dosyalarının oluşturulması ve Yüklenmesi
konusunu incelemenizi öneririm...


yazgunesi (10.07.2009 10:04 GMT)

10.07.2009 08:53    

macapapazi
eline saglık kardes...

11.07.2009 07:33    

SENDUR
çok güzel olmuş eline sağlık.

ama bence açının programları kullanmak daha mantıklı hem çeşitli opsiyonlar sunuyorlar ve herşey görsel ve 3d

autopol çok iyi bu işte kendi çizdiğiniz şeklin bile acınımını yapabiliyor

12.07.2009 20:51    

yazgunesi
İlginiz ve önerileriniz için teşekürler arkadaşlar.

Farkıdaysanız son 2-3 aydır saç açılımları konusu sık sık gündeme geliyor, yardım istekleri olarak.. Burdaki autolisp programı da benim '' saç açılımı lisp paketi '' adına yaptığım çalışmalardan biri. Tıpkı NPU kg lisp paketi gibi..

Lakin saç açılımı için kodlamayı bu lispe henüz yazmadığım için örnek program olarak buraya ekledim. Aslında esas problem başka bir lispte var (dirsek açılım lispi) ve burdaki lisp'e adapte etmem gerekiyor, ama biraz uğraştıracak beni.Zor değil ama boş vakite ihtiyaç var.

Dirsek olarak neyi kastetimi anlamanız için ekran görüntüsü :

[URL=http://img32.imageshack.us/i/dirsekgoruntu.png/][IMG]http://img32.imageshack.us/img32/5584/dirsekgoruntu.th.png[/IMG][/URL]

yazgunesi (12.07.2009 21:06 GMT)

> 1 <
Copyright © 2004-2022 SQL: 0.753 saniye - Sorgu: 53 - Ortalama: 0.01421 saniye