18.04.2013 10:36    

ehya
travaci




Kullanım şekline göre değişir.

Benim yazdığım kod'da sonuç aşağıdaki gibi liste verir.

((46975.9 -359450.0) (40533.8 -359450.0) (40533.8 -362183.0) (31732.9 -362183.0) (31732.9 -365550.0))

Senin söylemiş olduğun cons yerine append kullanılırsa sonuç şu şekilde olur.

(46975.9 -359450.0 40533.8 -359450.0 40533.8 -362183.0 31732.9 -362183.0 31732.9 -365550.0)


İlkinde düğüm noktalarının koordinatları ayrı ayrı listelenirken, append ile uygulandığında listeler birleştirilerek tek liste elde edilir.

18.04.2013 12:50    

rayden81
hocam hazır pline nesneleri hakkında soru sormuşken müsadenizle bir soru daha sormak istiyorum.
pline nesnelerin de kurb olursa dxf kodlarında bi değişiklik olmuyor bu kurb bilgileri nerede saklanıyor ve nasıl ulaşabilirm. araştırırken örnek bir lispe baktım pline nesnesini explode ile patlatıp öyle arc nesnelerine ulaşabiliyordu sizin bir tavsiyeniz varmı.

20.04.2013 02:58    

2032223351
iyi gunler arkadaslar bir sorum olacakti var olan bir lispi nasil iptal edene kadar tekrarlattiririz ? nasil bir ek kod yazmak ve neresine yazmak lazim yardimci olurmusunuz ?

20.04.2013 06:51    

ehya
:) Bu nasıl soru böyle :)
Lispi tekrarlatmak için bir kod diye bir kavram yok. Lisp içerisinde istenilen bir işlem(ler)in tekrarlanması için bir kod yazılabilir. Ancak bu böyle neresine yada nasıl gibi sorularla cevaplanabilecek bir konu değil.

20.04.2013 14:42    

2032223351
Peki hocam sana gondersem yaparmisin ?

20.04.2013 23:27    

ehya
Lispe bagli. Ufak bir lisp ise olur. Ancak kapsamli bir lisp ise ugrasacak vaktim yok.

19.06.2013 14:34    

Travaci
Dosyayı açtığımda bazı sistem değişkenlerini değiştirmek istiyorum, lisp'i açılışta komut girmeden kendiliğinden başlatabilirmiyiz ?

19.06.2013 15:23    

ehya
Alıntı
Travaci :
Dosyayı açtığımda bazı sistem değişkenlerini değiştirmek istiyorum, lisp'i açılışta komut girmeden kendiliğinden başlatabilirmiyiz ?



Defun bölümünü kaldır. Lispi açılışta yüklenmesini sağla..
Yada defun bölümünü kaldırma. Lispin en sonuna (c:komutadı) yaz. Lisp yüklendiğinde komut otomatik çalışır.

19.06.2013 15:24    

Travaci
Teşekkürler :wink

23.06.2013 18:18    

rddvl
selamlar
autolisp de nasıl ölçülendirme çizgisi oluşturabilirim ve ölçülendirme çizgisi parametrelerini belirten bir internet kaynağına yönlendirebilir misiniz
teşekkürler...

03.07.2013 07:06    

özkan-wien
merhabalar arkadaslar , entmake ile current layer degistirilebiliyor mu? evetse nasil? tesekkür ederim.

03.07.2013 07:39    

Harbi65
Alıntı
özkan-wien :
merhabalar arkadaslar , entmake ile current layer degistirilebiliyor mu? evetse nasil? tesekkür ederim.



Entmake ile yeni layer ya da nesne oluşturabilirsin. Değiştirmek için kullanılmaz.
Current Layer yapmak için;
Kod:

(setvar "CLAYER" "Layerismi")
şeklinde kullanman lazım.

03.07.2013 13:18    

özkan-wien
Alıntı
Harbi65 :
Alıntı
özkan-wien :
merhabalar arkadaslar , entmake ile current layer degistirilebiliyor mu? evetse nasil? tesekkür ederim.



Entmake ile yeni layer ya da nesne oluşturabilirsin. Değiştirmek için kullanılmaz.
Current Layer yapmak için;
Kod:

(setvar "CLAYER" "Layerismi")
şeklinde kullanman lazım.



tesekkür ederim , kolay gelsin

09.07.2013 08:13    

rayden81
MERHABA ARKADAŞLAR;

Çok daraldığım hatta 1 yıldır arayıpta çözemediğim bir konu var. Belki çok basit ve komikte olabilir ama pes etmek üzereyim.

AUTOLISPTE kendi projeleriimde işime yarayacak basit lispler yazıyorum ama BLOCK lara müdahale edemiyorum bir çok döküman aradım ama şu kavramlarda kafam karıştı..

BLOCK_RECORD , INSERT BLOKLAR , SEQUEND , VE ATTRIBUTTE İÇEREN BLOKLAR...330,340,360 nolu dxf kodları..

Kendim block oluşturuyorum basit bir block ve daha önceden elimde olan attributte içeren bir blok. Aşağıdaki saçma olabilecek bir lisp parçası oluşturup içeriğine bakmak istedim ama normal blockda altnesne bulamadım yani çizgiler yazılar olan bir bloğun hiç bir çizgisini ayrı seçtiremedim

attributte içeren bloğa gelince SECIM1 değişkeninde bir nesne seçtirdim ama seçim 2 ve diğlerlerinde aynı nesneyi seçiyor..attrıbutte blokalrında 330 nolu dxf kodlarını takip etmeye çalıştım ama ordada tıkandım kaldım.

Kod:

(DEFUN C:12()
(SETQ   SECIM(CAR(ENTSEL))
SECIM1(ENTNEXT SECIM)
SECIM2(ENTNEXT SECIM)
SECIM3(ENTNEXT SECIM)
SECIM4(ENTNEXT SECIM)
);SETQ
);DEFUN


yani amacım işin özü attributte de olsa normal block da olsa tek tek her nesnesine ulaşmak istiyorum ama yapamdım. bilgiye hazır konup sizi sömürmekde istemiyorum eğer düzgün bir kaynak var ise(türkçe olursa sevinirim) onuda okur çözmeye çalışırım.
Şimdiden teşekkür ediyorum...

09.07.2013 08:46    

Travaci
Bende bu konudan müzdaripim, detaylı şekilde anlatılırsa sevinirim.
Kod:

secim1 (entnext secim)
secim2 (entnext (entnext secim))
secim3 (entnext (entnext (entnext secim)))

Şeklinde yaparsanız tag sırasına göre seçim yaparsınız.

12.07.2013 07:44    

rayden81
Merhaba;

Kod:

(DEFUN C:12()
(SETQ SECIM(car(entsel)))
(SETQ SECIM1(ENTNEXT SECIM))
(SETQ SECIM2(ENTNEXT (ENTNEXT SECIM))
);DEFUN


bu kodu denediğimde
Kod:

Command: !SECIM
<Entity name: -16cdb8>
Command: !SECIM1
<Entity name: -16cdb0>
Command: !SECIM2
nil


bir çok nesnesi olan bir blokda secim2 nl oluyor nerede hata yaptım acaba...

12.07.2013 08:36    

Travaci
Bir parantez eksik.

12.07.2013 10:36    

rayden81
rezil olduk.:) teşekkürler hocam... yukarıda sorduğum sorunun cevabının bir bölümünü buldum merak edenler için linki vereyim dedim...


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

rayden81 (12.07.2013 14:41 GMT)

25.07.2013 14:14    

rayden81
Merhaba;

Rotate komutunun reference seçeneğini otomatik hale getirmek istiyorum.

Kod:

(DEFUN C:12()
(COMMAND "ROTATE" PAUSE "" PAUSE "R" PAUSE PAUSE PAUSE)
)


sonuç olarak bu kod aşağıda şekilde çalışıyor,

1. adım: rotate komutunu kullanıcı girecek.
2. adım: nesne ceçimi kullanıcı tarafından yapıalcak.(1. pause)
3. adım: enter girilecek (lisp tarfından) ("")
4. adım: base poınt kullanıcı tarafından girilecek. (2. pause)
5. adım: "r" komutu lisp tarafından girilerek reference etkin hale gelecek.
6. adım: tekrar base noktası tıklanacak (3. pause)
7. adım: doğrultuyu belirlemek için 2. nokta tıklanacak. (4. pause)
8. adım: son doğrultu için yeni nokta tıklanacak. (5. pause)


ama benim istediğim. 6. adımda tekrar nokta girmek yerine 4. adımdaki koordinatları kullanmak istiyorum.ama bunu bi türlü beceremedim. @ simgesini kullansamda bi işe yaramadı..
yardımcı olabilirseniz sevinirim.

25.07.2013 14:41    

ehya
rayden81




Kod:

(defun c:12 ()
(command "_.select" "auto" pause)
(command "_.rotate" "p" "" pause "R" (getvar "lastpoint"))(princ))

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