* E Posta Adresiniz:
* Kodu Girin:

İleti Yazar
08.08.2008 11:38
40071    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

Autolisp ile ilgili tüm sorularınızı bu konu altından sorabilirsiniz.

08.08.2008 16:28
40100    
beyto

[3] Kıdemli Girişimci

Online Durumu

39 ileti
teknik eleman
izmir

sağ ol bu auto lisp hangi programda yazılıyor bide mantığı ne dir acaba paskal mantığı gibi geldi bana

08.08.2008 16:38
40103    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

Autolisp açık kodlama yapılan bir macro yazılım dilidir. Herhangi bir metin editöründe kodlanabilir. Daha iyi bir kontrol sağlanmak istenirse, Autocad'in içinde bulunan Tools --> Autolisp --> VisualLisp Editor programında yazılır.
Mantığı ise, kullanıcı tarafından verilen girişlere göre autolisp komutlarını kullanarak işlem yaptırılmasıdır.
Sitede, solda bulunan Autolisp bölümünden ya da Download bölümünde bulunan Autolisp bölümünden lispleri indirerek ne gibi kolaylıklar sağladığını anlayabilirsiniz.

08.08.2008 19:26
40116    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

Soruda iki türlü soru var. Birincisi sld dosyasını dcl'de kullanmak, diğeri ise sld dosyalarını kütüphane haline çevirip menülerde kullanmak.
1ncisinde, MSLIDE ile slide görüntüsünü oluşturun. Bu resim her zamanki gibi autocad'in tanımlı yollarında olmalı.

Dcl dosyasına yazmanız gereken bölüm;

Kod:

:image {
key="3kp_sld_sec";
color=0;
height=7;
fixed_height=true;
width= 20;
fixed_width=true;
alignment=left;
}


Burada örnek bi dcl den satırı kopyaladım. key adı slide görüntüsünün alt fon rengi, yüksekliği genişliği v.s.
istediğiniz gibi değiştirebilirsiniz.

Lisp bölümüne gelince;

Kod:

(start_image "3kp_sld_sec")
(fill_image  0 0 (dimx_tile "3kp_sld_sec")(dimy_tile "3kp_sld_sec") 0)
(slide_image
  0
  0
  (dimx_tile "3kp_sld_sec")
  (dimy_tile "3kp_sld_sec")
  (strcat "Slide_dosyasının_yeri_yazilacak" sld_dsy))
(end_image)


Yukarıdaki kodları da kendinize göre revize edin. Burada değişecek 2 yer var. birincisi key adları, diğeri ise slide dosyasının yeri.
Lispinize de bu bölümü eklediğinizde slide olarak hazırladığınız görüntüler dcl dosyanızda görünecektir.

2nci ise,
Bu tür nesneleri hazırlarken, öncelikle slide görüntüsünü almak istediğiniz dosyaları tek tek açıp MSLIDE komutu ile slide görüntülerini alın. Daha sonra bu dosyaları bir klasör de toplayın. Daha sonra kolaylık olması açısından C:\Program Files\AutoCAD *** klasörünün altında bulunan slidelib.exe dosyasını da bu klasörün içine kopyalayın.

Şimdi, text tabanlı bir dosya oluşturacağız. Bu dosyada her bir satırda slide dosyalarının ismi olacak. İster elle hazırlayın ister dos komutu kullanın.
Ben dos komutu kullanmanızı tavsiye ediyorum. Tekrar msdos penceresine son kaldığınız yere (slide ların olduğu klasöre) dönün.
"dir *.sld /b > liste.txt" komutunu çalıştırın.

Bu işlem, klasör içinde tüm sld dosyalarının ismini liste.txt dosyasınım içine yazacaktır.

Tekrar msdos penceresine dönün.
"slidelib.exe tefris < liste.txt" komutunu çalıştırın. Daha sonra klasör içine bakın. tefris.slb isimli dosya var mı? Eğer varsa slide kütüphanenizi başarıyla oluşturdunuz demektir.

Bu SLB dosyasını ve bloklarınızı uygun ve yeri değişmeyecek bir yere taşıyın. Ardından menü dosyanızı açın.
Mevcut bir menü dosyanız yok ise, yeni bir menü dosyası oluşturmalısınız.
Bu aşamadan sonra slide kütüphanesinin menü içinde nasıl görüntüleneceğine dair işlemlerimiz var. Bunun için, kendi örnek slide kütüphanemden bir bölümü ekleyip tek tek tarif edeyim.

***MENUGROUP=Archme

***POP1
**Archme
ID_MnArchme [&Archme]

[--]
ID_ArchmeFerf [Ferforje]$I=Ferforje $I=*

Menü dosyası olmayanlar mavi bölüm dahil tamamını bir TXT dosyasına yapıştırıp dosyanın uzantısını MNU olarak değiştirmeleri gerekir. Menü dosyası olanlar kırmızı bölümü almaları yeterlidir.

Aşağıdaki bölüm ise slide kütüphanesindeki slide ların görüntülenmesi ile ilgili bölümdür. Üstteki menü bölümü tamamlandıktan sonra aşağıdaki bu bölüm eklenmelidir.

***image
**ferforje
[Ferforjeler]
[tefris(ferforje_01,Ferforje 01)]^c^c-INSERT;ferforje_01;
[tefris(ferforje_02,Ferforje 02)]^c^c-INSERT;ferforje_02;
[tefris(ferforje_03,Ferforje 03)]^c^c-INSERT;ferforje_03;
[tefris(ferforje_04,Ferforje 04)]^c^c-INSERT;ferforje_04;
[tefris(ferforje_05,Ferforje 05)]^c^c-INSERT;ferforje_05;
[tefris(ferforje_06,Ferforje 06)]^c^c-INSERT;ferforje_06;


Tefris ismi bu listenin oluşumundan sonra SLB uzantılı oluşturacağımız dosya adı.
(ferforje_01,Ferforje 01) bölümü, ilk ferforje_01 ismi oluşturulan slide (SLD) dosyasının adı, ikinci bölüm ise slide kütüphanesi açıldığında menünün solunda görüntülenen isim
^c^c-INSERT;ferforje_02; bölümü ise, komut iptalinin yapılıp insert komutu aracılığı ile ferforje_02 adlı dosyayı çağırır.
Unutulmaması gereken, SLB dosyası ile insert edilecek blok dosyalarının yeri Autocad'in tanımlı yollarında kayıtlı olmalıdır.
Tools --> Options --> Files --> Support File Search Path

Txt dosyasına doğru bir şekilde bu girdileri sağladıktan sonra;

Bu satırı tarif etmek gerekirse, Menü tanım ismini ID_ArchmeFerf olarak tanıttım. Daha sonra [Ferforje] bölümü ile menüde görünen ismi belirttim. $I=Ferforje $I=* ismi ile slide kütüphanesinde Ferforje bölümünün okunmasını sağladım.
Bu işlemi yaptıktan sonra autocad'i açıp menü dosyasınızı güncellediğinizde aşağıdaki gibi bir görüntü elde edeceksiniz.




Bayağı uzun bi ders oldu. İnşallah işinize yarar.


ehya (09.08.2008 22:52 GMT)

09.08.2008 23:00
40158    
Harbi65

[10] Üstad

Online Durumu

414 ileti
İnş.Tekn. Teknik Ressam
KASTAMONU

arkadaşlar;
while döngüsü içinde getkword gibi bir harf girişi istemeden bir harfe basınca başka bi fonksiyona yönlendirilebilir mi?
mesela entera basınca lispi sonlandırdığı gibi bir harfe basınca başka bi fonksiyona gidecek....

09.08.2008 23:26
40159    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

daha detaylı bilgi versen...
while döngüsü içinde harfe nasıl basmayı düşünüyorsun?

10.08.2008 00:37
40160    
Harbi65

[10] Üstad

Online Durumu

414 ileti
İnş.Tekn. Teknik Ressam
KASTAMONU

Alıntı
ehya :
daha detaylı bilgi versen...
while döngüsü içinde harfe nasıl basmayı düşünüyorsun?



bir işlemi tekrar tekrar yapan bir while döngüsü düşün.... bu arada entera basınca nasıl çıkmasını sağlıyorsak ; getkword gibi bi giriş yapmaya gerek kalmadan önceden tarfilediğimiz bir harfe basıldığında da başka bir fonksiyon işlemeli....

10.08.2008 15:40
40161    
leonine25

[8] Kıdemli Uzman

Online Durumu

126 ileti
machine designer

teşekkürler...birde lip kitabını elde edersek fena olmayacak.sitede flash player olarak var ama.tasımak istiyorum

insan olmak için zengin olmak gerekmez.yeterki yüreğin olsun ;)
Bu alemin kralı gurbetci178 (Sİnan)

15.08.2008 11:42
40299    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

wolf okumuşsun bi yerlerden bişi aynen gelip burda yazıyorsun
daha detaylı yazsan şunu daha güzel olmas mı?

15.08.2008 12:04
40301    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

wolf bilip bilmemekle alakası yok.
senin dediğini anlamadım.. daha detaylı söylermisin?

15.08.2008 12:24
40303    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

iyi de wolf,
selectable değeri sadece görsel olarak sunulan bir değişken. yani bir grup yaptığında bu selectable kapalı ise nesneleri grup olarak seçemessin diye birşey yok.
group alt komutu ile grup adını yazdıktan sonra yine seçim yapacaktır.

15.08.2008 12:51
40306    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

wolf ya sende ya da autocad'inde sorun var :P

iki seçenekte de denedim. ve iki seçenekte de seçimi yaptı..
sanırım group adını yanlış giriyorsun.

15.08.2008 13:02
40309    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

yazıkk
boşuna uğraşmışsınn desene
bende iki saattir diyorum bu neyin kodu ile uğraşıyor

15.08.2008 15:44
40312    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

anladım senin ne yapmak istediğini.
müsait bi zaman kodlamasına bakarım.

16.08.2008 12:24
40348    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

Şimdi de ben soru sorayım.. Cevaplayın bakalım

Mevcut dosya için LAS FILE dosyası nasıl hazırlanır?

16.08.2008 13:18
40352    
Harbi65

[10] Üstad

Online Durumu

414 ileti
İnş.Tekn. Teknik Ressam
KASTAMONU

Oldu mu acaba?

(defun c:lsf ()
(setq lf (getstring "\n Las Files ismini girin:"))
(command "-layer" "a" "s" lf "" "ex" lf "" "" "")
(princ)
)

16.08.2008 13:28
40353    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

olmadı harbi olmadı..
artık belli şeyleri aş yaa..
ben senden kod istiyorum. autocad komutlarını değil...


ehya (16.08.2008 13:37 GMT)

16.08.2008 13:58
40357    
Harbi65

[10] Üstad

Online Durumu

414 ileti
İnş.Tekn. Teknik Ressam
KASTAMONU

haklısın wolf....
senin cevap vermen gereken yere yazmışım....

ama nerden bileyim.... senin bilemediğini düşünmüştüm

18.08.2008 18:06
40392    
ehya

[90] Yönetici

Online Durumu

3200 ileti
Teknik Ressam
Ankara

wolf..

geçen sormuştun ama anca cevap verebiliyorum..
örnek olarak verdiğin kodları kısaltma yaptım..
Grup adını öğrenme ve selectable durumu hakkında bilgi kodlarını aşağıda belirtiyorum. Artık gerisini sen hallet. Ben karışmıyorum


Kod:

(setq ename (car (entsel)))
;; selectable durumu
(setq durum (cdr (assoc 71 (entget (cdr (assoc 330 (entget ename)))))))

;; grup adı öğrenme
(setq grup_adi (cdr (assoc 3 (entget (cdr (assoc 330 (entget (cdr (assoc 330 (entget ename))))))))))

18.08.2008 18:17
40393    
Harbi65

[10] Üstad

Online Durumu

414 ileti
İnş.Tekn. Teknik Ressam
KASTAMONU

Lisp de handent komutu ne işe yarar?

> 1 < [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [39] Sonraki Sayfa
Copyright © 2004-2018 | Tüm Hakları Saklıdır | 2148 | Site haritası | İstatistikler | Hakkımızda | Kadromuz | Gizlilik | Reklam