Đến nội dung


Hình ảnh
- - - - -

hiện những nét ẩn dùng líp


  • Please log in to reply
6 replies to this topic

#1 chi pheo

chi pheo

    biết zoom

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

Đã gửi 25 January 2011 - 08:55 AM

Em chào cả nhà Cadviet! :)
Các anh ah! em mới dùng lisp lên ko hiểu nhiều còn phải chăm chỉ nhiều. Em dùng lisp ẩn từng đối tượng đường nhưng ko làm thế nào để hiện lại nhung dường ẩn ạ
  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 25 January 2011 - 09:15 AM

Bạn dùng Lisp nào để ẩn từng đối tượng đường ??Ẩn layer chứa đối tượng đó hay ẩn đối tượng riêng biệt bằng lisp invis trên diễn đàn ? Bạn nhớ là cùng 1 việc nhưng có nhiều hướng giải quyết, và mỗi người viết lisp lại đi theo hướng riêng của mình, và nó không có quy chuẩn. Không giống như bạn nói đến AutoCAD2008 là ai cũng biết nó là thằng đấy ^^.
Gói gọn lại là : bạn dùng lisp nào?
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3 chi pheo

chi pheo

    biết zoom

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

Đã gửi 25 January 2011 - 09:54 AM

(defun c:ivone()
(defun Dxf (Id Obj) ;định nghĩa hàm dxf
(cdr (assoc Id (entget Obj)))
);end Dxf
(setq elem (car (entsel "\nDoi tuong can an: "))) ;chọn đối tượng
(if (dxf 60 Elem) ; kiểm tra xem có mã 60 không?
;nếu có thấy:
(entmod (subst (cons 60 1) (cons 60 (dxf 60 elem)) (entget Elem)))
;nếu không thêm:
(entmod (append (entget Elem) (list '(60 . 1))))
)
)
Chương trình này đay ạ! mong bác chỉ giáo
  • 0

#4 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 25 January 2011 - 10:29 AM

Đúng là ẩn đối tượng bằng dxf60 rồi, bạn dùng lisp này trên diễn đàn, lệnh mình để là hn, bạn thích đặt lại ntn thì đặt nhé


;free lisp from cadviet.com @
(defun c:hn (/ 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 (cond
((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. "))
)
)

  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#5 chi pheo

chi pheo

    biết zoom

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

Đã gửi 25 January 2011 - 10:51 AM

Thanks ! tuyệt thật. :)
thế anh giúp em nốt líp invis nha! Đa ta anh quá :)
  • 0

#6 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5678 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 25 January 2011 - 10:57 AM

Invis cũng giống như của bạn thôi, chỉ thêm phần kiểm tra locked layer.Mình post bên dưới,để lệnh là an (ẩn)

(defun c:an (/ 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

  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#7 chi pheo

chi pheo

    biết zoom

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

Đã gửi 25 January 2011 - 11:09 AM

Em dang tim hiểu lisp. em chưa rành lắm. Em rất cảm ơn anh :)
  • 0