21.05.2011 21:22    

sisecam
Selamlar..

öncelikle sitede aradım sadece 1 konu bulabildim ama oda eskimiş ve linki çalışmıyor.

bana lazım olan başlıktanda anlaşılacağı gibi bir lisp..
bu lispin benden isteyeceği mesela ukg yazacağım lisp bana "kaçlık u" diye soracak "120" lik u yazdığımda boyunu soracak "2000" mm yazdığımda kilosunu bulacak.

birde benim düşüncem u profilin kesit alanları her birinde farklı olduğu için sizide uğraştırmamak için gerekirse sadece 100 lük u nun kesit alanından hesab edin bana geri kalanı şu şekilde devam ettirebilirsin diyin..Ama "ukg" yazdığımda bütün "u" ların ağırlıklarını bulabileyim.. yani 100 lük 120 lik 300 lük vs.Vs..

aynı döngüyü ı profil ve köşebentlerdede kullanacağım..

teşekkür ederim

22.05.2011 11:28    

yazgunesi
Sitemizde yeterince araştırma yapmamışsınız sanırım.. aşağıdaki linkleri incelemenizi öneriyorum.



Linkleri görebilmek için ÜYE olmalısınız.





Linkleri görebilmek için ÜYE olmalısınız.

22.05.2011 18:45    

sisecam
Yazgüneşi öncelikle teşekkürler cevapladığınız için,

1. vermiş olduğunuz linkte benimde yazılarım var düz plaka için onu kullanıyorum zaten.

2. linkteki lisp ler benim ihtiyacımı karşılamıyor yani ben istiyorumki lispi çalıştırdığımda benden sadece aşağıdakileri istesin..

command: ukg

lütfen unp seçiniz : 120

lütfen boy giriniz : 2500

sonuç : ..... kg.

yani ben 1 metre ağırlığı girmeyim istiyorum.. bu şekilde tüm npu ların 1 metre ağırlığını yada 1 birim ağırlığını ben lispin içinde halledeyim istiyorum.. bilmem daha açıklayıcı olmuşmudur.. bu şekli ile daha kullanışlı olacağı kanısındayım. en azından elimin altında 1 metre npu ağırlığı olmadanda ağırlık çıkarabilmiş olurum.

teşekkürler.

22.05.2011 21:46    

ProhibiT
Böyle bir işlem için neden ilk aklınıza gelen lisp'ten bahsediyorsunuz ki? toplama, çıkarma veya çaprma gibi işlemler için de lisp fonksiyon yazılmaz, buldozerle saksı dibi eşelenmez. bahsettiğiniz işlemleri standart autocad komutlarıyla zaten yapabilirsiniz. autocad komut satırından cal girin hesap makinesi satırında bahsettiğiniz işlemi yapın, hatta buna bile gerek yok, bir excel tablosunu ole object olarak bağlayın, istediğinizden de fazlasını burada yapabilirsiniz.

illede istiyorsanız; bir block oluşturun, block içinde bir lookup table ile profil ağırlıklarını girin (yani dinamik bir block oluşturun). block içinde oluşturacağınız bir attribute'e value olarak bir field tanımlayın. oluşturduğunuz block'u profilin yanına insert edip, profil uzunluğunu field'a bağlayın... hem yukarıda bahsettiğiniz ağırlık hesaplama işlemini yapmış olursunuz, hem de profil boyunu tanımlayan çizginiz edit edildiğinizde ağırlık değeriniz otomatik olarak update edilmiş olur.

bunlar çok karmaşık geldiyese, bir tek attribute'ten oluşan bir block oluşturun, block'unuzu insert ettikten sonra attribute edit'e girin buradan attribute value bölümünün yanındaki field ikonuna tıklayarak profil boyunu bağlayın. field'ı tanımlarken çizgi boyu ile profilin birim boy ağırlığını çarpacak şekilde additional format bölümünü düzenleyin.

sonuç olarak, bir konuda fonksiyon yazmaktan bahsetmek için, ortada bir algoritma, bir mantık dokusu ve akış olmalıdır, öyle dört işlem yapan bir lisp fonksiyon kendini kandırmaktan ibaret kalacaktır. yukarıda bahsettiğim yöntemler size uzun ve karmaşık geliyorsa, kim uğraşacak diyorsanız; böyle sanat değeri olmayan bir lisp fonksiyonu yazmak için kim ve neden uğraşsın ki?

son olarak, bir yandan lisp öğrenmek bir yardan da işinizi görmek için oturun buradan başlayın lisp yazmaya. O kadar zor değil,
Kod:

(setq Profil (getint "\nProfil ebadı: "))
(setq Boy (getreal "\nProfil uzunluğu: "))
(cond ((= Profil 80) (setq BirimBoyAgirliği 12.1))
         ((= Profil 100) (setq BirimBoyAgirliği 13.4))
          .
          .
          .
)
(setq Agirlik (* Boy Agirlik))
(princ (strcat "\n" (rtos Agirlik)))

şeklinde bir fonksiyon yazmayı deneyin bence. burada 12.1 ve 13.4 değerlerini örnek olması bakımından uyduruk değerler olarak yazdım.

kolay gelsin.

ProhibiT (23.05.2011 05:35 GMT)

23.05.2011 05:32    

sisecam
Hocam yanlış anlamayın yaptığınıza sonsuz saygım var. olmamasıda mümkün değil çünkü bilmiyorum..

sizde haklısınız unp nin ağırlığının nasıl çıkacağına dair bir lisp var zaten, bu adam ufak tefek değişiklik istiyor ve sadece kendisi için istiyor.Belkide bencillik. evet haklısınız..

mevcut yazlılmış unp ler etli boru vs için öyle bir konu var olunca dedimki bunu daha kullanışlı kılabilirmiyiz.

siz olaya sanat yönüyle bakarken ,günümüz şartlarında ben işi hızlandırma, yaptığım işe + katma yönünde böyle bir talepte bulunmuştum.

bu lispte 1 metre unp ağırlıkları autocad e gömülü olsun istemiştim. herhangi bir program yada evrak kullanmadan direk autocad de işimi görmek istemiştim.

küstahlık gibi algılanmasın ama öğrendiğim kadarı ile lisplerinde amacı listeleme , matematiksel işlemler yaptırma , zamandan tasarruf diye düşünüyorum.

bir kusurumuz var ise affola..

teşekkürler ilgi alakanıza..

> 1 <
Copyright © 2004-2022 SQL: 1.076 saniye - Sorgu: 55 - Ortalama: 0.01957 saniye