Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
vcdichoi

Đường bao Wipeout không tắt được hết

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

Em có sử dụng đoạn code sau trên diễn đàn để tạo Wipeout với hình dạng bất kỳ, nhưng không thể tắt hết được (vẫn bị mờ khi in ra) đường bao Wipeout

Nếu đặt nét đường bao Wipeout vào nét để "không in ra " thì khi in ra nét Hacth sẽ không bị che khuất bởi Wipeout.

Các anh/chị xem giúp em và cách xử lý để hết nét mờ ( màu xanh) khi tạo Wipeout như cách trên.

Em có tải file và hình ảnh đính kèm.

Em xin cảm ơn!

(defun c:getppl (/ en par pob pa ppl)
(setq oldos (getvar "osmode"))
(setvar "osmode" 0)
(setq en (car (entsel "\n chon lwpolyline can chuyen ")))
(setq ppl (list)
         par 0
         pob (vlax-ename->vla-object en) )
(while (< par (vlax-curve-getendparam pob))
      	(setq pa (vlax-curve-getpointatparam pob par)
                	ppl (append ppl (list pa))
                	par (+ par 0.1) )
)
(setq ppl (append ppl (list (vlax-curve-getendpoint pob))))
ppl
(command "pline")
(foreach p ppl
   (command p)
)
(command "")
(command "erase" en "")
(setvar "osmode" oldos)
(princ)
)
;Doan Van Ha - CADViet.com - Ngay 04/4/2012
;Muc dich: Convert cac Lwpolyline duoc chon thanh cac Wipeout.
(defun C:HA1( / cmd entlst xoa)
(command "undo" "be")
(setq cmd (getvar "cmdecho"))
(setvar "cmdecho" 0)
(setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex (ssget '((0 . "LWPOLYLINE")))))))
(initget "X K") (setq xoa (getkword "\n[Xoa/Khong xoa] pline cu <X>: "))
(if (= xoa "K") (setq xoa "N") (setq xoa "Y"))
(foreach ent entlst
 (setq lst (acet-geom-vertex-list ent))
 (cond
  ((= 1 (cdr (assoc 70 (entget ent))))
(command "wipeout" "p" ent xoa))
  ((and (= 0 (cdr (assoc 70 (entget ent)))) (equal (car lst) (last lst) 1E-8))
(entmod (subst (cons 70 1) (assoc 70 (entget ent)) (entget ent)))
(command "wipeout" "p" ent xoa))))
(setvar "cmdecho" cmd)
(command "undo" "end")
(princ))

 

file.dwg

mo.png

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 là nếu không xóa đi và dùng lệnh "TEMPOVERRIDES"    để bật/tắt đường Wipeout.

Như bình thường chỉ dùng lệnh Wipeout thì ẩn/ hiện đường bao  đó được, nhưng dùng lisp này có tình trạng khi ẩn đường bao Wipeout đi

thì đường bao Wipeout vẫn còn mờ như trê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

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  

×