Çizgileri toplayıp toplam çizgi boyunu veren lisp

hceven99 - 07.12.2005 11:31
Ç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

Kod:

(defun c:tb (/ secim sayi topboy cizsay say ata ata1 ata2 tip nok1 nok2 uzun ort)
(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 " --> 'cizimokulu.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.

Yazar: hceven99
İçerik:
Tag:

Yorumlar :
hmtgrl   23.10.2017 19:50 #15818  

polylıne da işe yaramıyor bi çözüm bulun .

mkort24   29.10.2016 19:19 #15718  

TOPLAMA İŞLEMİNİ LAYER LAYER AYRI AYRI
TEKSEFERDE YAPTIRABİLİRMİYİZ

mkort24   29.10.2016 19:17 #15717  

ÇALIŞIYOR

koray_korkmaz   28.12.2013 13:09 #15260  

teşekkürler

sinocan   19.12.2013 13:49 #15242  

yahu arkadaş ben bunu kopyalıyamıyorum :(

hades86   25.11.2013 11:33 #15212  

neden acamiyorum

mescarine   04.02.2013 12:48 #14966  

bende Autocad 2010LT var ve lisp çalıştıramıyoruz. Toolkit 2010 diye bir program var ama oda ücretli. Hemde orjinalini bozduğu için pek kullanma taraftarı değilim açıkçası. LT de list değil ama script çalştırabiliyoruz. Acaba aynı işi gören script mevcutmudur? Bilginiz varmıdır?

huma   11.06.2012 08:34 #14676  

Dikkat :yes
bu lisp sadece --line-- ile çizilen çizgileri toplar....
tb çalışıyor sorun yokk
teşekkürler..

muratbilemem   25.05.2012 13:29 #14651  

; error: divide by zero hatasi aliyorum dha once sorunsuz kullaniyodum. polyline lari toplamaya calisirken verdi hatayi. nasil duzeltebiliriz

hihaho   07.02.2012 09:35 #14503  

uo komutu için teşekkürler:)

kurtkale   04.02.2012 07:12 #14499  

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

esrabrr   07.06.2011 14:34 #14082  

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...

cesur_34   06.05.2011 15:10 #14028  

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.

duysuyu   15.02.2011 14:43 #13783  

teşekkürlerr süper olduuuuuuu

duysuyu   15.02.2011 14:43 #13782  

teşekkürlerr süper olduuuuuuu

duysuyu   15.02.2011 14:43 #13781  

teşekkürlerr süper olduuuuuuu

r0cc0r   28.10.2010 08:19 #13447  

İşe Yarıyor çok teşkkrüler...

betbet   24.02.2010 11:14 #12514  

komutu çalıştıramayan arkadaşlara ehya arkadaşımın yüklediği uo komutunu tavsiye ederim çalışıyor :)

betbet   24.02.2010 11:05 #12513  

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?

burakturkes   26.01.2010 08:38 #12358  

Derya Kılıç adlı arkadaşımıza bildiğim tüm duaları yolluyorum. Allah razı olsun....

lostswordfish   02.09.2009 14:54 #11693  

teşekkürler makinadaki kumaş boyunu heaplarken çok işime yarar

crayzkomando   27.07.2009 12:58 #11520  

saol kardes bu baya işime yarıyo teşekkürler

tturan   29.05.2009 18:54 #11212  

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.

tturan   29.05.2009 18:50 #11211  

bu çizgiler farklı layerlarda. her çizgi boyunu layerına göre verebilir mi.

ehya   06.05.2009 12:32 #11062  

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.

tkavruk   06.05.2009 11:47 #11061  

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.

mehmetozkinali   01.04.2009 11:04 #10858  

TŞK

cesi007   13.03.2009 15:18 #10685  

teşekkürler..ellerin dert görmesin kardeşim

akdeniz8080   16.12.2008 13:10 #9776  

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

YUSUFTHESECOND   15.12.2008 08:02 #9763  

tesekkurler..
gercekten cok ise yariyor

KÖPRÜ-YOL   19.11.2008 16:25 #9600  

Ü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..

given   04.11.2008 07:14 #9457  

Arkadaslar lips calismiyor.Cevaplar hep ayni ama kimse lispin neden calismadigindan bahsetmemis.Ayrica TB tablo komutu baska bir komut yokmudur yani buna verecek?

ibrahimtatar   07.07.2008 10:46 #8614  

teşekkürler

ehya   07.03.2008 20:39 #7533  

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...

leonine25   07.03.2008 09:19 #7528  

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ı

ybaykan   04.12.2007 08:50 #6643  

TB KOMUTU BENDE TABLO HAZIRLIYOR.ÇİZGİ UZUNLUĞUNU VERMİYOR.

lihannes   02.11.2007 08:52 #6231  

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?

ehya   19.09.2007 09:00 #5634  

Kısayolu TB. Yüklemede hata yapıyorsunuz...

Sessiz Kabus   19.09.2007 08:55 #5631  

kısa yolu nedir eğer tb ise çalışmadı arkadaşlar

ehya   01.09.2007 18:02 #5289  

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

sukrueker   01.09.2007 15:27 #5288  

ben bunu indiremedim ve kurulumu konusunda açıkça belirtirseniz buna çok sevinirim arkadaşlar

ayhan53ismail   10.04.2007 08:30 #3846  

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

mehmetusta2005   10.04.2007 06:34 #3843  

giriyormuş arkadaşlar kusura bakmayın benim nette sorunmuş alcağın olsun telekom:blush

mehmetusta2005   10.04.2007 06:31 #3842  

kod çalışıyor ancak nasıl çalıştıracağım onu bilmiyorum?
yukardaki linkte çalışmıyor

Derz   06.12.2006 08:28 #1204  

teşekkürler, emeğinize sağlık...

emraha   05.12.2006 17:19 #1202  

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..:)

redrua   16.11.2006 10:33 #951  

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 :)

redrua   16.11.2006 10:24 #950  

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

Copyright © 2004-2022 SQL: 0.053 saniye - Sorgu: 37 - Ortalama: 0.00142 saniye