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.

16.03.2013 00:49    

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.

Copyright © 2004-2022 SQL: 1.936 saniye - Sorgu: 100 - Ortalama: 0.01936 saniye