Chuyển đến nội dung
Diễn đàn CADViet
Tue_NV

Lisp tạo nhiều Visibility State trong Block Dynamic

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

Chào các bạn!

 

Như các bạn đã biết : Với Block Dynamic, AutoCAD chỉ có thể tạo 1 Visibility state duy nhất. Chúng ta có nhu cầu muốn tạo nhiều Visiblity state thì phải làm sao? Lisp sau sẽ giúp chúng ta tạo nhiều Visibility State.

Các bạn tải Lisp về và làm theo các bước sau :

  1. Trong cửa sổ Block editor -> Load visibility-add-eng.lsp và bắt đầu sử dụng
  2. Dùng hàm con (visibility_add) để tạo 1 visibility parameter mới
  3. Sử dụng hàm con (visibility-up) -> Pick vào 1 visibility parameter để đưa visibility parameter lên làm Visible "hiện hành" để có thể chỉnh sửa cái Visible hiện hành này
  4. Có thể thêm các Parameter , Action vào các Visibility State và sau khi thêm ta dùng hàm con (properties_add_all_visibility) thì các Parameter , Action này mới hoạt động
  5. Lưu lại Block Dynamic

Lisp đây : http://www.mediafire.com/download/ac39locn87vk1ri/visibility-add-eng.lsp

Thank to Nikolay Poleshchuk and Andrey Lazebny

Cũng chân thành cảm ơn bạn Detailing. Nhờ bạn mà Tue_NV được biết điều này ^_^

 

File minh họa và hình ảnh và  cho Block Dynamic có nhiều Visibility State 

File : http://www.cadviet.com/upfiles/3/4652_oneblockmultiplevispars.zip

Hình ảnh :

4652_superblock.png

  • Vote tăng 4

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

@Tue_NV ... mình thấy cái này hay nhưng đang phân vân về việc áp dụng cái này vào thực tế như nào.

 

Nó ứng dụng trong tổ hợp của nhiều cái Visible khác nhau, 

Ví dụ như hình vẽ dưới đây: đơn giản như cái Block ghi chú thép

Hình ảnh : Block có dấu tick chéo hay tick tròn (dấu tick cắt qua thép) và Block có mũi tên rải hay không có mũi tên rải (Ẩn /  hiện mũi tên rải)

4652_mvis.jpg

 

Nếu như làm 1 cái Visibility  State thì mình sẽ làm với các TH  như sau :

1- tick chéo + hiện mũi tên rải,

2- tick chéo + Ẩn mũi tên rải

3- tick Tròn + hiện mũi tên rải

4- tick Tròn + Ẩn mũi tên rải

 

Làm như vậy sẽ khó quản lý hơn so với việc ta tạo 2 cái Visibility  State

1 Visibility  State là ticks chéo hay tick tròn và 1 Visibility  State lầ Ẩn/ Hiện mũi tên rải

 

Hơn nữa, đây mới chỉ ví dụ cho TH đơn giản là có 4 trường hợp Visibility State như vậy. Nếu có nhiều TH thì việc tạo Multiple Visibility State trong Block Dynamic sẽ có hiệu quả và chuyên nghiệp hơn 

  • Vote tăng 1

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

Mình nghĩ là do tính thực tiễn của nó không nhiều, như ví dụ của Tue_NV thì mình sẽ chọn phương án đầu tiên vì tách ra càng nhiều Visibility thì lại càng mất công nhớ vị trí nào là tính năng nào :)

 

Và từ trươc đến giờ ít khi dùng cái tính năng này, cùng lắm trong 1 Visibility cũng chỉ có 3-4 phương án là cùng cho 1 block :)

 

Thanks fo share!

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

Về mặt thủ thuật, nó rất hay để tham khảo. Biết đâu sẽ có lúc cần dùng trong 1 vài trường hợp đặc biệt nào đó.

 

Nhưng về công năng sử dụng thì đúng như bạn conghoa nhận xét. Mình thấy việc tạo nhiều Visibility sẽ hơi rối mắt, không tiện sử dụng bằng 1 Visibility chung cho tất cả. Người tạo ra Block thì sử dụng bình thường, nhưng người khác sẽ gặp 1 chút lúng túng để làm quen và nhớ xem Visibility nào thiết lập cho cái gì. Chưa kể việc tạo ra block theo kiểu này tốn nhiều công sức hơn so với 1 Visibility duy nhất.

 

Tue_NV có thể cho mình biết, liệu cách làm này có thể tạo ra 1 Visibility bên trong 1 phương án của 1 Visibility khác không?

Ví dụ thế này: Mình có 1 block biển báo giao thông. Mình sử dụng 1 Visibility để chứa tất cả các biển báo. Tuy nhiên trong đó sẽ có 1 số biển được gắn kèm biển phụ với 2-3 lựa chọn khác nhau.

Khi đó, nếu mình chọn 1 biển chính nào đó có biển phụ đi kèm thì cái Visibility biển phụ đó mới hiện ra.

 

Nếu làm được như vậy thì ứng dụng của lisp trên mới thực sự tuyệt vờ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

@ThuyLinh313 cái bạn yêu cầu chính là cái mà Tue_NV đã post còn gì :), những cái nào không có biển phụ thì không làm Visibility, mỗi 1 Visibility đều có tính năng off mà nhỉ.

  • Vote tăng 1

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

Thanks Tue_NV nhiều

hihi, bây giờ mình mới để ý Visibility cũng có thể ẩn/hiện như đối tượng. Vậy là có thể rút ngắn cái danh sách Visibility rồ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

Thanks bạn. đúng cái mình đang cần. nhưng khi load lisp vào (ở trong Block Editor) thì gõ lệnh visibility_add hay bất cứ lệnh nào như bạn hướng dẫn thì  CAD báo Unckown command. Bạn check lại và giúp mình nhé. thanks

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

Thanks bạn. đúng cái mình đang cần. nhưng khi load lisp vào (ở trong Block Editor) thì gõ lệnh visibility_add hay bất cứ lệnh nào như bạn hướng dẫn thì  CAD báo Unckown command. Bạn check lại và giúp mình nhé. thanks

 

Bạn phải gõ đúng dòng này (visibility_add)

Có cặp ( và ) nữa nhé

  • Vote tăng 1

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


×