* E Posta Adresiniz:
* Kodu Girin:

İleti Yazar
28.10.2008 19:56
42571    
fatih107

[1] Yeni üye

Online Durumu

9 ileti
Gemi inş. mühendsi
İstanbul

Merhaba arkadaşlar birşey sormuştum ama sanırım öteki arkadaşların soruları arasında kaynadı galiba,tekrar sorayım dedim. Acaba lisp de otomatik değişken üretebilirmiyiz. Şöyle açıklayayım mesela;

(setq x (getreal "/n Kaçıncı su hattı?") burdan x atayacağımız değere göre
shx (entsel "/n Suhattını seç")) Burda sh1 sh2 sh3 gibi değişken yapılabilirmi?

veya belli bir döngüye göre sh1 sh2 sh3 gibi değişkenleri otomatik üretebilirmiyiz?Şimdiden çok teşekkürler

Dünyayı güzellik kurtaracak,bir insanı sevmekle başlayacak herşey...

29.10.2008 01:21
42577    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

değişken adını bu şekilde elde edemessin. Daha doğrusu değişken adlarını sıralı bir şekilde birleştirme yapamassın.
Ne yapmak istediğini söylesen, daha çok yardımcı oluruz.

05.11.2008 16:39
42883    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

arkadaşlar nerde hata yapıyorum ne yapmam gerekiyor?
yerinizde ben olsam, bu soruya cevaben ne yapmaya çalışıyorsun diye sorardım
köşelere fillet uygulamaya çalışıyorum kodda sadece tek köşeyi verdim birini halletsem diğer köşelerde hallolacak inşallah.

Kod:

(defun c:omega ()
(setq oldCmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq osn (getvar "osmode"))
(setq pt0 (getpoint "\nOmeganın taban orta noktasını seçin:"))
(initget 7)
(setq genislik (getreal "\nGenişlik:"))
(initget 7)
(setq yukseklik (getreal "\nYükseklik:"))
(initget 7)
(setq tirnak (getreal "\nTırnak:"))
(initget 7)
(setq kalinlik (getreal "\nSac Kalınlığı:"))
(setq g/2 (/ genislik 2))
(setq tg (- (+ genislik (* tirnak 2)) (* kalinlik 2)))
(setq tg/2 (/ tg 2))
(setq disr (* kalinlik 2))
  (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)))
  (setq ik1 (list (- (car p11) 3) (cadr p11)))
  (setq ik2 (list (car p11) (+ (cadr p11) 3)))
  (setvar "osmode" 0)
  (command "._pline" p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 "_c")
  (command "._fillet" "r" kalinlik "fillet" (entsel (ik1) (ik2)))
(setvar "osmode" osn)
(setvar "cmdecho" oldCmdecho)
(princ))

14.11.2008 11:43
43331    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

Bu lisp olmaz... Yolun başındasın.
yeniden yazmalısın?

14.11.2008 11:49
43333    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

artık yolun sonu göründü
tabi aşağıdaki sorunuda halledersek.

Kod:

(initget 7)
(setq kalinlik (getreal "\nSac Kalınlığı:"))
(initget 7)
(setq genislik (getreal "\nGenişlik:"))
  (if (> genislik (* kalinlik 4))


kodu şöyle anlatayım genişlik sac kalınlığının 4 katından küçük olamaz.eğer küçükse genişliği tekrar sorsun değilse devam etsin.

14.11.2008 12:08
43334    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

Kod:

    (setq n nil)
      (setq kalinlik (getreal "\nSac Kalınlığı:"))
      (while (= n nil)
      (setq genislik (getreal "\nGenişlik:"))
(if (> (* kalinlik 4.0) genislik)
  (progn
    (setq n nil)
    (alert "\nGenislik kalınlıktan en az 4 kat büyük olmalı...")
    )
  (progn
    (setq n t)
    ....
    ....

14.11.2008 12:13
43335    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

initget fonksiyonunu yine kullanıyoruz dimi.

14.11.2008 12:19
43336    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

kullan tabi.

14.11.2008 12:49
43339    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

ahanda işin sonunda şiştik.
bunu yüksekliğide uygulamaya çalışıyorum kodlar karmakarışık bir hal aldı.
ikinci sefer (setq n nil) dediğimizde meydana gelen nedir?çorba oldum iyice.
yüksekliğede uyguladım, hata verdiğinde yüksekliğe değilde genişliğe dönüyor tekrar.

tamam gerek kalmadı çözdüm....
böylelikle lispim tamamlandı yardım eden herkese teşekkürler.


fox (14.11.2008 13:19 GMT)

14.11.2008 14:21
43341    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

yüzmeyi yeni öğreniyorsun. ama denemeyi okyanusta yapıyorsun. Bu kadar karmaşık ve kapsamlı kod yazmak için deneyimin olması lazım. Zaman içinde geliştirirsin kendini.Öncelikle kodların anlamlarını çöz, daha sonra zamanla yapacakların gelişir.
Benden bir tavsiyedir bu...

17.11.2008 10:48
43419    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

eyvallah ehya tavsiyelerin için sağol. ne demiş atalarımız boğulacaksan büyük denizde boğulacaksın

şimdi ise şöyle bir sorum olacak.
if içersinde if fonksiyonu kullanabilirmiyiz ve bunun bir sınırı var mı? tek seferde şu kadar if kullanabilirsiniz diye.excelde 6 dan fazla kullanılmadığını duymuştum lisptede varmı böyle bişey.

17.11.2008 11:11
43420    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

bildiğim öyle bi sınır yok.

17.11.2008 11:24
43421    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

iç içe if kullanılabiliyorsa yapılamayacak şey yoktur.

17.11.2008 11:41
43423    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

diyosun...
autolisp gelişmiş bir dil değildir. Hevesin kırılabilir..

17.11.2008 11:55
43425    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

yapma yav
ahanda kırıldı bile
oysaki ne hayallerim vardı.

17.11.2008 12:44
43426    
miyatu

[8] Kıdemli Uzman

Online Durumu

142 ileti
Tekniker
*ISTANBUL*

emin degilim ama ic ice if kullanmada bir sinir oldugu hakkinda bir yazi okudum galibayanlis hatirlamiyorsam 7 adet kullanilabiliyordu...

Kendini gelistirmeyen insanlar, bildiklerini paylasmaya korkarlar...

17.11.2008 13:01
43427    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

bunada şükür tek olsa napacaktık.

17.11.2008 18:30
43442    
Snopy

[0] Guests

Online Durumu

ileti

miyatu excelde 7 if kullanılabilir 8 incisini başka bir hücreye yönlendirerek kandırabilrisin sistemi ama bunada gerek yok diğer fonksiyonlarla bunu yapmana gerek kalmadan çözüm üretebiliyorsun autolispte ise zaten buna hiç gerek yok cond'un varlığı bunun içindir.

18.11.2008 12:34
43468    
miyatu

[8] Kıdemli Uzman

Online Durumu

142 ileti
Tekniker
*ISTANBUL*

Alıntı
Snopy :
miyatu excelde 7 if kullanılabilir 8 incisini başka bir hücreye yönlendirerek kandırabilrisin sistemi ama bunada gerek yok diğer fonksiyonlarla bunu yapmana gerek kalmadan çözüm üretebiliyorsun autolispte ise zaten buna hiç gerek yok cond'un varlığı bunun içindir.



ben excelden bahsetmiyordum lispten bahsediyordum... lispte ben genelde if yerine cond fonksiyonunu kullanmaya calisiyorum

Kendini gelistirmeyen insanlar, bildiklerini paylasmaya korkarlar...

18.11.2008 13:06
43470    
fox

[8] Kıdemli Uzman

Online Durumu

235 ileti

arkadaşlar kavga etmeyin excel örneğini ben verdim

benim başka bir sorum var şimdi.
lispte grip noktalarını yakalayıp osnap noktalarına çekebilirmiyiz?

Önceki Sayfa [1] [2] [3] [4] > 5 < [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [39] Sonraki Sayfa
Copyright © 2004-2018 | Tüm Hakları Saklıdır | 2155 | Site haritası | İstatistikler | Hakkımızda | Kadromuz | Gizlilik | Reklam