Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
11 replies to this topic

#1 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 29 September 2014 - 04:27 PM

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...ity-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.c...iplevispars.zip

Hình ảnh :

4652_superblock.png


  • 4

#2 conghoa

conghoa

    biết lệnh attdef

  • Members
  • PipPipPipPipPipPip
  • 412 Bài viết
Điểm đánh giá: 88 (tàm tạm)

Đã gửi 29 September 2014 - 04:49 PM

@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.


  • 0

#3 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 29 September 2014 - 10:35 PM

@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 


  • 1

#4 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 02 October 2014 - 08:44 AM

Chủ đề này hay, nhưng ít thấy ai quan tâm cả  :mellow:


  • 0

#5 conghoa

conghoa

    biết lệnh attdef

  • Members
  • PipPipPipPipPipPip
  • 412 Bài viết
Điểm đánh giá: 88 (tàm tạm)

Đã gửi 02 October 2014 - 09:53 AM

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!


  • 0

#6 ThuyLinh313

ThuyLinh313

    biết lệnh mtext

  • Members
  • PipPipPipPip
  • 288 Bài viết
Điểm đánh giá: 142 (tàm tạm)

Đã gửi 02 October 2014 - 10:55 AM

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.


  • 0

#7 conghoa

conghoa

    biết lệnh attdef

  • Members
  • PipPipPipPipPipPip
  • 412 Bài viết
Điểm đánh giá: 88 (tàm tạm)

Đã gửi 02 October 2014 - 03:22 PM

@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ỉ.


  • 1

#8 ThuyLinh313

ThuyLinh313

    biết lệnh mtext

  • Members
  • PipPipPipPip
  • 288 Bài viết
Điểm đánh giá: 142 (tàm tạm)

Đã gửi 03 October 2014 - 09:21 AM

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. 


  • 0

#9 man.vtau

man.vtau

    biết pan

  • Members
  • Pip
  • 7 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 12 November 2014 - 11:23 AM

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


  • 0

#10 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3805 (đỉnh cao)

Đã gửi 12 November 2014 - 04:15 PM

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é


  • 1

#11 man.vtau

man.vtau

    biết pan

  • Members
  • Pip
  • 7 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 14 November 2014 - 02:58 PM

thanks bạn. nhưng cái này chỉ xài được trong CAD2010 trở lại.


  • 0

#12 quang_lac

quang_lac

    biết lệnh mirror

  • Members
  • PipPipPip
  • 151 Bài viết
Điểm đánh giá: 11 (tàm tạm)

Đã gửi 25 August 2016 - 12:42 PM

Có cách nào tạo visibli lồng ko nhỉ mọi người


  • 0