28.03.2013 07:34    

Travaci
Şahin Hocam yine şevkinizi kırdılar sanırım : )
Arkadaki tarama deil text'in field özelliği taşıdığını gösteriyor. Yani siz alanını bulduğunuz objenin boyutunu değiştirip regen yaptığınızda alan yazısıda otomatik değişiyor. Görünmesini istemiyorsanız komut satırına FieldDisplay enter 0 enter girmelisiniz. m2 yazısını kaldırmak için [, m²] kısmını silin. Virgülden sonraki 3 basamak için "%lu2%pr2%ps" bu kısmı "%lu2%pr3" bununla değiştirin.

Travaci (28.03.2013 07:46 GMT)

28.03.2013 13:39    

2032223351
Allah razi olsun sahin abi ellerine emegine saglik :-) eger kizdirdiysam ozr dilerim gencligime verin . Cok cok sagolun sizin gibi ustatlarin oldugunu bilmek cok iyi.

28.03.2013 17:49    

ProhibiT
Estağfurullah, kızmak değil aslında. AutoLISP konusunda AutoCAD sorusu gelince, cevap vermeye yetişmek pek mümkün olmuyor. :)

Kendi üstünüze alınmayacağınızı düşünerek, yeri gelmişken bazı konulara açıklık getirmekte fayda var.

AutoCAD'i gerçek anlamda öğrenmeden, değil Lisp yazmaya çalışmak, hazır Lispleri bile kullanmaya çalışmak bile doğru olmuyor. AutoCAD konusunu iyice hazmetmeden cazibesine kapılınca, AutoLISP'i anlama ve öğrenme konusunda aşılmaz engeller oluştuğu gibi, AutoCAD konusundaki gelişimi de ciddi boyutta engelliyor. Tüm arkadaşlara tavsiyem; ister örgün bir kurumda yüz yüze veya bire bir olur, isterse sanal veya gerçek ortamda başka kaynaklardan olur, mutlaka sistematik AutoCAD eğitimi alınmalıdır. Hiç bir şey bilmiyorsanız, defteri var kitabı var. Kafa göz kırarak, kendi kendine öğrenildiğinde (öğrenildiği sanıldığında), nelerin bilinmediği konusunda bir farkındalık olmadığından, yarım yamalak AutoCAD kullanıcısı olarak kalınıyor.

AutoCAD ile yapılabilen hiç bir işlemi AutoLISP ile yapmaya çalışmayın. Aynı komutun çok sayıda tekrarı gerekiyorsa bile, basit macro ve scriptler rahatlıkla işinizi görecektir. Tüm AutoCAD araçları, Script, Macro ve DXF kavramlarını hazmetmeden AutoLISP ile yalnızca genel kültür boyutunda ilgilenilebilir.

Burada forum ortamında hepimiz, konu başlıklarına göre yazılan mesajları, ilgili konunun gerektirdiği bilgi seviyesinde kabul etmek zorundayız.

- AutoCAD öğrenenler. Öncelikle forumda araştırmak ve ilgili başlıklar altında yazmak şartıyla takıldıkları konuları sorabilirler. AutoCAD'in herşeyini buradan, sanal ortamdan öğrenmek gibi bir durum söz konusu olamaz. Öğrencinin yeteneği ile bir ilgisi yoktur, eşyanın tabiatına aykırıdır.

- AutoCAD bilenler. İhtiyaç duydukları ileri ve özel kavramları, önce forumda araştırmak şartıyla sorarlar. Daha önce defalarca yazılmış konular araştırılmadan sorulunca, cevap alma şansı pek olmuyor.

- AutoLISP okurlar. AutoCAD'i iyi seviyede bilirler, verilen AutoLISP kodlarını alır, yükler ve çalıştırırlar. Lisp kodlarının alınarak, kaynak kod dosyalarının oluşturulması, yüklenmesi ve çalıştırılması konularında soruları olabilir.

- AutoLISP yazarlar. AutoLISP kodları yazabilen arkadaşlarımızdır. İleri programlama teknikleri, algoritma kurma ve geliştirme konularında sorular sorar, paylaşımlarda bulunurlar.

İllede bu kademelerden bir tekinde olunmuyor. Genelde kısmen birinde, kısmen diğerinde oluyoruz. Bahsedilen kısımlar mantıken yukarıdaki sıralamada komşudur. Açıktırki, AutoCAD öğrenen birinin yazarları ilgilendiren konuda soru sormasının bir mantığı yoktur. Gerçekte, böyle bir sıralama içinde kimse kimseden üstün değil. AutoCAD biliyor olmanın objektif bir ölçüsü yok. Nihai amaç ta bu değil, herkes kendi ihtiyacını karşılıyor. Herhangi bir kademede olmak kimseye bir hak kazandırmaz, tam tersine her kademenin getirdiği sorumluluklar vardır.

Doğru bir yaklaşımla, burada paylaşılan örnekler ve ipuçları dikkatle okunur, hazmedilip, mantıklı bir sıra takip edilirse, AutoLISP ve AutoCAD kavramları biri birini destekler, yardımcı olur. Bahsedilen yaklaşım açısıyla sitemiz incelediğinde ne kadar zengin bir içeriğe sahip olduğu görülecektir.

Herkese kolay gelsin...

29.03.2013 03:00    

2032223351
=)
kusura bakmayin hocam =)
son birsey daha sorabilirmiyim ?
cizgilerin uzerine cizdigi pline cizgilerini yeni yazdigim leyer den degil 0 layerinden yapiyor. ben tabaka kapattigimda sadece yazilar yeni actigim kabakalarda gorunyor plineleri nasil yazilarla ayni tabakada olmasini saglayabiliriz? tekrar kusuruma bakmayin .

2032223351 (29.03.2013 03:45 GMT)

29.03.2013 07:12    

ProhibiT
0 Layer'ında yapmaz, current Layer'da yapar. Fonksiyonu çalıştırmadan hedef Layer'ı current yapmak o kadar zor bir iş olmasa gerek.

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

tekrar alabilirsiniz.

29.03.2013 16:00    

map23
Merhaba şahin hocam bir lisp ricam var sizden. sitede araştırdım bir sonuca ulaşamadım.polyline ile ilgili çeşitli lispler var işimi görüyor ama tek tek oluyor bu .benim istediğim şöle bir şey kesitler üzerinde birbirini kesen çizgiler var kazı , dolgu , nebati ve değişik kazılar bunları kapsayan boşlukları ayrı boşluğa tıkladığımda ortak olan kısımları hariç dış hattı polyline olarak kapalı bölge oluşturması bunu oluştururken tıkladığımız boşluğun alan toplamınıda tek olarak en son bir kenara yazabilmek.Teşekkür eder iyi çalışmalar dilerim.

29.03.2013 18:18    

ProhibiT
Anlayamadım, bir resim eklerseniz belki anlayabilirim. :)

30.03.2013 09:20    

map23
334839-örnek enk1.dwg

Şahin hocam kesitte anlatmaya çalıştım polyline ile ilgili konuyu.Kolay gelsin.

02.04.2013 09:23    

Harbi65
Autocad text editörde TEXTSCR ile görüntülerken Enter ile sayfa sayfa görüntülemeyi nasıl yaparım

02.04.2013 10:13    

ehya
sayfa sayfa görüntülemek derken nasıl birşey bu?

02.04.2013 10:28    

Harbi65
Alıntı
ehya :
sayfa sayfa görüntülemek derken nasıl birşey bu?



Örneğin sistem değişkenlerini görüntülerken Enter'a bastıkca sayfa sayfa görüntülüyor ya... Bunun gibi demek istedim..
Anlatabilmişimdir umarım...

02.04.2013 10:44    

ehya
değer fazla olunca sayfa sayfa görüntülenme otomatik yapılıyor diye biliyorum.
bununla ilgili bir ayar varmıdır hiç duymadım..

02.04.2013 11:13    

Harbi65
100-200 satır şeklinde görüntülediğimizi düşünürsek hepsi birden akıp gidiyo. Bu görüntülemede Enter'a bastıkca devam etmesini istiyorum..
Bir sayaç kurup 22 satırda bir enter ya da bir tuşa basmayı beklese burda PAUSE yi nasıl uygularım?

02.04.2013 13:19    

map23
ben bu dediğinizi denedim bende sayfa sayda aşağı iniyor ama ayarı nasıldır bilemiyorum.birçok obje seçip list diyorum yada textscr en üstte görüntü ekranda bekliyor enter dediğinizde diğer sayafaay geçerek aşağı doğru iniyor.

17.04.2013 15:03    

rayden81
Merhaba;

Ben plineların noktalarını listelemeye çalıştım (öğrenmek amaçlı) bir lisp yazdım ve çalıştı ama ikinci bir çizgi seçip lispi çalıştırınca nokta listemin eski pline nin koordinatları temizlenmeden tekrar üzerine yazdığını gördüm. yani ilk çizgim 5 noktalı bi pline ilk lispim çalıştığında 5 koordinat veriyor. 2. kez çalıştırdığımda seçtiğim pline da 3 nokta var son listemin 3 noktalı gelmesi yerine 8 noktalı geliyor yardımcı olabilirmisiniz.
Kod:

(DEFUN C:12()

(SETQ   PL(CAR(ENTSEL))
PLDXF(ENTGET PL)
TEMPLIST '()
NKTLIST '()
DONGU(CDR(ASSOC 90 PLDXF))
);SETQ

(SETQ TEMPLIST (MEMBER (ASSOC 10 PLDXF) PLDXF))

(REPEAT DONGU
(SETQ NKTLISTE (CDR (ASSOC 10 TEMPLIST)))
(SETQ SONLIST (CONS NKTLISTE SONLIST))
(SETQ TEMPLIST (CDR TEMPLIST))
)



);DEFUN

17.04.2013 15:54    

ehya
Pline nesnesinin koordinatları liste adı altında saklıdır.

Kod:

(defun c:pllist ()
(setq ent (car (entsel "\nPline seç:")))
(setq liste (mapcar 'cdr (vl-remove-if '(lambda (x) (/= 10 (car x)))(entget ent))))
(foreach n liste (print n))
(princ))

18.04.2013 05:45    

rayden81
Teşekkür ederim hocam ama sizin kitabınızdaki örnek gibi yapmak istemiştim birde sorum biraz farklı sanki her lisp başlangıcında kullandığım SONLIST değişkeninin içi sıfırlanmıyor gibi bir durum anlıyorum (yanlış anlamadıysam) bunu çözmek istedim..

18.04.2013 08:16    

ehya
Bu verdiğim kod, activex kodudur. Kitapda sadece autolisp anlatmıştım.

Burada tek tek anlatayım..

(setq ent (entsel "\nPline seç:"))
Pline seçimi yap

(setq dnokta (cdr (assoc 90 (entget (car ent)))))
Seçilen pline nesnesinin kaç düğüm noktasının olduğu tespit edildi.

(setq data (entget (car ent)))
Seçilen pline nesnesinin veritabanı açığa çıkarıldı. Pline ile ilgili tüm dxf kodlarını buradan görebilirsin.

(setq liste '())
Koordinat listesi için boş bir liste hazırlandı

(repeat dnokta
Düğüm noktası kadar repeat komutu içindeki komutların tekrarlanması istendi.

(setq pl-koor (assoc 10 data))
pline nesnesinin ilk düğüm noktasının koordinatı öğrenildi.

(setq liste (cons (cdr pl-koor) liste))
İlk koordinat önceden hazırladığımız boş listeye eklendi.

(setq data (cdr (member pl-koor data)))
Pline nesnesinin veritabanından ilk koordinat haricindeki diğer veriler yeniden data adı altında saklandı.

)
Repeat komutunun kapatması


Bu işlem sonucunda döngü işlemi bittiğinde liste adı altında pline koordinatları saklandı.

Yazdığın örnek kod'da hatanı düzeltmek isterdim ama yazımında çok hata var.
Bu yazdıklarımım tekrar okursan hatanı bulacaksın.

18.04.2013 08:33    

rayden81
Çok Teşekkür ediyorum hocam..

18.04.2013 10:09    

Travaci
Mehmet hocam
Kod:

(setq liste (cons (cdr pl-koor) liste))
yerine
Kod:

(setq liste (append (cdr pl-koor) liste))
yapsak olurmuydu ?

Önceki Sayfa [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] > 29 < [30] [35] [40] [43] Sonraki Sayfa
Copyright © 2004-2022 SQL: 1.628 saniye - Sorgu: 102 - Ortalama: 0.01596 saniye