Bölüm indeksi
AutoLISP
Konu Anlatımları
Örnek Lispler

Ekrana tarih bi...

Pline 'ları seç...

Merdiven çizen ...

Rectangle Solid...

2D Polyline 'ı ...

Sürekli Kopya

Civata ve Somun...

Seçilen nesneni...

Z yönünde kopya...

Z yönünde taşım...

Daire ortasına ...

Rakam sıralayan...

Artan sırayla n...

Sırasıyla numar...

Sayfadaki textl...

Yazıyı referans...

Seçilen nesneni...

Seçilen nesnele...

Nokta koordinat...

X,Y Düzlemindek...

Seçilen yazıyı ...

Seçilen yazının...

Autocad içinden...

Çizgileri topla...

Noktanın koordi...

3D Yay çizen li...

...
Sürümler
Menüler
Attribute 'lar
DWF Dosyaları
Programlama
AutoCAD Püfleri
Eğitim
AutoCAD Eğitimi-1
AutoCAD Eğitimi-2
3 Boyut

3 Boyut Dersleri

Katı Modelleme Dersleri
Online Eğitim

01.Bölüm

02.Bölüm

03.Bölüm

04.Bölüm

05.Bölüm

06.Bölüm

07.Bölüm

08.Bölüm

09.Bölüm

10.Bölüm

11.Bölüm

12.Bölüm

Uygulamalar
Online 3 Boyut Eğitimi
KariyerÇizgileri toplayıp toplam çizgi boyunu veren lisp
Sibay - 07.12.2005 13:31
Yazar: hceven99
Kaynak:
(Takip ettiğiniz sayfalar Kontrol Panelinizde görünür)
Çizgileri toplayıp toplam çizgi boyunu veren lisp.
Lisple ilgili forum linki İleti #1063
Bu lispi kodlayan hceven99 'a teşekkürler.
Buraya tıklayarak açılan pencereden AutoLISP kodlarını Ctrl + C ile kopyalayabilirsiniz
(print " Çizgilerin toplam boyu... ")
(prompt " Uzunlukları toplanacak çizgileri seçiniz <Tümü>: ")
(setq secim (ssget))
(if (= secim nil)
(progn
(command "select" "all" "")
(setq secim (ssget "p"))
)
)
(setq sayi (sslength secim))
(setq topboy 0)
(setq cizsay 0)
(setq say 0)
(while (> sayi say)
(setq ata1 (ssname secim say))
(setq ata2 (entget ata1))
(setq tip (cdr (assoc 0 ata2)))
(if (= tip "LINE")
(progn
(setq ata (entget ata1))
(setq nok1 (cdr (assoc 10 ata)))
(setq nok2 (cdr (assoc 11 ata)))
(setq uzun (distance nok1 nok2))
(setq cizsay (1+ cizsay))
(setq topboy (+ uzun topboy))
)
)
(setq say (1+ say))
)
(setq ort (/ topboy cizsay))
(prompt (strcat "
Seçilen nesne: <" (itoa sayi) ">/Çizgi sayısı: <" (itoa cizsay) ">/Ortalama boy: <" (rtos ort) ">."))
(prompt (strcat "
Toplam çizgi boyu:*<" (rtos topboy) ">*"))
(princ)
)
(Princ "
Komutu çalıştırmk için [TB] yazınız!")
(PRINC " --> 'www.autocadokulu.com' Çizim yardımları yüklendi !")
Bu kodları nasıl kullanacağınızı bilmiyorsanız aşağıdaki linkten;
AutoLISP > Konu Anlatımları > Lisp Dosyalarının oluşturulması ve Yüklenmesi
konusunu inceleyiniz.
bu kodun çalışıp çalışmadığını kontrol eden var mı? ben denedim sürekli olarak "; error: bad character read (octal): 0" hatası veriyor. ne yaptıysam düzeltemedim biri yardımcı olursa müteşşekür kalırım
sorunu çözdüm
(Princ "
Komutu çalıştırmk için [TB] yazınız!")
(PRINC " --> 'www.autocadokulu.com' Çizim yardımları yüklendi !")
öncelikle bu kodu silin programın sonundan
daha sonra
(if (= secim nil) bu kodu (if (= secim nil )
haline getirin
program çalışmaya başlayacaktır
kendin pişir kendin ye oldu biraz ama çalıştı en azından
güzel bir kod güzel olmasına karşın ama tam fonksiyonel olduğunu düşünmüyorum çünkü sadece line komutuyla çizilmiş çizgileri seçmemiz gerekiyor... Diyelim polyline la kapalı bir çerçeve çizdik yanında da line la çizilmiş bir çizgi var... bunların ikisininde seçilip toplanması gerekli, bu kod bunu sağlamıyor... Eğer bu ikisinin ölçüsünü toplayabilen bir şey yapabilirse hceven99 arkadaşımız gerçekten çok ama çok işime yarıyacak... Ah şu kodlamayı bilmemenin gözü çıksın
fikir var ama uygulama yok bende...
Ama en kısa zamanda piskopat gibi programcı olucam bu gidişle..
kod çalışıyor ancak nasıl çalıştıracağım onu bilmiyorum?
yukardaki linkte çalışmıyor
giriyormuş arkadaşlar kusura bakmayın benim nette sorunmuş alcağın olsun telekom
arkadaşlar site içinde (sol üst köşe)dosyalar bölümü var orda lispleri tıklayın topla lispini indirin indirdikten sonra masaüstüne farklı kopyalayın sonra c nin içinde autocadin içindeki support içine kaydedin sonra kapayın autocadi açın açdıkdan sonra appload diyin kaydetdiğiniz dosyayı bulun ve contens (canta var)onu tıklayın sonra lispinizi seçip add diyin autocadinizde bu lisp kayıtlı olacakdır tamamen ve sonra çıkın autocadde ply yazın ve ölçmek iştediklerinizi seçin enter diyin toplam değer alt komutlar bölümünde yazacakdır. yazmıyorsa nere yazmasını istiyorsanız oaryı tıklayın değer otomatik yazacakdır
ben bunu indiremedim ve kurulumu konusunda açıkça belirtirseniz buna çok sevinirim arkadaşlar
Yukarıdaki kodları copy-paste yaparak bir metin belgesine kopyalayın. Daha sonra dosyanın uzantsını LSP olarak değiştirin.
Lisplerin yüklenmesi ve çalıştırılması ile ilgili aşağıdaki linki okuyun
Lisp Dosyalarının Oluşturulması ve Yüklenmesi
merhaba..projeleri 5000 küçük çalışıyorum..)(sta4'ten aktardığımız için).(örneğin 0.002 olan çizgiyi 0 olarak ölçüyor) lispin ölçeğini nasıl ayarlayabiliriz?
bende ilk denemde oldu tb komutu ile girdim.fakat sonra autocadi acıp kapattım tekrar denedim tablo komutunu çalıştırdı.bir fikri olan varmı
Lispler aksi belirtilmedikçe her autocad açılışında yüklenmesi gerekir. Lisplerin her defasında autocad çalıştırıldığında aktif olmasını istiyorsanız, APPLOAD komutunu yazın. Ekrana gelen tablonun sağ altında bulunan "Contents" butonuna bastıktan sonra bu bölümden lispi ekleyin. Bu bölüme eklediğiniz her lisp otomatik olarak autocad'in her açılışında yüklenecektir...
Arkadaslar lips calismiyor.Cevaplar hep ayni ama kimse lispin neden calismadigindan bahsetmemis.Ayrica TB tablo komutu baska bir komut yokmudur yani buna verecek?
Üstad ben denedim..Benim çok işime yaradı..Değişken donatı boyları için eskiden herbiri için list edip elimle yazıyordum..İlaç gibi geldi diyebilirim..Emeğine sağlık..Bu lisp paylaşım bölümünde yayınlanan lisplerin içinde top5 e girer..O derece faydalı yani..
top komutunu girip çizgileri seçip entere basıyorum ama herhangi bir yere toplam değer yazmıyor. ne yapmam gerek yardımcı olursanız sevinirim
teşekkürler. lipsi indiren arkadaş komut satırına top yazdıgında komut çalısıyor bilginiz olsun [TB] komutu toblo olusturmaya yariyor.
tkavruk
Lispi yükledikten sonra TB kısayolu ile çalışan table komutu pasif olur. Bu lispi çalıştırmak için gereken komut kısaltması TB'dir.
bu çizgiler farklı layerlarda. her çizgi boyunu layerına göre verebilir mi.
Sorumu biraz daha acayım. farklı layerlarda çizgiler var. ben hepsinin toplamını görmek yerine her layerda ne kadar çizgi varsa onları layer adına göre toplanmış olarak görmek istiyorum. bunun sebebi de örnek olarak boru metrajı çıkartacağım. farklı çapları farklı layerlara atadım. DN15, DN20, DN25 ... gibi. bu programı çalıştırdığımda DN15=115, DN20=48, DN25=65 gibi sonuç verebilir mi... Şimdiden teşekkürler.
teşekkürler makinadaki kumaş boyunu heaplarken çok işime yarar
Derya Kılıç adlı arkadaşımıza bildiğim tüm duaları yolluyorum. Allah razı olsun....
tb komutunu girip çizgileri seçip entere basıyorum ama herhangi bir yere toplam değer yazmıyor.Ne yapmalıyım,biri yardımcı olabilir mi? akdeniz8080 de aynı sorunla karşılaşmış sanırım?
komutu çalıştıramayan arkadaşlara ehya arkadaşımın yüklediği uo komutunu tavsiye ederim çalışıyor
arkadaşlar lispi doğru yükledikten sonra kodu çalıştırmayı anlatıyorum, komut satırına tb yazıp entere basıyoruz sonra komut satırında ölçmek istedigimiz çizgileri seçmemizi isteyen bir yazı yazıcak, uzunluk ölçülerini istedigimiz çizgileri tek tek veya pencere şeklinde seçtikten sonra ekranda mause ile sağ tuşu tıklıyoruz toplam ölçümü komut satırına yazıyor ancak 2 satır üstte yazdıgı için görünmüyor komut satırında ok işaretleriyle 2 satır üstte çıktıgınızda toplam ölçümü görmüş olacaksınız.
arkadaşlar ben denedim bu lispte çalışıyor. topla lispide çalışıyor.fakat ben metraj ölçümü yaptığımda bazen cok buyuk rakamlar cıkıyor.nedeni ust uste cızılen cızgıler değil.pl ve listi kullnarak ölçtüğümde text ekranına length ve 3d length uzunluk ölçüleri gelıyor.ben length olanını kullanıorum dogal olarak fakat lisp 3d lengthi topluo.bu sorun giderilebilir mi?
teşekkürler...
yükleyen arkadaş saolsun varolsun..ben yaptım,oldu..tb yazıyosunuz sonra çizgileri seçiyorsunuz program güzelce çalışıyor ve topluyor..işime yarayacak








