Copyright © 2004-2022 SQL: 1.159 saniye - Sorgu: 102 - Ortalama: 0.01137 saniye
28.10.2010 22:27
math29 |
Hava kanalı metrajı çıkarmak için lisp. Aşağıda soruya verilen cevapta indirebileceğiniz lsp uzantılı AutoLISP dosyası verilmiştir.
Hava kanalı metrajı çıkarmak için lisp arıyorum. Şöyle bir şey yapabilir. Örneğin autocad de kanal boyunu dimension ile ölçüp 200x200 (kanal ebatı) yazısına tıkladığımda toplam alanı excele aktarsın. Kanal alanı= 2(A+B)*L A: KANAL ENİ B: YÜKSEKLİK L: KANAL BOYU admin (05.04.2018 16:56 GMT) |
29.10.2010 19:07
ProhibiT |
Bahsettiğiniz işlem bu kadar basit olmasa gerek:) Dirsekleri ne yapacaksınız? Resim düzlemine dik (Dikey) Kanalları nasıl metraja katacaksınız? Gibi pek çok noktada eksik kalır...
Bir diğer nokta da; AutoCAD programı ya da AutoLisp Fonksiyon müneccim değildir. Yazdığınız gibi "Arife tarif ne gerek" alsın hesaplasın yazsın diyemezsiniz. Böyle bir metraj işlemini sık yapıyorsanız ve sizin için önemliyse, yani değerliyse; Piyasada bu işi bihakkın yapan programlar var. İçlerinden birini de, (belki de en kötüsünü) ben yazdım. Bedelini öder kullanırsınız. Bu yolu tercih ederseniz; tıklarsınız planda mekanın içine, Alan bulunur. Sorar yüksekliği Hacmi hesaplar. Verirsiniz Hava Değişim/Saat değerini Debiyi hesaplar. Belirlersiniz kanal içindeki maksimum/minimum hızları Kanallarınızı boyutlandırır. Kanallarda ve Dirseklerdeki sürtünme kayıplarını da göz önüne alarak, Üfleme ve emiş kanallarınızı Santralinize kadar düzenleyip dengeler. Ve sonunda da elbet Metrajlarınız da emrinize amadedir. Şimdi birileri çıkıp, "Vay anasını sayın seyirciler, böyle bir program var kopyalayabileceğim. Ama Hardware Lock korumalı. Benim güzel hatırıma bunu crack'lermisiniz?" diyeceklerdir. Yok öyle yağma Hasan'ın böreği! Hilal-ı Ahmer'e çalışmıyoruz. Kendi ayağımıza da kurşun sıkacak birileri olmadığımıza göre...! İhtiyacı, ilgisi, bilgisi olana burada bir fonksiyon paylaşıyorum. "Orası da şöyle olsa, burası da böyle olsa" türünden hiç bir değişiklik teklifine kulak asmayacağımı peşinen belirtmek isterim. Apaçık kod veriyoruz, bileği yeten alır düzenler, değiştirir. Biz de bu alemde aramıza biri daha katıldı diye mutlu oluruz. Program yazan arkadaşlarımızın eleştirilerine her zaman açığım elbette, o başka bir boyut. Bunun dışında "...şurasına da kuş kondursak" şeklindeki kullanıcı isteklerine kulak asmaya başlayınca evin yolunu bulamıyoruz. Kimse kusura bakmasın! Kusura bakanlar da bi zahmet imzamı okusunlar :) Kodların buradan alınıp Lisp dosyası oluştururken yapılan hatalar nedeniyle, kullanıma hazır dosyayı 174410-kame.rar tıklayarak indirebilirsiniz. Hava kanalı metraj fonksiyonu download linki: 174410-kame.rar Herkese Kolay Gelsin... admin (05.04.2018 16:56 GMT) |
30.10.2010 21:50
math29 |
TEŞEKKÜRLER HOCAM YALNIZ BU PROGRAMIN KISA YOLU NEDİR ÇALIŞTIRAMADIM
|
31.10.2010 00:04
ProhibiT |
Kod başlangıcında görünen (defun c:KaMe () ... den de anlaşılacağı gibi fonksiyonun adı KaMe.
Burada verdiğim kodu Copy/Paste ile alıp (mesela Notpad'e) uzantısı -.Lsp olan bir dosya olarak kaydedin (mesela c:\.......\AutoCAD 2011\Support\KaMe.Lsp şeklinde) Bundan sonra AppLoad ile bu fonksiyonu yükleyin... Fonksiyon kullanıma hazırdır. AutoCAD Komut Satırından KaMe<┘ girmeniz yeterli... Kolay Gelsin.
|
31.10.2010 12:04
math29 |
appload dan yükledim command satırana kame yazıyorum unknown command diyor anlamadım sorun nedir.
|
04.11.2010 12:40
ProhibiT |
AppLoad ile yüklediğinizde, "KaMe.lsp successfully loaded." türü mesaj alıyor musunuz? Yani fonksiyonumuz gerçekten yükleniyor mu?
Eğer Burada verdiğim Program kodunu, "c:\Program Files\Autodesk\AutoCAD 2011\Support" (bu yolu örnek olarak yazdım sizde farklı olabilir) klasörüne, mesela KaMe.Lsp olarak kaydettiyseniz... Dosya isminin KaMe.Lsp.Txt şeklinde yanlış olmadığından eminseniz... AutoCAD Komut satırından Command: (load "KaMe.Lsp")<┘ ;;girdiğinizde, C:KAME ;;mesajını alıyorsanız... Fonksiyonumuz başarıyla yüklendi ve KaMe komutumuz kullanıma hazırdır. Yukarıda bahsettiğim dosya adı hatası Not defteri (NotPad) programı kullanılırken, kayıt işlemi sırasında "Kayıt türü" olarak "Metin Belgesi (*.txt)" seçili olduğunda ortaya çıkıyor. Bu tür AutoLisp Program dosyalarını kaydederken, "Kayıt Türü" olarak "Tüm dosyalar (*.*)" seçili olmalıdır. Aksi halde "DosyaAdı.Lsp.Txt" gibi aslında uzantısı txt olan dosya kaydetmiş olursunuz ve haliyle AutoCAD bunu AutoLisp Source Code olarak yükleyemez... Kolay gelsin.
|
06.02.2011 21:39
math29 |
Nil; error: an error has occurred inside the *error* functionbad argument type:
streamp nil bu hata mesajını alıyorum
|
07.02.2011 04:48
ProhibiT |
Hata yakalam rutini içinde bir hata oluşuyor. ilk satırdaki; (princ er) yerine (princ e) yazarsanız hallolacaktır.
neden hata oluşup, hata yakalama rutinine gidildiği konusunda bir fikrim yok. - read only bir klasörde dosya açmaya çalışıyor olabilirsiniz. - kanal ebadı olarak seçtiğiniz obje text değil mtext veya block olabilir. ---------------------------------- (while (/= (cdr (assoc 0 (entget (setq ebat (car (entsel "\nkanal ebadı yazısını seçiniz. . . ")))))) "text") (princ "\nsectiginiz obje bir text objesi olmalıdır!")) ---------------------------------- yerine ---------------------------------- (princ "\nkanal ebadı yazısını seçiniz. . . ") (while (not (setq ebat (ssget ":s" (list (cons 0 "*text"))))) (princ "\nsectiginiz obje bir text objesi olmalıdır!")) (setq ebat (ssname ebat 0)) ---------------------------------- yazarsanız, fonksiyon hem text hem de mtext objeleriyle işlem yapacaktır. kanal ebadının block veya attribute olması durumları, fonksiyonun maksadını aşan bambaşka durumlar. kolay gelsin.
|
13.03.2011 20:08
onderylmz |
Çalıştıramadım hocam
: command: kame bad argument type: fixnump: ""; error: an error has occurred inside the *error* functionbad argument type: streamp nil
|
14.03.2011 00:25
ProhibiT |
Yaukarıda bahsettiğim değişikliklerin uygulanmış hali,
Linkleri görebilmek için ÜYE olmalısınız. den alınabilir. ProhibiT (07.02.2012 07:26 GMT) |
22.05.2011 21:34
onderylmz |
Sn hocam ,
command: kame bad argument type: fixnump: ""; error: an error has occurred inside the *error* functionbad argument type: streamp nil uyarısı geliyor ve çalışmıyor saygılar sunarım
|
22.05.2011 22:00
ProhibiT |
Ilginç! bu fonksiyon burada paylaşılmadan çok sayıda ve değişik parametrelerle denendi, bahsettiğiniz türden bir hata ile hiç karşılaşılmadı. olası hata durumlarına göre yukarıdaki kodu *error* bölümünü tekrar düzenleyerek yeniledim, buradan tekrar alıp denerseniz, probleminiz çözülebilir. Eğer gene hata alıyorsanız;
Kod: (defun *error* (er f) (princ er) (setvar "modemacro" "") (if f (close f)) (prin1)) satırını kaldırıp öyle çalıştırmayı deneyin. burada error trap fonksiyonu çok hayati değil aslında, tek amacı modemacro değerini boşaltmak ve eğer açık kaldıysa açılan dosyayı kapatmaktan ibaret.
ProhibiT (22.05.2011 22:10 GMT) |
30.05.2011 08:13
onderylmz |
Abi üzgünüm ama yine olmadı :(
|
22.12.2011 17:19
ProhibiT |
KaMe fonksiyonun düzenlenmiş son halini
Linkleri görebilmek için ÜYE olmalısınız. linkinden alabilirsiniz. ProhibiT (07.02.2012 09:53 GMT) |
02.02.2012 09:15
kurtkale |
prohibit merhaba..ben yükledim.autocad da tanıdı..fakat nasl kullanacağımı bilemiyorum.kullanmasını da anlatırmısın.
kame (ENTER) bad argument type: fixnump: ""bad argument type: streamp nil SONRA NE YAPACAĞIM BİLEMİYORUM..
|
02.02.2012 11:56
waytooraider |
"bad argument type: fixnump: ""bad argument type: streamp nil "hatası veriyor.
Saygılarımla Hocam.
|
07.02.2012 07:34
ProhibiT |
Fonksiyon kodunu buradan alıp denedim, problemsiz çalışıyor. Bahsettiğiniz hatanın kaynağını bulamamakla birlikte, hataya sebep olabilecek gereksiz bazı detaylar kaldırıldı. X veya x şeklinde seçilen ayraç değiştirildi. Sayısal olmayan her karakter ayraç olarak kullanılabilir. İstenirse Kanal en ve boy değerlerinin arasında X, x, / ve hatta boşluk bile kullanılabilir. Tek şart ayraç karakteri Text içinde tek bir defa kullanılmış olmalıdır. Fonksiyonun son halini,
Linkleri görebilmek için ÜYE olmalısınız. den alabilirsiniz. Kolay gelsin.
|
07.02.2012 09:05
waytooraider |
bad argument type: fixnump: ""
Hatasını verdi hocam. En iyisi autocad'i tekrar kurayim :)
|
09.02.2012 11:24
ProhibiT |
Merhaba waytooraider, umarım AutoCAD'i yeniden kurmamışsınızdır, hatayı buldum sonunda. :)
String'lerde tırnak için de tırnak yazmak için back slash kullanıyoruz. Kodlarımızı siteye yüklerken, code braketi içinde de olsa back slash işaretleri kaybolduğu için hataya sebep oluyormuş. Bu durumu düzeltip yeniden yükledim. Son halini problemsiz kullanabilirsiniz.
|
aytac_kavak |
Hocam Elinize saglık 10 numara olmus sorunsuz calısıyor tesekkurler.
|