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.
|
ehya
|
rayden81
Kod:
(defun c:12 ()
(command "_.select" "auto" pause)
(command "_.rotate" "p" "" pause "R" (getvar "lastpoint"))(princ))
|