14.11.2008 22:46    

fox
Buyrun arkadaşlar sonunda bitti tam istediğim gibi oldu.lispi kullanın kodlarınıda verecem.

10836-omega.rar


Verilen ölçülerde omega kesitli profili çiziyor,peditliyor,blok yapıyor,omeganın açılımını ve kilosunu veriyor.
çizdirdiğiniz profil daha önceden çizdirilip blok yapıldıysa bu bloğu çağırıp size açılmını ve kilosunu veriyor.

fox (14.11.2008 22:57 GMT)

15.11.2008 07:07    

SENDUR
evet güzel omuş eline sağlık

bu profili çok kullanıyorsun galiba bu lisp için bukadar uğraştığana göre ve fas uzantılı yaptığını göz önünde bulundurursak çok değerli profil senin için demek

nerde kullanıyorsun bu kadar sık bu şekli

15.11.2008 07:29    

fox
bu benim ilk lispim, talepler doğrultusunda bu kadar çok uğraştım, basit birşey yapmıştım ama radiuslarıda olsun block ta yapsın derken iş epey bir dallanıp budaklandı.sürekli kullandığımız bir profil ve ağırlıklı olarak modüler kalıp ve tünel kalıp panolarında kullanılmakta.basit bir şekil gibi görünsede benim açımdan lispe giriş yapmam anlamında çok faydalı oldu.
artık sıra diğer malzemelere geldi.

15.11.2008 07:52    

ehya
Lispinde hatalar olduğunu görmüşsündür. Bunları düzenlemelisin.
Komut bittiğinde komut satırında "Unkknown command...." uyarısı veriyor.

15.11.2008 07:56    

fox
evet gördüm fakat bunun bir zararını görmedim.nasıl bir probleme yol açacağı ve bu uyarıyı neden verebileceği konusunda bilgilendirebilirsen sevinirim.

bu arada ehya bu lisp boyunca senide çok yordum yav.

fox (15.11.2008 08:05 GMT)

15.11.2008 08:12    

ehya
Bir hataya yol açmaz. Ama sonuçta bir hata olduğu görülüyor. Sanırım fillet komutunu kullandın. Fillet komutunda fazla birşeyler yaptığından dolayı oluşur. Kontrol etmende fayda var.

02.12.2008 08:45    

fox
evet fillet komutu kullandım.yapılabilecek tüm hatalara karşıda gereken tüm hata kontrollerini yaptım.görünen tek problem komut bitiminde Unknown command "OMEGA". Press F1 for help. yazması.

Kodları aşağıda veriyorum.Başlangıç için belki kodlar fazla kalabalık olabilir:)

Kod:

(defun c:omega ()
(setvar "Modemacro" "Designed by .::FOX::.")
(setq oldCmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq osn (getvar "osmode"))
  (initget 1)
(setq pt0 (getpoint "\nOmeganın taban orta noktasını seçin:"))
  (setq ge nil)
  (setq yu nil)
  (setq ti nil)
(initget 7)
(setq kalinlik (getreal "\nSac Kalınlığı:"))
  (while (= ge nil)
(initget 7)
(setq genislik (getreal "\nGenişlik:"))
    (setq gmin (* kalinlik 4.00))
    (setq gmy (rtos gmin 2 2))
(if (> (* kalinlik 4.0) genislik)
  (progn
    (setq ge nil)
    (alert (strcat "\nGenislik "gmy"mm.den küçük olamaz\nLütfen genişliği kontrol edip tekrar giriniz."))
    )
  (progn
    (setq ge t))))
    (while (= yu nil)
(initget 7)
(setq yukseklik (getreal "\nYükseklik:"))
    (setq ymin (* kalinlik 4.00))
    (setq ymy (rtos ymin 2 2))
(if (> (* kalinlik 4.0) yukseklik)
  (progn
    (setq yu nil)
    (alert (strcat "\nYükseklik "ymy"mm.den küçük olamaz\nLütfen yüksekliği kontrol edip tekrar giriniz."))
    )
  (progn
    (setq yu t))))
    (while (= ti nil)
(initget 7)
(setq tirnak (getreal "\nTırnak:"))
    (setq tmin (* kalinlik 2.00))
    (setq tmy (rtos tmin 2 2))
(if (> (* kalinlik 2.0) tirnak)
  (progn
    (setq ti nil)
    (alert (strcat "\nTırnak ölçüsü "tmy"mm.den küçük olamaz\nLütfen Tırnak ölçüsünü kontrol edip tekrar giriniz."))
    )
  (progn
    (setq ti t))))   
(setq g/2 (/ genislik 2))
(setq tg (- (+ genislik (* tirnak 2)) (* kalinlik 2)))
(setq tg/2 (/ tg 2))
(setq disr (* kalinlik 2))
(setq egen (rtos genislik 2 2))
(setq eyuk (rtos yukseklik 2 2))
(setq etir (rtos tirnak 2 2))
(setq ekal (rtos kalinlik 2 2))
(setq blname (strcat "omega" egen "x" eyuk "x" etir "x" ekal "mm."))
  (setq ara (tblsearch "block" blname))
(if (= ara nil)
  (progn
  (setq p0 (list (car pt0) (cadr pt0)))
  (setq p1 (list (- (car p0) tg/2) (cadr p0)))
  (setq p2 (list (+ (car p1) tirnak) (cadr p0)))
  (setq p3 (list (car p2) (+ (cadr p0) (- yukseklik kalinlik))))
  (setq p4 (list (+ (car p0) (- g/2 kalinlik)) (cadr p3)))
  (setq p5 (list (car p4) (cadr p0)))
  (setq p6 (list (+ (car p0) tg/2) (cadr p0)))
  (setq p7 (list (car p6) (+ (cadr p0) kalinlik)))
  (setq p8 (list (- (car p7) (- tirnak kalinlik)) (cadr p7)))
  (setq p9 (list (car p8) (+ (cadr p0) yukseklik)))
  (setq p10 (list (- (car p0) g/2) (cadr p9)))
  (setq p11 (list (- (car p2) kalinlik) (cadr p8)))
  (setq p12 (list (car p1) (cadr p11)))
(setvar "osmode" 0)
  (command "._line" p1 p2 "")
  (setq ln1 (entlast))
  (command "._line" p2 p3 "")
  (setq ln2 (entlast))
  (command "._fillet" "r" disr "._fillet" ln1 ln2)
  (setq k1 (entlast))
  (command "._line" p3 p4 "")
  (setq ln3 (entlast))
  (command "._fillet" "r" kalinlik "._fillet" ln2 ln3)
  (setq k2 (entlast))
  (command "._line" p4 p5 "")
  (setq ln4 (entlast))
  (command "._fillet" "r" kalinlik "._fillet" ln3 ln4)
  (setq k3 (entlast))
  (command "._line" p5 p6 "")
  (setq ln5 (entlast))
  (command "._fillet" "r" disr "._fillet" ln4 ln5)
  (setq k4 (entlast))
  (command "._line" p6 p7 "")
  (setq ln6 (entlast))
  (command "._line" p7 p8 "")
  (setq ln7 (entlast))
  (command "._line" p8 p9 "")
  (setq ln8 (entlast))
  (command "._fillet" "r" kalinlik "._fillet" ln7 ln8)
  (setq k5 (entlast))
  (command "._line" p9 p10 "")
  (setq ln9 (entlast))
  (command "._fillet" "r" disr "._fillet" ln8 ln9)
  (setq k6 (entlast))
  (command "._line" p10 p11 "")
  (setq ln10 (entlast))
  (command "._fillet" "r" disr "._fillet" ln9 ln10)
  (setq k7 (entlast))
  (command "._line" p11 p12 "")
  (setq ln11 (entlast))
  (command "._fillet" "r" kalinlik "._fillet" ln10 ln11)
  (setq k8 (entlast))
  (command "._line" p12 p1 "")
  (setq ln12 (entlast))
  (command "._pedit" ln1 "Y" "J" ln1 k1 ln2 k2 ln3 k3 ln4 k4 ln5 ln6 ln7 k5 ln8 k6 ln9 k7 ln10 k8 ln11 ln12 "" "")
  (setq kesit (entlast))
  (command "_.area" "o" kesit)
  (setq cevre (getvar "perimeter"))
  (setq acilim (- (/ cevre 2) kalinlik))
  (setq alanmm (* acilim kalinlik))
  (setq alanm (/ alanmm 1000))
  (setq brkg 7.85)
  (setq kg (* alanm brkg))
  (setq rtaci (rtos acilim 2 2))
  (setq rtkg (rtos kg 2 2))
  (command "._-block" blname pt0 kesit "")
  (command "._-insert" blname pt0 "" "" "0")
  (alert (strcat blname"  İsminde blok oluşturuldu.\nOmeganın açılımı  "rtaci"mm.dir.\nOmeganın ağırlığı  "rtkg"kg/m.dir")))
  (progn
    (command "._-insert" blname pt0 "" "" "0")
    (command "._explode" (entlast) "")
    (command "_.area" "o" (entlast))
  (setq cevrey (getvar "perimeter"))
  (setq acilimy (- (/ cevrey 2) kalinlik))
  (setq alanmmy (* acilimy kalinlik))
  (setq alanmy (/ alanmmy 1000))
  (setq kgy (* alanmy brkg))
  (setq rtaciy (rtos acilimy 2 2))
  (setq rtkgy (rtos kgy 2 2))
  (command "._-block" blname "Y" pt0 (entlast) "")
  (command "._-insert" blname pt0 "" "" "0")
  (alert (strcat "!! BU MALZEME DAHA ÖNCEDEN TANIMLANMIŞTIR !!\n\nBlok ismi:  "blname"\n\nOmeganın açılımı  "rtaciy"mm.dir.\nOmeganın ağırlığı  "rtkgy"kg/m.dir"))))
(setvar "osmode" osn)
(setvar "cmdecho" oldCmdecho)
(princ))


Hatalar düzeltilerek yukardaki şekilde güncellenmiştir.

fox (02.12.2008 09:41 GMT)

02.12.2008 09:10    

ehya
fillet komutunda kalınlıktan sonraki enter ifadesini kaldır. hata mesajı çıkmayacaktır.

örnek :

Kod:

Eski kod :   (command "._fillet" "r" disr "" "._fillet" ln1 ln2)
Yeni kod :  (command "._fillet" "r" disr  "._fillet" ln1 ln2)


Tüm kodlamalarda fillet bölümünü buna benzer şekilde düzenlemelisin.

> 1 <
Copyright © 2004-2022 SQL: 1.014 saniye - Sorgu: 62 - Ortalama: 0.01636 saniye