AutoCAD • AutoLISP • Programlama • Püfler • Komutlar • Terimler • Eğitim
aLd • TCad • FacadeCAD • Cephe Kot • HQ Library • FreeMUST • Pasdoc.A
08.12.2014 08:15    

neden09
Merhaba ArkadaÅŸlar;

Forumda arattım ama bulamadım, sizden bir ricam olacak.

Projede seçmiş olduğum objeler haricindeki tüm çizimlerin kapanmasını sağlayacak bir lispe ihtiyacım var.
Not: Autocad'de propertiesde bunu yapmak mümkün ancak iş yerinde bricscad kullanmak zorunda olduğum için bunu yapamıyorum.

Çok zamanımı alan bu iş ile ilgili yardımcı olabilirseniz sevinirim.

Teşekkürler...

08.12.2014 08:41    

alumina
Iyi günlerde kullanin..

Kod:

(defun c:is ()
(while (null (setq n (ssget))))
(vl-cmdf "._isolateobjects" n "")
(princ))


Kod:

(defun c:uis ()
(vl-cmdf "._unisolateobjects")
(princ))

08.12.2014 09:27    

neden09
Öncelikle çok teşekkür ederim.

Lisplerin yüklemesini yaptım. Obje seçimi yapıyor ancak layerleri kapatmıyor. Yardımcı olabilir misin?

08.12.2014 09:54    

alumina
Objelerin kapanmasini istiyorum dedin kapattım. Simdi de layerler diyorsun. Karar ver ama.

08.12.2014 10:12    

neden09
Yanlış aktardım sanırım...
seçmiş olduğum bloklu semboller ve layerlar haricindeki projede yer alan tüm çizimlerin kapanmasını istiyorum.

(seçili layerlar haricindeki tüm layerların kapanması da işimi görebilirim sanırım)

08.12.2014 11:18    

kerem1453
alumina bu lispte kapanma değilde sanki seçtigin hariç hepsini siliyo gibi bi durum var geri nasıl açılıyor kapanıyorsa ?

08.12.2014 11:25    

alumina
ikinci lispi kullan. ilk lisp objeleri isolate eder. ikinci lisp isole edilmiÅŸ objeleri acar.

09.12.2014 00:58    

alumina
Arkadaslar;
Programdaki kucuk bir ayrintiya dikkatinizi cekmek istiyorum. Bildiginiz gibi aktif layer freeze edilemez. O anki aktif layer freeze edilmeyecek layerlerden biri degilse once aktif layer freeze edilmeyecek layerlerin birine (alfabetik olarak ilk siradaki) aliniyor, sonra diger layerler freeze ediliyor.
Lisp yazmayi ögrenen arkadaslardan talep gelirse ayni kodun autolisp versiyonunu da yayinlarim.

Kod:

(defun c:alumina ()
(vl-load-com)
(while (null (setq n (ssget))))
(setq ls '() i 0)
(repeat (sslength n)
(if
(null (member (vla-get-layer (vlax-ename->vla-object (ssname n i))) ls))
(setq ls (cons (vla-get-layer (vlax-ename->vla-object (ssname n i))) ls) i (1+ i) ls (acad_strlsort ls))))
(setq lt (vla-get-layers (vla-get-activedocument (vlax-get-acad-object))))
(if
(null (member (vla-get-name (vla-get-activelayer (vla-get-activedocument (vlax-get-acad-object)))) ls))
(vla-put-activelayer (vla-get-activedocument (vlax-get-acad-object)) (vla-item lt (nth 0 ls))))
(vlax-for l lt
(if
(null (member (vla-get-name l) ls))
(vla-put-freeze l 1)))
(princ))

07.02.2020 12:00    

halilozcakir
Merhaba ,
benimde layerlar ile alakalı bir lisp talebim olacak eğer mümkünse ;
Belirlediğim objeden seçerek yada isim yazarak yada layer isminden seçerek , bu layerı tüm layoutlarda açık yada kapalı konumunu ayarlatmak. böyle bir lisp mümkün mü teşekkürler.

> 1 <
Copyright © 2004-2022 SQL: 1.216 saniye - Sorgu: 67 - Ortalama: 0.01815 saniye