03.10.2013 09:52
özkan-wien
|
yazan kisinin affina siginarak ucs de de calisan hale getirmeye calistim.
(defun c:hz ( / obje2 obje n i hizanok10 yazinok10 hizanok11 yazinok11 ename elist yon)
(command "_.undo" "begin")
(princ "\nreferans nesneyi seçiniz :")
(setq obje2 (ssget '((0 . "INSERT,*text"))))
(setq refxy (cdr (assoc 10 (entget obje2 ))))
(setq hizanok10 (trans refxy 0 1 ));;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ekleme
(princ "\nHizalanacak Yazýlarý Seçiniz :")
(setq obje (ssget '((0 . "INSERT,*text"))))
(setq n (sslength obje))
(initget 1 "X Y")
(setq yon (getkword "Richtung [X / Y]:"))
(setq i 0)
(repeat n
(setq ename (ssname obje i))
(setq elist (entget ename))
(setq yazixy (cdr (assoc 10 elist)))
(setq yazinok10 (trans yazixy 0 1));;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ekleme
(if (= yon "X")
(progn
(setq hizanxy (list (car hizanok10) (cadr yazinok10) 0 )) ;;; x yönünde hizalama
)
(progn
(setq hizanxy (list (car yazinok10) (cadr hizanok10) 0 )) ;;; y yönünde hizalama
)
);_if
(setq hizanxy (trans hizanxy 1 0));;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ekleme
(setq elist (subst (cons 10 hizanxy) (assoc 10 elist) elist))
(entmod elist)
(setq i (+ i 1))
);repeat
(command "undo" "end")
(princ (strcat "\n" (itoa i) " nesne hizalandý."))
(princ)
);defun
özkan-wien (04.10.2013 15:00 GMT)
|
08.10.2013 07:45
pulp fiction
|
herkese merhaba;
üstadlar kullandığım metraj lispine formül eklediğimden dolayı yanlış bir şey yaptığımda bazen #-##-###-#### gibi karakterler çıkıyor. bunları find ile arattığımda bulamıyorum. kontrolü çok zor oluyor. bu karakterleri kısa yoldan bulabileceğim bir lisp olabilir mi? ekte örnek gönderdim. yardımcı olursanız işimiz çok çok ama çok kolaylaştırmış olacaksınız. teşekkürler...
115597-new block.dwg
|
15.10.2013 08:52
özkan-wien
|
Arkadaslar bayraminiz mübarek olsun öncelikle.
asagida görüldügü üzere bir liste hazirladim ve listenin elemanlarini secim setinde kullanmak istiyorum ancak hata veriyor. yardimlariniz icin tesekkürle.
(defun c:test (/ eleman)
(setq r2a_LayerList '(
(BETON 8 layer1)
(BETON 25 layer2) ))
(setq eleman (nth 0 r2a_Layerlist))
(setq eleman1 (nth 0 eleman))
(setq eleman2 (nth 1 eleman))
(setq eleman2 (nth 2 eleman))
(setq sec (ssget "x" '((2 . eleman1)) ))
)
özkan-wien (15.10.2013 09:11 GMT)
|
15.10.2013 23:06
Travaci
|
Alıntı özkan-wien :
İyi bayramlar.
Listedeki elemanlar string deil, seçim setine yazabilmek için string olmalı.
Birde cons 2 diyip bırakmışsın ! Bunun bi türü olmucak mı ? Shape, tag, block ?
Kod:
(defun c:test (/)
(sssetfirst nil (ssget "x" (list (cons 0 "insert")
(cons 2 (nth 0 (nth 0 '(("BETON" "8" "layer1")("BETON" "25" "layer2"))))))))
(princ)
)
|
16.10.2013 11:54
özkan-wien
|
Alıntı Travaci :
Alıntı özkan-wien :
İyi bayramlar.
Listedeki elemanlar string deil, seçim setine yazabilmek için string olmalı.
Birde cons 2 diyip bırakmışsın ! Bunun bi türü olmucak mı ? Shape, tag, block ?
Kod:
(defun c:test (/)
(sssetfirst nil (ssget "x" (list (cons 0 "insert")
(cons 2 (nth 0 (nth 0 '(("BETON" "8" "layer1")("BETON" "25" "layer2"))))))))
(princ)
)
sagol travaci sorun stringdenmis. cözdüm ama cok Garip bi sey.
böyle cagirinca taniyor
(setq sec (sslength (ssget "_X" (list(cons 2 eleman1)))))
bäyle cagirinca almiyor
(setq sec (sslength (ssget "_X" '((cons 2 eleman1)))))
|
16.10.2013 21:27
Travaci
|
Kod:
(sssetfirst nil (ssget "x" '((0 . "insert") (2 . "beton"))))
yada
Kod:
(sssetfirst nil (ssget "x" (list (cons 0 "insert") (cons 2 "beton"))))
Bu şekilde kullanılıyorlar. Senin söyldiğin ortaya karışık oldu : ) Sebebinide biliyor değilim.
Travaci (17.10.2013 22:01 GMT)
|
23.10.2013 07:58
özkan-wien
|
arkadaslar bana bi kod lazim. dwg icindeki acik ve kilitli olmayan layerlarin listesi.
nasil yazilir bu kod, 70 in flag 4 ü denedim ama olmadi. simdiden tesekkürler.
|
23.10.2013 08:44
Travaci
|
Alıntı özkan-wien :
Kod:
(defun c:slf (/)
(setq elist (tblnext "layer" t))
(textpage) (terpri)
(while (/= elist nil)
(if (/= (cdr (assoc 70 elist)) 4)
(princ (cdr (assoc 2 elist))))
(terpri)
(setq elist (tblnext "layer"))
)
(princ)
)
Travaci (23.10.2013 09:04 GMT)
|
23.10.2013 08:49
pulp fiction
|
Alıntı pulp fiction :
herkese merhaba;
üstadlar kullandığım metraj lispine formül eklediğimden dolayı yanlış bir şey yaptığımda bazen #-##-###-#### gibi karakterler çıkıyor. bunları find ile arattığımda bulamıyorum. kontrolü çok zor oluyor. bu karakterleri kısa yoldan bulabileceğim bir lisp olabilir mi? ekte örnek gönderdim. yardımcı olursanız işimiz çok çok ama çok kolaylaştırmış olacaksınız. teşekkürler...
115597-new block.dwg
arkadaşlar merhaba;
bu konuda yardımcı olabilecek kimse yok mu?
|
23.10.2013 08:59
özkan-wien
|
travaci, cok tesekkür ederim.
|
23.10.2013 11:13
boratensa
|
Merhaba.
Benim çok basit bir isteğim olacak.
bir polyline ı ya da polyline grubunu seçtiğimde bu polylineları aralıkları ve boylarını kendim belirleyebileceğim kesiklik çizgilere çeviren ya da ayrı bir layerda polylinelar üzerine kesikli çizgiler atabileceğim bir lisp ricasında bulunabilir miyim?
Örnek olarak: 10birim uzunluğunda bir polyline ın üzerine 1 er birim uzunluğunda ve belirli aralıklarda line lar atıp bu line nesnelerinin seçtiğim layerın altında olmasını sağlamak istiyorum.
Yardım edebilecek arkadaşlarımıza şimdiden teşekkür ediyorum.
|
23.10.2013 14:35
özkan-wien
|
arkadaslar yazdigim bir listenin icine döngü yazarken (nth 0 liste) yani "sifir " yazarsam cagiriyor ama
sifir yerine Counter koydugumda hata veriyor.
arada bi cevirme islemi mi yapmam lazim. tesekkürler
(setq no 0)
(nth no liste)
(setq no (+ no 1))
|
23.10.2013 15:11
ehya
|
özkan-wien
işlem doğru. döngüye sokuyormusunuz bu işlemi?
while yada repeat döngüsüne...
normal bir işlemde ikinci nth değerini alamazsınız.
|
23.10.2013 15:21
Travaci
|
özkan-wien
Misal;
Kod:
(defun c:or (/)
(setq lst (list "cilek" "karpuz" "muz") n 0)
(textpage) (terpri)
(while (< n (length lst))
(princ (nth n lst))
(terpri)
(setq n (1+ n)))
(princ)
)
|
24.10.2013 06:59
waytooraider
|
Değerli Üstatlarım,
Delta Y'si ve Delta Z'si sıfır olan lineları seçebilecek bir lisp mümkünmüdür acaba?
Saygılarımla.
|
24.10.2013 11:24
özkan-wien
|
Alıntı ehya :
özkan-wien
işlem doğru. döngüye sokuyormusunuz bu işlemi?
while yada repeat döngüsüne...
normal bir işlemde ikinci nth değerini alamazsınız.
lispin hepsini yazmadim döngüye giriyor ancak hatanin nerde oldugunu bulamadim. demekki bu döngüde degil
|
29.10.2013 10:55
özkan-wien
|
arkadaslar 10 cm kalinligindaki bir duvari (polyline) tek bir cizgiyle ikiye bölmek mümkün mü? yani islem sonunda iki tane polyline duvar kalacak.
|
31.10.2013 05:25
zkursatt
|
Arkadaşlar merhaba bana seçilmiş olan bir polileyne (kapalı alan) içerisinde kalmış tüm objeleri silen bir lisp lazım
|
31.10.2013 07:25
Travaci
|
zkursatt
Tam istediğin gibi olmasada Erase <┘ Wp <┘ komutunu kullanabilirsin.
|
zkursatt
|
Travaci
İstedigim bu değil alanın içinde kalaların silinmesini istiyorum bu komut dıstakileride silmekte aynı anda trim de yapa bilme özelliği olmalı..
|