Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
almodeus

Cần Lisp ngược với lệnh Layiso

Các bài được khuyến nghị

almodeus    0

có bác nào biết lisp nguoc voi layiso ko...nghĩa là đảo ngược thuộc tính mờ và sáng của các đối tượng

ex: có 3 đối tượng thuộc 3 layer A, B, C

ta layiso layer A. giờ ta muốn đổi ngược lai là layer B và C bi layiso, va layer A ko bị

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ketxu    2.651

Nếu bạn để chế độ Layiso là Off thì đoạn code sau sẽ toggle trạng thái :

(defun c:lsw (/)
 (vlax-map-collection
   (vla-get-layers
     (vla-get-activedocument (vlax-get-acad-object))
    )
   '(lambda (x)
      	(if (= (vla-get-layeron x) :vlax-false) (vla-put-layeron x :vlax-true) (vla-put-layeron x :vlax-false))		
	)
  )
  )

Còn nếu bạn để chế độ Fade Out thì đọc mấy dòng tiếp theo này ^^

@lispser : Với chế độ Fade Out, Cad sẽ lock layer thay vì Off nó.Nhưng khi un-lock (un-fade) thì độ mờ của layer không thay đổi được ngay, mà phải regen đôi lần, điều này khá cấm kỵ, có ai có giải pháp gì không ạ ?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
almodeus    0

Nếu bạn để chế độ Layiso là Off thì đoạn code sau sẽ toggle trạng thái :

(defun c:lsw (/)
 (vlax-map-collection
   (vla-get-layers
     (vla-get-activedocument (vlax-get-acad-object))
    )
   '(lambda (x)
      	(if (= (vla-get-layeron x) :vlax-false) (vla-put-layeron x :vlax-true) (vla-put-layeron x :vlax-false))		
	)
  )
  )

Còn nếu bạn để chế độ Fade Out thì đọc mấy dòng tiếp theo này ^^

@lispser : Với chế độ Fade Out, Cad sẽ lock layer thay vì Off nó.Nhưng khi un-lock (un-fade) thì độ mờ của layer không thay đổi được ngay, mà phải regen đôi lần, điều này khá cấm kỵ, có ai có giải pháp gì không ạ ?

Không được bạn ketxu ah, sau khi sài lệnh thì toàn bộ bị ẩn đi hết luôn...hix...mình cần lisp đảo ngược thuộc tính của đối tượng layiso thôi...để khi cần layiso nhiều layer sẽ đỡ mệt

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
almodeus    0

http://www.cadviet.c.../AN_HIEN_DT.zip

( pass giải nén là www.cadviet.com)

 

Lệnh 1Q : Ẩn đối tượng chọn ((giống Layoff)

Lệnh 2Q : Hiện tất cả đối tượng

Lệnh 3Q : Chỉ hiện đối tượng được chọn (giống Layiso)

Lệnh 12Q : Chuyển đổi qua lại giữa đối tượng ẩn và hiện. (cần lisp tổng quát cho lệnh này)

Các lệnh giống như layon và layoff thôi. Mong rằng giúp ích được cho bác và cho các anh em.

cái lisp mình cần nó hơi giống với cái dạng lisp này ở cái lệnh số 4: 12Q...nhưng sẽ áp dụng đổi thuộc tính qua lai giữa các đối tượng cho các lệnh sau:

 

1, *LAYOFF

 

3, *LAYFRZ

 

5, *LAYLCK

 

7, *LAYISO

 

9, *LAYCUR

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
almodeus    0

À đúng rồi, bạn dùng lệnh này sau khi đã dùng layiso trước đó nhé.Toggle mà :)

Vẫn không được...sau khi layiso thì sài lệnh nó vẫn ẩn đi hết luôn...hix

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ketxu    2.651

Mình hỏi bạn để layiso ở chế độ nào ? Off hay Lock and Fade??

Sau khi layiso thì các layer được chọn ở chế độ On, các layer còn lại ở chế độ off.Tiếp sau đó nếu muốn đổi ngược lại thì dùng lệnh của mình, các layer Off sẽ thành On và ngược lại.Còn nếu bạn để chế độ Lock and Fade thì hãy đọc lại bài đầu của mình

Mình luôn test rất kỹ trước khi đưa code lên.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác
ketxu    2.651

Mình không biết nói j nữa :) Câu đầu tiên mình đã lưu ý r, n có lẽ bạn k để ý:)

Với code mình viết thì chỉ cần thêm vài dòng là toggle cả layer freeze,lock...Tuy nhiên việc toggle trạng thái của các đối tượng Lock and Fade không cập nhật ngay( các đối tượng đáng ra phải mờ vẫn sáng, và ngược lại), mà phải regen một số lần, nếu bản vẽ nặng thì thật khó chịu.Chắc mình không giúp được gì hơn rồi, đành chờ mọi người thôi :)

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

Đăng nhập để thực hiện theo  

×