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

k005
Merhaba arkadaÅŸlar;

dwg çizimi içinde önceden oluşturulmuş bir layer a atama yapmak için LAYCUR komutunu kullanıyorum.

Fakat bu komutun bana göre şöyle bir eksi yanı var.;

* Laycur kullandığımda ; layer ın rengi değiştirilmişse ( yani BYLAYER değilse..) Evet Aktif layer a getiriyor ama renk sabit kalıyor... Renk BYLAYER ise zaten çalışıyor...

Seçilen Objeyi Her iki durum da da Aktif layer a getiren bir lisp var mıdır?

Teşekkürler.

09.05.2021 12:54    

ehya
Merhaba k005

Laycur komutu rengi bylayer değil ise o şekilde bırakıyor. Aslında doğru olan da bu. Ama senin istediğin daha farklı...

Bu isteğin ile ilgili bir lisp yazdım. Seçilen nesneler içinde rengi değiştirilmiş olan var ise, mevcut layer'ın rengi ile değiştirilir ve tüm nesnelerin layer'ı aktif layer olur.

Kod:

(defun c:LYC (/ sec aly renk tek data) (vl-load-com)
(if (setq sec (ssget ":L"))
  (progn
    (vla-startundomark (setq undo_fl (vla-get-activedocument (vlax-get-acad-object))))
    (setq aly (getvar 'clayer) c -1 say (sslength sec))
    (setq renk (cdr (assoc 62 (entget (tblobjname "LAYER" aly)))))
    (while (<  (setq c (1+ c)) say)
      (setq tek (ssname sec c)
    data (vlax-ename->vla-object tek))
      (vla-put-layer data aly)
      (vla-put-color data renk))
      (vla-EndUndoMark undo_fl)
      ))(princ))

09.05.2021 13:59    

k005
Merhaba ehya;

Çok teşekkür ediyorum, hocam., Tamamdır...

Aynen bu durumu kastetmiştim. Elinize-Yüreğinize sağlık.

> 1 <
Copyright © 2004-2022 SQL: 0.92 saniye - Sorgu: 54 - Ortalama: 0.01703 saniye