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

[Đã xong] Lisp hide & show object

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

thk143    0
cho mình hỏi sao mình dùng invis thì đc mà dùng vis thì autocad ko hiểu, bạn xem lại giùm mình chỗ này với nha, cám ơn bạn nhiều !

Tiện cho mình hỏi làm sao hiện lại đc đối tượng vừa ẩn bằng invis.

Em dùng lệnh VIS cũng ko được :-?

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

Lisp hide show này có từ khá lâu rồi,và mình cũng vẫn dùng CAD07 từ đầu đến giờ ổn mà.Có thể là nhầm trong thao tác.Khi dùng lệnh VIS, các bạnnhớ ok 2 lần nhé (1 lần thực hiện lệnh và 1 lần trả ời câu hỏi "All hidden entities will be visible. Continue? No, :" nhé ^^

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
phamthanhbinh    3.123
vẫn ko được bác ketxu à. nó hiện lên thông báo như thế này đây :

Unknown command "VIS". Press F1 for help.

ko biết e có uống nhầm thuốc hay ko nữa

Hề hề hề,

Không phải bạn uống nhầm thuốc mà là bạn download về nhầm lisp. Cái lisp này nếu mình không nhớ nhầm thì bị lỗi và đã được sửa lại ở đâu đó trên diễn đàn từ khá lâu rồi. Song do chủ thớt bận chưa cập nhật lại chỗ hỏng nên các bạn tới sau cứ thế mà down về nên dính chấu thôi.

Cái này là mình mới đọc lại cái lisp lỗi và sửa lại để các bạn xài thử coi. Nếu thấy được thì cứ thế xài, khỏi phải làm phiền bác chủ thớt nữa hỉ. Còn không được thì chờ bác chủ thớt xuống dao vậy.

;======================Bemove====================================
; Hide & Show

(defun c:InVis (/ SSet Count Elem)

(defun Dxf (Id Obj)
(cdr (assoc Id (entget Obj)))
);end Dxf

(prompt "\nSelect object(s) to hide: ")
(cond
      ( (setq SSet (ssget)) 
        (repeat (setq Count (sslength SSet))
                    (setq Count (1- COunt)
                             Elem (ssname SSet Count)
                    )
                    (if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem)))))
                         (if (Dxf 60 Elem)
                             (entmod (subst '(60 . 1) (assoc 60 (entget Elem)) (entget Elem)))
                             (entmod (append (entget Elem) (list '(60 . 1))))
                          )
                          (prompt "\nEntity on a locked layer. Cannot hide this entity. ")
                      );;;end if
          );;;end repeat
       )
);end cond
(princ)
);end c:InVis



(defun c:Vis (/ WhatNextSSet Count Elem)

(defun Dxf (Id Obj)
(cdr (assoc Id (entget Obj)))
);end Dxf

(cond
     ( (setq SSet (ssget "_X" '((60 . 1))))
        (initget "Yes No")
        (setq WhatNext (getkword "\nAll hidden entities will be visible. Continue? No, : ")) 
        ;;;;;;;(T "Yes")
      ) 
)


(cond
    ( (= WhatNext "Yes")
      (prompt "\nPlease wait...")
      (repeat (setq Count (sslength SSet))
                 (setq Count (1- COunt)
                         Elem (ssname SSet Count)
                 )
                 (if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem)))))
                     (entmod (subst '(60 . 0) '(60 . 1) (entget Elem)))
                     (prompt "\nEntity on a locked layer. Cannot make visible this entity. ")
                 );end if
       );end repeat
       (prompt "\nDone...")
    )
);end cond
)
;;;;;;;(T (prompt "\nNo objects was hidden. "))

 

Nhớ copy cái này thành tên khác chứ đừng copy đè lên cái cũ. Sau đó các bạn hãy tự đọc lại và so sánh với cái lisp cũ để thấy cái chỗ mình sửa và hiểu được vì sao nó trật.

Hy vọng các bạn hài lòng.

 

PS: lưu ý các bạn là khi lisp hỏi: All hidden entities will be visible. Continue? No, :

Các bạn phải trả lời là Yes chứ không được lười nhấn mà nhập yes hay y hay Y chăng nữa. Vì như vậy lisp sẽ chẳng cho kết quả đúng đâu. Hề hề hề,

Cái này là tôn trọng bác chủ thớt đã có công làm ra nó, mình chỉ chỉnh chỗ chưa đạt chứ không thay đổi ý đồ của bác ấy. Mong các bạn hiểu giùm.

  • Vote tăng 3

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
thanhduan2407    227
Hề hề hề,

Không phải bạn uống nhầm thuốc mà là bạn download về nhầm lisp. Cái lisp này nếu mình không nhớ nhầm thì bị lỗi và đã được sửa lại ở đâu đó trên diễn đàn từ khá lâu rồi. Song do chủ thớt bận chưa cập nhật lại chỗ hỏng nên các bạn tới sau cứ thế mà down về nên dính chấu thôi.

Cái này là mình mới đọc lại cái lisp lỗi và sửa lại để các bạn xài thử coi. Nếu thấy được thì cứ thế xài, khỏi phải làm phiền bác chủ thớt nữa hỉ. Còn không được thì chờ bác chủ thớt xuống dao vậy.

;======================Bemove====================================
; Hide & Show

(defun c:InVis (/ SSet Count Elem)

(defun Dxf (Id Obj)
(cdr (assoc Id (entget Obj)))
);end Dxf

(prompt "\nSelect object(s) to hide: ")
(cond
      ( (setq SSet (ssget)) 
        (repeat (setq Count (sslength SSet))
                    (setq Count (1- COunt)
                             Elem (ssname SSet Count)
                    )
                    (if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem)))))
                         (if (Dxf 60 Elem)
                             (entmod (subst '(60 . 1) (assoc 60 (entget Elem)) (entget Elem)))
                             (entmod (append (entget Elem) (list '(60 . 1))))
                          )
                          (prompt "\nEntity on a locked layer. Cannot hide this entity. ")
                      );;;end if
          );;;end repeat
       )
);end cond
(princ)
);end c:InVis
(defun c:Vis (/ WhatNextSSet Count Elem)

(defun Dxf (Id Obj)
(cdr (assoc Id (entget Obj)))
);end Dxf

(cond
     ( (setq SSet (ssget "_X" '((60 . 1))))
        (initget "Yes No")
        (setq WhatNext (getkword "\nAll hidden entities will be visible. Continue? No, : ")) 
        ;;;;;;;(T "Yes")
      ) 
)
(cond
    ( (= WhatNext "Yes")
      (prompt "\nPlease wait...")
      (repeat (setq Count (sslength SSet))
                 (setq Count (1- COunt)
                         Elem (ssname SSet Count)
                 )
                 (if (/= 4 (logand 4 (Dxf 70 (tblobjname "layer" (Dxf 8 Elem)))))
                     (entmod (subst '(60 . 0) '(60 . 1) (entget Elem)))
                     (prompt "\nEntity on a locked layer. Cannot make visible this entity. ")
                 );end if
       );end repeat
       (prompt "\nDone...")
    )
);end cond
)
;;;;;;;(T (prompt "\nNo objects was hidden. "))

 

Nhớ copy cái này thành tên khác chứ đừng copy đè lên cái cũ. Sau đó các bạn hãy tự đọc lại và so sánh với cái lisp cũ để thấy cái chỗ mình sửa và hiểu được vì sao nó trật.

Hy vọng các bạn hài lòng.

 

PS: lưu ý các bạn là khi lisp hỏi: All hidden entities will be visible. Continue? No, :

Các bạn phải trả lời là Yes chứ không được lười nhấn mà nhập yes hay y hay Y chăng nữa. Vì như vậy lisp sẽ chẳng cho kết quả đúng đâu. Hề hề hề,

Cái này là tôn trọng bác chủ thớt đã có công làm ra nó, mình chỉ chỉnh chỗ chưa đạt chứ không thay đổi ý đồ của bác ấy. Mong các bạn hiểu giùm.

Bác thanhbinh à. Nhìn con số bài mà bác tham gia thật đáng kính. Em nhìn phần bác viết mà thèm quá, chỉ mong sau này được như bác, thích lập trình theo ý mình muốn. Hic. Chắcc bác phải dày công nghiên cứu lắm mới được như ngày hôm nay bác nhở. Tại em không có thời gian nhiều nên chỉ tranh thủ xem lúc rảnh rỗi để học Lisp. Ngày trước em học pascal, sau đó là VB và sau đó nữa là nghiên cứu vài cái ngôn ngữ khác.... đến khi bắt đầu tập tành cái Lisp em thấy mê nó quá. Nó chui sâu vào Cad và điều khiển theo ý mình. Hic. Em sẵn có dòng máu thích lập trình bác ạ, không giỏi nhưng em có niềm đam mê. Rất mong bác và các anh chị trong diễn đàn giúp đỡ. Em mạn phép được xin nickname của bác để mắc lỗi chỗ nào trong quá trình nghiên cứu Lisp em muốn hỏi bác. Nickname của em là: thanhduan2407. Đợi tin của bác

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
phamthanhbinh    3.123
Bác thanhbinh à. Nhìn con số bài mà bác tham gia thật đáng kính. Em nhìn phần bác viết mà thèm quá, chỉ mong sau này được như bác, thích lập trình theo ý mình muốn. Hic. Chắcc bác phải dày công nghiên cứu lắm mới được như ngày hôm nay bác nhở. Tại em không có thời gian nhiều nên chỉ tranh thủ xem lúc rảnh rỗi để học Lisp. Ngày trước em học pascal, sau đó là VB và sau đó nữa là nghiên cứu vài cái ngôn ngữ khác.... đến khi bắt đầu tập tành cái Lisp em thấy mê nó quá. Nó chui sâu vào Cad và điều khiển theo ý mình. Hic. Em sẵn có dòng máu thích lập trình bác ạ, không giỏi nhưng em có niềm đam mê. Rất mong bác và các anh chị trong diễn đàn giúp đỡ. Em mạn phép được xin nickname của bác để mắc lỗi chỗ nào trong quá trình nghiên cứu Lisp em muốn hỏi bác. Nickname của em là: thanhduan2407. Đợi tin của bác

Hề hề hề,

Chào bác thanhduan2407,

Bác lại cho mình đi tàu bay giấy rồi. Dạo này sức yếu, sợ ra gió lắm bác ạ. Chỉ sợ ốm một cái là khổ cho mấy em hàng xóm lắm lắm....

Cái vụ bài viết nhiều ấy có nhằm nhò chi đâu, quá nửa là các bài xin lỗi và xin mót ấy mà.....

Việc học lisp thì quả thật là mình cũng mới đi mót được chút chút trên diễn đàn ấy mà chứ có được học hành chi cho ra bài bản đâu. Được cái thời gian rảnh cũng hơi nhiều nên tranh thủ nhặt nhạnh gom tóp của các bác khác ít lưng vốn làm quà ấy mà. Bác vậy là có căn bản hơn mình nhiều rồi, mình co được học hành chi nhiều đâu, cái thời của mình làm chi có máy tính mà học. Học đại học lúc ấy may mắn thì được học chút chút về ngôn ngữ Algol với fortran là oai như cóc. Mình cũng chỉ được làm quen với lisp trong thời gian vài năm gần đây thôi.

Bạn sẵn có máu lập trình lại học cả VB, pâscal ..... nữa thì học lisp sẽ cực nhanh. Cứ chịu khó vào diễn đàn trao đổi với mọi người thì chỉ dăm bữa nửa tháng là bạn coi nó như rác ngay ấy mà. Cái lisp này cũng không quá phức tạp như mấy thằng bạn đã học đâu. Chỉ cần bạn hiểu cái nguyên tăc chung rồi cứ thế mà tiến tới là Ok ngay.

Chúc bạn chóng thành cô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
thanhduan2407    227
Hề hề hề,

Chào bác thanhduan2407,

Bác lại cho mình đi tàu bay giấy rồi. Dạo này sức yếu, sợ ra gió lắm bác ạ. Chỉ sợ ốm một cái là khổ cho mấy em hàng xóm lắm lắm....

Cái vụ bài viết nhiều ấy có nhằm nhò chi đâu, quá nửa là các bài xin lỗi và xin mót ấy mà.....

Việc học lisp thì quả thật là mình cũng mới đi mót được chút chút trên diễn đàn ấy mà chứ có được học hành chi cho ra bài bản đâu. Được cái thời gian rảnh cũng hơi nhiều nên tranh thủ nhặt nhạnh gom tóp của các bác khác ít lưng vốn là m quà ấy mà. Bác vậy là có căn bản hơn mình nhiều rồi, mình co được học hành chi nhiều đâu, cái thời của mình làm chi có máy tính mà học. Học đại học lúc ấy may mắn thì được học chút chút về ngôn ngữ Algol với fortran là oai như cóc. Mình cũng chỉ được làm quen với lisp trong thời gian vài năm gần đây thôi.

Bạn sẵn có máu lập trình lại học cả VB, pâscal ..... nữa thì học lisp sẽ cực nhanh. Cứ chịu khó vào diễn đàn trao đổi với mọi người thì chỉ dăm bữa nửa tháng là bạn coi nó như rác ngay ấy mà. Cái lisp này cũng không quá phức tạp như mấy thằng bạn đã học đâu. Chỉ cần bạn hiểu cái nguyên tăc chung rồi cứ thế mà tiến tới là Ok ngay.

Chúc bạn chóng thành công.

Hì. Cảm ơn bác nhiều. Bác reply lại nhanh thật đấy. Em ngồi vi tính lúc nào là việc đầu tiên là vào diễn đàn từ ngày tham gia. Vì chút vốn còn ít nên thường vào học hỏi các bác. Nhiều người ai cũng hỏi làm thế nào để học giỏi Cad, em đều chỉ vào vi tính và vào " Vào cái này mà học nè". Hì. Em sẽ cố gắng tham gia và mong rằng sau này sẽ có những đóng góp nhiều hơn thế nữa. Tại công việc em nó thỉnh thoảng phải đi xa và miên man nên chỉ rảnh mới mang sách ra đọc và thực hành. Em có quyển sách lập trình autolisp tương đối hay, rất chi tiết và kỹ càng. Sách này em mượn của thầy Nguyễn Thế Thận bên trường xây dựng nhưng chưa trả vì bận. Hì. Ai muốn mượn để photo thì em cho mượn. Hì. Tính em là không che dấu điều gì, biết thì nói. Hì hì. Sau này có gì không hiểu mấy mong bác góp ý kiến và giúp đỡ. hì hì hì. Gần giống điệu hề hề hề của bác roài đó.

À. Cho em gửi lời hỏi thăm mấy em gái hàng xóm nhà bác nhé.

Em chưa lấy vợ đâu bác à. hì hì hì

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

Giới thiệu với mọi người thêm 1 lựa chọn ẩn hiện đối tượng, nguyên tác David Bethel :

;+++++++++++++ Hide Selected Entites +++++++++++++++++++++++++++++
(defun c:an (/ ss en ed)
 (and (not (tblsearch "APPID" "HIDE"))
      (regapp "HIDE"))
 (if (not (tblsearch "LAYER" "HIDE"))
     (command "_.LAYER" "_New" "HIDE" "_F" "HIDE" ""))
 (if (/= (getvar "CLAYER") "HIDE")
     (command "_.LAYER" "_Freeze" "HIDE" "")
     (command "_.LAYER" "_UnLock" "0" "_ON" "0" "_Thaw" "0" "_Set" "0"
                        "_Freeze" "HIDE" ""))
 (princ "\nCh\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng mu\U+1ED1n \U+1EA9n :")
 (and (setq ss (ssget (list (cons 8 "~HIDE"))))
      (while (setq en (ssname ss 0))
             (setq ed (entget en))
             (add_xdata_str en "HIDE" (cdr (assoc 8 ed)))
             (ssdel en ss)
             (command "_.CHPROP" en "" "_LAyer" "HIDE" "")))
 (prin1))

;+++++++++++++ Restore ALL HIDE Layer Entities To Original Layer +++++
(defun c:hn (/ ss en xl0 xl1 xl2 xl3)
 (and (setq ss (ssget "X" (list (cons 8 "HIDE"))))
      (while (setq en (ssname ss 0))
             (setq xl0 (entget en '("HIDE"))
                   xl1 (cdr (assoc -3 xl0))
                   xl2 (cdr (assoc "HIDE" xl1))
                   xl3 (cdr (assoc 1000 xl2)))
             (command "_.CHPROP" en "" "_LA" xl3 "")
             (ssdel en ss)))
 (prin1))

;+++++++++++++ Restore Partial HIDE Layer Entities To Original Layer +++++
(defun c:hn1 (/ ss en xl0 xl1 xl2 xl3)
 (if (not (tblsearch "LAYER" "HIDE"))
     (alert "Kh\U+00F4ng c\U+00F3 \U+0111\U+1ED1i t\U+01B0\U+1EE3ng trong layer Hide!")
     (progn
       (command "_.LAYER" "_T" "HIDE" "")
       (princ "\nCh\U+1ECDn \U+0111\U+1ED1i t\U+01B0\U+1EE3ng mu\U+1ED1n hi\U+1EC7n l\U+1EA1i")
       (and (setq ss (ssget (list (cons 8 "HIDE"))))
            (while (setq en (ssname ss 0))
                   (setq xl0 (entget en '("HIDE"))
                         xl1 (cdr (assoc -3 xl0))
                         xl2 (cdr (assoc "HIDE" xl1))
                         xl3 (cdr (assoc 1000 xl2)))
                   (command "_.CHPROP" en "" "_LA" xl3 "")
                   (ssdel en ss)))
       (command "_.LAYER" "_F" "HIDE" "")))
 (prin1))

;++++++++++++ Add XDATA String To An Entity ++++++++++++++++++++++
(defun add_xdata_str (e a v);;;EName APPID String_value
 (and (= (type a) 'STR)
      (not (tblsearch "APPID" a))
      (regapp a))
 (and (= (type e) 'ENAME)
      (= (type v) 'STR)
      (entmod
        (append (entget e)
          (list
           (cons -3
            (list
             (cons a
              (list (cons 1000 v))))))))))

 

- Lệnh :

+ An : Ẩn tất cả các đối tượng chọn

+ Hn : Hiện tất cả các đối tượng đã bị ẩn trước đó bằng lệnh An

+ Hn1 : Lựa chọn hiện lại 1 phần các đối tượng đã bị ẩn trước đó bằng lệnh An

 

- Lưu ý : lisp dùng layer HIDE làm layer trung gian, hi vọng không bị trùng ^^

Cơ chế khác với lisp Hide/show đầu topic.

 

P/S : Nhớ ngày đầu tham gia CV, dấm dúi nhắn tin cho bác Tue_NV để hỏi về bài này, rồi...bị mắng.. Giờ vẫn ấm ức :rolleyes:

  • Vote tăng 2

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
tinya1225    34

Mọi người tự hỏi tại sao không có lệnh ẩn từng đối tượng mà không phải ẩn cả layer hay freeze cả layer. lisp đây

Invis: ẩn object

vis: hiện object

<a href="http://www.cadviet.com/upfiles/hideshow.lsp" target="_blank">http://www.cadviet.com/upfiles/hideshow.lsp</a>

cái này có sẵn trong cad 2012 giờ mới biết có lisp. cám ơn bác nhiều nhiều nhé. quá ngon luôn

:D

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
httrungcad    0

mình hiểu tiện ích của lisp này rất là hay.Nhưng mình còn gà lắm nên không hiểu đc líp này cũng như 1 số lisp khác phải đánh tên lệnh cho lisp thực thi như thế nào.chẳng hạn lisp fakedim thì mình đánh lệnh đc,còn hideshow thì mình làm ko dc.Mong a em giải thích cách nhận biết lệnh của 1 lisp bất kì nào đó với.Xin thầnh thật cảm ơn mọi ngwời!

  • Vote giảm 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
Doan Van Ha    2.680

mình hiểu tiện ích của lisp này rất là hay.Nhưng mình còn gà lắm nên không hiểu đc líp này cũng như 1 số lisp khác phải đánh tên lệnh cho lisp thực thi như thế nào.chẳng hạn lisp fakedim thì mình đánh lệnh đc,còn hideshow thì mình làm ko dc.Mong a em giải thích cách nhận biết lệnh của 1 lisp bất kì nào đó với.Xin thầnh thật cảm ơn mọi ngwời!

Bạn cứ tìm trong file LSP: các ký tự nào đứng sau chữ "C:" chính là lệnh.

VD:

(defun C:AB()

...

Thì AB là lệnh.

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

mình hiểu tiện ích của lisp này rất là hay.Nhưng mình còn gà lắm nên không hiểu đc líp này cũng như 1 số lisp khác phải đánh tên lệnh cho lisp thực thi như thế nào.chẳng hạn lisp fakedim thì mình đánh lệnh đc,còn hideshow thì mình làm ko dc.Mong a em giải thích cách nhận biết lệnh của 1 lisp bất kì nào đó với.Xin thầnh thật cảm ơn mọi ngwời!

Cách đầu tiên cần phải biết là đọc dòng giới thiệu của người post. Sau đó là cách của bạn DVH. Chúc bạn thành công ^^

 

 

Mọi người tự hỏi tại sao không có lệnh ẩn từng đối tượng mà không phải ẩn cả layer hay freeze cả layer. lisp đây

Invis: ẩn object

vis: hiện object

<a href="http://www.cadviet.com/upfiles/hideshow.lsp" target="_blank">http://www.cadviet.com/upfiles/hideshow.lsp</a>

 

 

Giới thiệu với mọi người thêm 1 lựa chọn ẩn hiện đối tượng, nguyên tác David Bethel :

 

 

- Lệnh :

+ An : Ẩn tất cả các đối tượng chọn

+ Hn : Hiện tất cả các đối tượng đã bị ẩn trước đó bằng lệnh An

+ Hn1 : Lựa chọn hiện lại 1 phần các đối tượng đã bị ẩn trước đó bằng lệnh An

 

- Lưu ý : lisp dùng layer HIDE làm layer trung gian, hi vọng không bị trùng ^^

Cơ chế khác với lisp Hide/show đầu topic.

 

P/S : Nhớ ngày đầu tham gia CV, dấm dúi nhắn tin cho bác Tue_NV để hỏi về bài này, rồi...bị mắng.. Giờ vẫn ấm ức :rolleyes:

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
tvkill    1

thanks cả nhà nhưng chỉ show một đối tượng theo thứ tự đã chọn như 1 2 ...

ý tưởng có lẽ bất khả thi nhỉ?

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
Doan Van Ha    2.680

Nếu như thế này thì CadViet có rồi.

;---------- AN DOI TUONG DUOC CHON, HIEN PHAN CON LAI
(defun C:AN (/ sset count elem)
(defun DXF (id obj)
 (cdr (assoc id (entget obj))))
(prompt "\nChon cac doi tuong de an: ")
(cond
 ((setq sset (ssget))
  (repeat (setq count (sslength sset))
(setq count (1- count) elem (ssname sset count))
(if (/= 4 (logand 4 (DXF 70 (tblobjname "layer" (DXF 8 elem)))))
	(if (DXF 60 elem)
 	(entmod (subst '(60 . 1) (assoc 60 (entget elem)) (entget elem)))
 	(entmod (append (entget elem) (list '(60 . 1)))))
	(prompt "\nDoi tuong nay thuoc lop bi khoa. Khong the an no.")))))
(princ))

  • 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
Tue_NV    3.841

thanks cả nhà nhưng chỉ show một đối tượng theo thứ tự đã chọn như 1 2 ...

ý tưởng có lẽ bất khả thi nhỉ?

Lệnh Hide show đối tượng có trong CAD2012 rồi. Lệnh gì dài dài... mà Tue_NV quên tên mất. (Máy ở công ty dùng CAD2008 mà)

Nó có biểu tượng ngọn đèn ở góc dưới bên phải màn hì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
Tue_NV    3.841

Edit: Ở biểu tượng ngọn đèn ở góc dưới bên phải màn hình có 3 lệnh :

1./ Lệnh hideobjects : Ẩn đối tượng được chọn

2./ Lệnh isolateobjects : Hiện đối tượng đã chọn, các đối tượng còn lại của CAD (không phải đối tượng chọn) sẽ bị ẩn

3./ Lệnh unisolateobjects: Hiện toàn bộ đối tượng đã bị ẩn

  • Vote tăng 2

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
filter    0

Chào các pro.

Có thể cải tiến lisp này ẩn hiện các đối tượng trong layout mà trong model không ảnh hưởng gì???

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
WrongTurn    0

Lệnh này mình cũng rất cần, cám ơn bác nhé. Mà bác có thể làm icon để click vào là sử dụng lệnh không hả bác?

Xin lỗi làm phiền các Bạn tí !!! Mình sài AutoCAD Architectur 2008 ! load LISP sài chỉ mỗi lệnh INVIS là Ok ...Giờ hiển thị lại = lệnh VIS không được :( ! Có Bồ nào giúp Mình 1 phát nhe ! 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

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


×