20.02.2013 10:13
unforeseer
|
arkadaşlar çok acil olarak layerleri secebileceğim bir lisp lazım bunu quıkselectten yapıyorum ama bir projede binlerce layer var tek tek seçmek zor oluyor biaralar bir lisp vardı lisbi yazıyoduk nesneye tıkalanyınca onun isiminde olan bütün nesneler seçiliyordu bunun layer mantıgında olan lazım bana
|
20.02.2013 11:05
ProhibiT
|
Linkleri görebilmek için ÜYE olmalısınız. linkinde paylaşılan SeLLyr veya MSeLLyr fonksiyonlarını kullanabilirsiniz.
|
20.02.2013 12:58
unforeseer
|
cevabınız için teşekkürderim ama bu kodlar aşagıdaki uyarıyı veriyor
;|***************************************************************************|;
;| MSeLLyr: Multiple Select Layer. |;
;| Layer Name veya Objeler Seçilerek belirlenen Layer'lardaki Objeleri Seçer.|;
;|---------------------------------------------------------------------------|;
(defun C:MSeLLyr (/ LyR La sLyr)
(ssv) (while (setq La (entsel)) (setq La (cdr (assoc 8 (entget (car La)))))
(if LyR (setq LyR (strcat LyR "," La)) (setq LyR La))
(ssget "X" (list (cons 8 LyR)))) (command "_.Select" "p" "") (rsv))
;|***************************************************************************|;
;| SeLLyr: Select Layer. |;
;| Seçilen gurup içindeki veya tüm çizim içindeki Layer Name ile veya |;
;| Obje Seçilerek belirlenen Layer'daki Objeleri Seçer. Tüm çizim için ALL |;
;| girilmelidir. |;
;|---------------------------------------------------------------------------|;
(defun C:SeLLyr (/ L sLyr Ln)
(ssv) (setq L (strcase (getstring "\nEnter layer to select: ")))
(if (= L "") (setq L (cdr (assoc 8 (entget (car (entsel
"\rPick an object on desired layer: ")))))))
(setq sLyr (ssget (list (cons 8 L)))) (command "_.select" sLyr "") (rsv))
; error: no function definition: SSV
|
20.02.2013 13:17
Travaci
|
Kod:
;|***************************************************************************|;
;| Beneficial AutoLisp Functions. Author: M. Şahin Güvercin |;
;|___________________________________________________________________________|;
(defun ssv (/) (setvar "cmdecho" 0) (command "_.undo" "group"))
(defun rsv (/) (command "_.undo" "e") (setvar "cmdecho" 1) (prin1))
;|___________________________________________________________________________|;
Bu kısmıda ekleyın.
|
20.02.2013 13:53
unforeseer
|
sizin dediğiniz gibi lispin sonuna ekledim ama çizegiller seçilmlyor selecet layer diyor ama hiç birşekilde çizgi seçimi yapamıyorum
|
20.02.2013 14:01
Travaci
|
Kod:
(defun C:SeLLyr (/ L sLyr Ln)
(setq L (strcase (getstring "\nEnter layer to select: ")))
(if (= L "") (setq L (cdr (assoc 8 (entget (car (entsel
"\rPick an object on desired layer: ")))))))
(setq sLyr (ssget (list (cons 8 L)))) (command "_.select" sLyr ""))
|
20.02.2013 14:08
unforeseer
|
yardımlarınız için çok teşekkürederim ama malasef aynı sorun devam ediyor çizgiyi seçemiyorum select layer diyor ama çizgiyi seçtirmiyor
autocad map 2013 kullanıyorum bunun bir etkisi olabilir mi
|
20.02.2013 14:08
Travaci
|
Sizden layer ismi istiyor, enter la geçerseniz seçim ister.
|
20.02.2013 14:22
unforeseer
|
tam olarak olmadı sizi yoruyorum ama istediğim lisp tam olarak söyle bişey çizgiye tıkladıgımda ona ait olan bütün layeri seçmek bu lisptte bunu yapamıyorum malasef
|
20.02.2013 14:35
Travaci
|
Tam istediğiniz gibi zaten. Layerı seçtikten sonra seçim alanı ıstıyor sızden ya alan secıceksınız yada all yazıp enter layacaksınız.
|
20.02.2013 14:44
unforeseer
|
Command: sellyr
Pick an object on desired layer:
Select objects: Specify opposite corner: 3 found
Select objects: _.select
Select objects: 3 found
Select objects:
Command: nil
sizin dediğiniz gibi yaptım ama tıkladıgımda çziginin bir kısmı seciliyor ben o layerı ait butun çizglerin seçilmesini istiyorum ben beceremedim sanırsam
|
20.02.2013 15:10
Travaci
|
Kod:
(defun c:sEc (/)
(setq select
(ssget "x" (list (cons 8 (cdr (assoc 8 (entget (car (entsel)))))))))
(sssetfirst nil select) (princ)
)
|
20.02.2013 15:23
unforeseer
|
çok teşşekür ederim beni büyükbir dertten kurtardınız
|
20.02.2013 15:34
Travaci
|
Zaten en başından ProhibiT sizi kurtarmıştı önemli deil ; )
|
21.02.2013 11:43
k005
|
Merhaba arkadaşlar;
Aynı eksende bulunan noktaların; birbirlerine olan uzaklıklarını bir text dosyasına nasıl yazdırabilirim..?
örnek :
1.nokta 2.nokta 3.nokta 4.nokta 5.nokta 6.nokta vs...
text dosyasına : 1 ile 2 arası mesafeyi , 2 ile 3 arası mesafeyi, 3 ile 4 arası mesafeyi 4 ile 5 arası mesafeyi, 5 ile 6 arası mesafeyi..
virgül ile ayırarak nasıl yazdırabilirim..
yardımcı arkadaşa şimdiden teşekkürler..
|
14.03.2013 13:34
macros55
|
iyi gunler dostlar... line cizgileri 3dpolyline cevire bilen lisp lazim..yardimci olursaniz cok sevinirim onceden twkler.
|
14.03.2013 15:26
ProhibiT
|
Bahsettiğiniz "line çizgileri" yani line'lar;
Biribirileriyle uç uca mı ilişkilendirilmiş?
Yoksa intersection'ları mı var?
Daha da kötüsü, uçlar arasında açıklık varsa, onun çözümü bela bir iş. Aklı başında kimse uğraşmaz herhalde. :)
|
14.03.2013 18:50
macros55
|
kotlu noktlari line ile bağlamışım şimdi istiyorumki lineler 3dpolyline kim tek tuşla seçilsin..yani line uclari bir birini tutarak 3dpolyline olsun
|
14.03.2013 20:24
kerem1453
|
Linkleri görebilmek için ÜYE olmalısınız.
yukarda verdigim dwg de ki kutuları örnek cizimde ebatı verilen paftaya benim seçtigim objenin yerleşimini yapcak paftaya sıgmadıgı durumda ikinci sıraya dizecek şekilde bir lisp yazılması mümkünmüdür ? bu iş bi nevi kiriş paftalaması yapcak ben detayları group ile block haline getircem daha sonra şu kirişi paftaya at dedigimde sırasıyla seçtigim kirişleri paftaya yerleşitirecek.
|
kerem1453
|
autocadde çoklu move(multiple) yapabilcegimiz bir lisp yazma imkanı olan varsa yazarsa sevinirim mesala örnek olarak 15-20 tane objemiz var bunları move yapcaz multiple move dedigimizde her objeyi seçtigimizde o objeye ait base point yakalama noktasını göstercez,obje seçimi bitince o objeleri bırakacagımız noktaları gösterdikce sırasıyla seçtigimiz objeler gelcek.
|