Đến nội dung


Hình ảnh
* * * * - 3 Bình chọn

lisp xóa tất cả các đối tượng trong 1 vùng kín


  • Please log in to reply
86 replies to this topic

#61 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 18 June 2012 - 11:20 PM

Hatch thì cắt được chứ Block thì.... ^^
  • 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


#62 thiep

thiep

    biết dimbaseline

  • Members
  • PipPipPipPipPip
  • 369 Bài viết
Điểm đánh giá: 260 (khá)

Đã gửi 19 June 2012 - 10:04 PM

Hatch thì cắt được chứ Block thì.... ^^

Chào ketxu và ro88, Hatch cắt được thì block cắt được luôn, không có vấn đề gì, và có thể không cần lisp cũng được. Dùng lệnh XCLIP là đủ
  • 1

#63 trinhngoctri

trinhngoctri

    biết vẽ pline

  • Members
  • PipPip
  • 62 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 21 June 2013 - 08:46 AM

Anh Thiep

em cần nó vừa xóa vừa extrim luôn đưọc không anh.

 

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.c...ong-1-vung-kin/
;; ERC.LSP free lisp from cadviet.com;; copyright by Thiep,06/2009;;;----------------------------(defun ss2ent (ss / i Le e)(setq i 0Le nil)(repeat (sslength ss)(setqe (ssname ss i)Le (append Le (list e))i (1+ i)))Le);;;-----------------------------------(defun fen (cur / sc glength d l1 p0)  (setq sc 2009 glength (lambda (e) (command ".lengthen" e "") (getvar "perimeter")) d (/ (glength cur) sc) l1 0.0 p0 (vlax-curve-getStartPoint cur) L (list p0)  )  (redraw cur 4)  (repeat sc    (setq      l1 (+ l1 d)      p1 (vlax-curve-getPointAtDist cur l1)    )    (setq L (append L (List p1)))  )  L);;;---------------------------------------------------(defun c:er2c (/ cur L n ssgDEL glength)  (princ "\nFree lisp from www.cadviet.com") ;-------------------  (acet-error-init    (list      (list "cmdecho" 0    "highlight" 0    "regenmode"    1 "osmode"    0 "ucsicon"   0    "offsetdist"    0 "attreq"    0    "plinewid" 0    "plinetype" 1    "gridmode"    0 "celtype"   "CONTINUOUS"    "ucsfollow"    0 "limcheck"  0   )      T ;flag. True means use undo for error clean up.      '(if redraw_it (redraw na 4)       )    ) ;list  ) ;acet-error-init ;--------------------  (command "undo" "be")  (setvar "osmode" 0)  (setq n 0)  (initget "T N G")  (setq bit (getkword   "\nBan muon xoa Trong hay Ngoai 1 Curve, hay giua 2 Curve < T/N/G>: " )  )  (cond ((= bit "T") (setq cur    (car (entsel "\nChon curve: "))       L      (fen cur)       ssgDEL (ssget "WP" L) ) ) ((= bit "N") (setq cur (car (entsel "\nChon curve: "))       L (fen cur)       ssgDEL (ssget "X")       ssginC (ssget "CP" L)       enssginC (ss2ent ssginC) ) (foreach eni enssginC   (ssdel eni ssgDEL) ) ) ((= bit "G") (setq cur1 (car (entsel "\nChon curve ngoai: "))       L1 (fen cur1)       ssgDEL (ssget "WP" L1)       cur2 (car (entsel "\nChon curve trong: "))       L2 (fen cur2)       ssginC2 (ssget "CP" L2)       enssginC2 (ss2ent ssginC2) ) (foreach eni enssginC2   (ssdel eni ssgDEL) ) )  )  (repeat (sslength ssgDEL)    (if (and (/= (ssname ssgDEL n) cur2) (/= (ssname ssgDEL n) cur1))      (progn (entdel (ssname ssgDEL n))
;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.c...ong-1-vung-kin/
;; ERC.LSP free lisp from cadviet.com;; copyright by Thiep,06/2009;;;----------------------------(defun ss2ent (ss / i Le e)(setq i 0Le nil)(repeat (sslength ss)(setqe (ssname ss i)Le (append Le (list e))i (1+ i)))Le);;;-----------------------------------(defun fen (cur / sc glength d l1 p0)  (setq sc 2009 glength (lambda (e) (command ".lengthen" e "") (getvar "perimeter")) d (/ (glength cur) sc) l1 0.0 p0 (vlax-curve-getStartPoint cur) L (list p0)  )  (redraw cur 4)  (repeat sc    (setq      l1 (+ l1 d)      p1 (vlax-curve-getPointAtDist cur l1)    )    (setq L (append L (List p1)))  )  L);;;---------------------------------------------------(defun c:er2c (/ cur L n ssgDEL glength)  (princ "\nFree lisp from www.cadviet.com") ;-------------------  (acet-error-init    (list      (list "cmdecho" 0    "highlight" 0    "regenmode"    1 "osmode"    0 "ucsicon"   0    "offsetdist"    0 "attreq"    0    "plinewid" 0    "plinetype" 1    "gridmode"    0 "celtype"   "CONTINUOUS"    "ucsfollow"    0 "limcheck"  0   )      T ;flag. True means use undo for error clean up.      '(if redraw_it (redraw na 4)       )    ) ;list  ) ;acet-error-init ;--------------------  (command "undo" "be")  (setvar "osmode" 0)  (setq n 0)  (initget "T N G")  (setq bit (getkword   "\nBan muon xoa Trong hay Ngoai 1 Curve, hay giua 2 Curve < T/N/G>: " )  )  (cond ((= bit "T") (setq cur    (car (entsel "\nChon curve: "))       L      (fen cur)       ssgDEL (ssget "WP" L) ) ) ((= bit "N") (setq cur (car (entsel "\nChon curve: "))       L (fen cur)       ssgDEL (ssget "X")       ssginC (ssget "CP" L)       enssginC (ss2ent ssginC) ) (foreach eni enssginC   (ssdel eni ssgDEL) ) ) ((= bit "G") (setq cur1 (car (entsel "\nChon curve ngoai: "))       L1 (fen cur1)       ssgDEL (ssget "WP" L1)       cur2 (car (entsel "\nChon curve trong: "))       L2 (fen cur2)       ssginC2 (ssget "CP" L2)       enssginC2 (ss2ent ssginC2) ) (foreach eni enssginC2   (ssdel eni ssgDEL) ) )  )  (repeat (sslength ssgDEL)    (if (and (/= (ssname ssgDEL n) cur2) (/= (ssname ssgDEL n) cur1))      (progn (entdel (ssname ssgDEL n))

  • 0

#64 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5451 Bài viết
Điểm đánh giá: 2625 (tuyệt vời)

Đã gửi 21 June 2013 - 08:58 AM

Bạn dùng lisp này của KangKung nhé!

http://www.cadviet.c...hoac-ben-ngoai/


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#65 trinhngoctri

trinhngoctri

    biết vẽ pline

  • Members
  • PipPip
  • 62 Bài viết
Điểm đánh giá: -1 (bình thường)

Đã gửi 21 June 2013 - 09:22 AM

cảm ơn Doan Van Ha nhé,


  • 0

#66 ducdong2009

ducdong2009

    biết pan

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

Đã gửi 21 June 2013 - 11:15 AM

Mình có vấn đề này muốn hỏi các bạn:

 

- Mình có file này

- Muốn xuất tọa độ các điểm này vào cad và có các đường đồng mức

- Có ai có cách nào hay có phần mềm nào hướng dẫn mình với

Cảm ơn nhiều.http://www.cadviet.c...ke_toa_do_1.rar


  • 0

Đức Đông - Diễn Yên - 0913915558 - Yahoo:changtrainghean_80@yahoo.com - Email:ducdong09@gmail.com


#67 maivanlong

maivanlong

    biết pan

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

Đã gửi 11 September 2013 - 03:22 PM

Em chào các anh, em đã dùng thử lisp của mọi người viết, rất hay và hữu ích. 

Nhưng nội dung công việc em cần là xoá các đối tượng nằm trong, và giao với đường bao. Không cần dùng lệnh extrim.

Nếu có thể thì các anh có thể chỉnh sửa lisp đầu tiên của anh Thiệp giúp em với ạ.

"lisp chỉ xoá các đối tượng nằm trong vùng kín" về lisp có thể xoá được các "đối tượng trong vùng kín, và giao với đường bao" (cad 2d thôi ạ, không cần 3d)

Ngoài ra nếu có thể chọn được tất cả các đường bao một lúc để xoá thì tuyệt vời ạ :D.

 

Em cám ơn và chúc sức khoẻ các anh.


  • 0

#68 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5451 Bài viết
Điểm đánh giá: 2625 (tuyệt vời)

Đã gửi 11 September 2013 - 04:59 PM

Bạn đã thử lisp ở bài #25 chưa?


  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#69 maivanlong

maivanlong

    biết pan

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

Đã gửi 11 September 2013 - 09:15 PM

hi vâng.ở #25 em tải về bằng nút download của diễn đàn, load vào cad thành công. Nhưng không hiểu sao khi gõ lệnh ewb thì cad không nhận lệnh và báo là " unknown command "Ewb" ...". Em copy code rồi past vào file lisp mới cũng cho kết quả tương tự. Download ở một số link khác của anh Gia_Bach như ở #27; #30 thì hình như link dropbox bị hết hạn, không tải được file.

Mà em có đọc qua đoạn giới thiệu của anh Gia_Bach thì thấy lisp này sẽ xóa đối tượng trong vùng kín và cắt đi phần nằm bên trong vùng kín của các đối tượng giao với  đường biên của vùng kín đó. Còn cái em muốn hơi khác một chút. Đó là với đối tượng trong vùng kín thì vẫn xóa. còn với các đối tượng giao với đường bao thì không cắt mà cũng xóa như đối tượng nằm trong vùng kín.

Mong được giúp đỡ  :P


  • 0

#70 kinhcan9988

kinhcan9988

    Chưa sử dụng CAD

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

Đã gửi 05 May 2014 - 10:21 AM

Mọi người ơi cho mình hỏi cái, mình load được các lisp erc, erc2, eob nhưng đến khi bấm lệnh thì lại không nhận. Mình đã đọc và thử hết các cách sửa nhưng vẫn không được. 

Đây là lisp bạn cần:

;;;-------------------------------------------------------------(defun c:erC (/ sc cur p0 P1 L1 d L n ssgDEL glength)  (princ "\nFree lisp from www.cadviet.com")  (command "undo" "be")  (setvar "osmode" 0)  (setq	sc	2009	cur	(car (entsel "\nchon duong: "))	glength	(lambda (e) (command ".lengthen" e "") (getvar "perimeter"))	d	(/ (glength cur) sc)	l1	0.0	p0	(vlax-curve-getStartPoint cur)	L	(list p0)  )  (redraw cur 4)  (repeat sc    (setq      l1 (+ l1 d)      p1 (vlax-curve-getPointAtDist cur l1)    )    (setq L (append L (List p1)))  )  (setq ssgDEL (ssget "WP" L))  (setq n 0)  (repeat (sslength ssgDEL)    (entdel (ssname ssgDEL n))    (setq n (1+ n))  )  (command "undo" "end")  (princ "\nChuc cac ban may man va thanh cong - Thiep 0918841230")  (princ))(vl-load-com)
Không phải xóa thủ công nữa nhé.

  • 0

#71 BKTen

BKTen

    biết vẽ circle

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

Đã gửi 05 May 2014 - 02:28 PM

BẠN DÙNG THỬ CÁI NÀY XEM SAO?

hi vâng.ở #25 em tải về bằng nút download của diễn đàn, load vào cad thành công. Nhưng không hiểu sao khi gõ lệnh ewb thì cad không nhận lệnh và báo là " unknown command "Ewb" ...". Em copy code rồi past vào file lisp mới cũng cho kết quả tương tự. Download ở một số link khác của anh Gia_Bach như ở #27; #30 thì hình như link dropbox bị hết hạn, không tải được file.

Mà em có đọc qua đoạn giới thiệu của anh Gia_Bach thì thấy lisp này sẽ xóa đối tượng trong vùng kín và cắt đi phần nằm bên trong vùng kín của các đối tượng giao với  đường biên của vùng kín đó. Còn cái em muốn hơi khác một chút. Đó là với đối tượng trong vùng kín thì vẫn xóa. còn với các đối tượng giao với đường bao thì không cắt mà cũng xóa như đối tượng nằm trong vùng kín.

Mong được giúp đỡ  :P

http://www.cadviet.c...ng_vung_kin.lsp

XIN LỖI MÌNH KHÔNG BIẾT UP LÊN DIỄN ĐÀN THEO KIỂU HIỂN THỊ CODE, CHO DOWLOAD LUÔN NHÉ! CÓ AI CHỈ GIÙM MÌNH LUÔN ĐI,

 

;; XOA DOI TUONG TRONG VUNG KIN
;;; --------------------------   CLEARN OBJECT xoa doi tuong vung kin -------------------------------
 (defun c:cob ( / ob1 ver ob2 ob0 ob8 obx dem)
  (setq olderr *error* *error* at_err)
  (modes '("CMDECHO" "HIGHLIGHT" "osmode"))
  (mapcar 'setvar '("CMDECHO" "HIGHLIGHT") '(0 0))
  (command "_.undo" "_group")
  (setq ob1 (car (entsel "\nChon vung can xoa di tuong: ")))
  (if ob1 (progn
  (fi_ver ob1)
   (setq ob2 (entget (car (entsel "\nChon doi tuong xoa: "))))
    (if ob2 (progn
     (setq ob0 (assoc 0 ob2))
     (setq ob8 (assoc 8 ob2))
     (maxmin ver)
     (command "_.zoom" "_W" (list xmax ymax 0) (list xmin ymin 0))
       (setq obx (ssget "cp" ver (list ob0 ob8)))

       (if obx (progn
          (setq dem (sslength obx))
          (command "_.ERASE" "_p" "")
          (princ "- Da xoa ")
          (princ dem)
          (princ " doi tuong !!!")
        ))

     )) ; end ob1
   )) ; end ob1
  (command "_.undo" "_END")
  (moder)
  (setq *error* olderr)
  (princ)
  )
;;;
;;; -------------------------- END CLEARN OBJECT ------------------------------


Bài viết đã được chỉnh sửa nội dung bởi BKTen: 05 May 2014 - 02:32 PM

  • 0

Muốn làm bạn với AutoLisp. Mong được đàn anh Pro Chỉ dạy.


#72 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 05 May 2014 - 03:44 PM

BẠN DÙNG THỬ CÁI NÀY XEM SAO?

hi vâng.ở #25 em tải về bằng nút download của diễn đàn, load vào cad thành công. Nhưng không hiểu sao khi gõ lệnh ewb thì cad không nhận lệnh và báo là " unknown command "Ewb" ...". Em copy code rồi past vào file lisp mới cũng cho kết quả tương tự. Download ở một số link khác của anh Gia_Bach như ở #27; #30 thì hình như link dropbox bị hết hạn, không tải được file.

Mà em có đọc qua đoạn giới thiệu của anh Gia_Bach thì thấy lisp này sẽ xóa đối tượng trong vùng kín và cắt đi phần nằm bên trong vùng kín của các đối tượng giao với  đường biên của vùng kín đó. Còn cái em muốn hơi khác một chút. Đó là với đối tượng trong vùng kín thì vẫn xóa. còn với các đối tượng giao với đường bao thì không cắt mà cũng xóa như đối tượng nằm trong vùng kín.

Mong được giúp đỡ  :P

http://www.cadviet.c...ng_vung_kin.lsp

XIN LỖI MÌNH KHÔNG BIẾT UP LÊN DIỄN ĐÀN THEO KIỂU HIỂN THỊ CODE, CHO DOWLOAD LUÔN NHÉ! CÓ AI CHỈ GIÙM MÌNH LUÔN ĐI,

 

;; XOA DOI TUONG TRONG VUNG KIN
;;; --------------------------   CLEARN OBJECT xoa doi tuong vung kin -------------------------------
 (defun c:cob ( / ob1 ver ob2 ob0 ob8 obx dem)
  (setq olderr *error* *error* at_err)
  (modes '("CMDECHO" "HIGHLIGHT" "osmode"))
  (mapcar 'setvar '("CMDECHO" "HIGHLIGHT") '(0 0))
  (command "_.undo" "_group")
  (setq ob1 (car (entsel "\nChon vung can xoa di tuong: ")))
  (if ob1 (progn
  (fi_ver ob1)
   (setq ob2 (entget (car (entsel "\nChon doi tuong xoa: "))))
    (if ob2 (progn
     (setq ob0 (assoc 0 ob2))
     (setq ob8 (assoc 8 ob2))
     (maxmin ver)
     (command "_.zoom" "_W" (list xmax ymax 0) (list xmin ymin 0))
       (setq obx (ssget "cp" ver (list ob0 ob8)))

       (if obx (progn
          (setq dem (sslength obx))
          (command "_.ERASE" "_p" "")
          (princ "- Da xoa ")
          (princ dem)
          (princ " doi tuong !!!")
        ))

     )) ; end ob1
   )) ; end ob1
  (command "_.undo" "_END")
  (moder)
  (setq *error* olderr)
  (princ)
  )
;;;
;;; -------------------------- END CLEARN OBJECT ------------------------------

Hề hề hề,

Không biết lisp này bãn viết hay bạn sưu tầm, nhưng nêu chỉ có vậy e rằng bạn đã post mất công bởi chẳng thể dùng được.

Lisp còn thiếu một số hàm con mà người viết đã sử dụng như các hàm (moder) (fi_ver) (modes) (maxmin ...)

Nếu là bạn viết thì hãy post thêm các hàm con này lên. (còn nếu là bạn sưu tầm thì hãy tìm hiểu thêm về các hàm con này. Nếu không rất có khả năng bạn sẽ lãnh hậu quả khi xài lisp này.


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#73 BKTen

BKTen

    biết vẽ circle

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

Đã gửi 06 May 2014 - 02:01 PM

Cảm ơn Bác Bình rất nhiều, Nhờ Bác chỉ giáo thêm, em chỉ sưu tầm thôi chứ không biết viết , hii Mong Bác chỉ dạy.


  • 0

Muốn làm bạn với AutoLisp. Mong được đàn anh Pro Chỉ dạy.


#74 77Z7 7777

77Z7 7777

    Chưa sử dụng CAD

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

Đã gửi 03 June 2014 - 01:53 PM

mong các a c giúp đỡ

e cần một lisp copy tất  cả các đối tượng trong polyline kín

 


  • 0

#75 Tot77

Tot77

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 990 Bài viết
Điểm đánh giá: 498 (tốt)

Đã gửi 03 June 2014 - 05:30 PM

Bạn dùng lisp của bác Thiệp dưới đây, sau khi bắt đối tượng xong bạn muốn move, copy hay xóa thì tùy bạn.

 
(defun c:erC (/ sc cur p0 P1 L1 d L n ssgDEL glength)
  (princ "\nFree lisp from www.cadviet.com")
  (command "undo" "be")
  (setvar "osmode" 0)
  (setq sc 2009
cur (car (entsel "\nchon duong: "))
glength (lambda (e) (command ".lengthen" e "") (getvar "perimeter"))
d (/ (glength cur) sc)
l1 0.0
p0 (vlax-curve-getStartPoint cur)
L (list p0)
  )
  (redraw cur 4)
  (repeat sc
    (setq l1 (+ l1 d)
 p1 (vlax-curve-getPointAtDist cur l1)
    )
    (setq L (append L (List p1)))
  )
  (setq ssgDEL (ssget "WP" L))  
  (command "undo" "end")
  (princ  "\nChuc cac ban may man va thanh cong - Thiep 0918841230" )
  (sssetfirst nil ssgDel)
  (princ)
)
(vl-load-com)

  • 0

#76 dunguss3581

dunguss3581

    biết lệnh rotate

  • Advance Member
  • PipPipPip
  • 139 Bài viết
Điểm đánh giá: 5 (bình thường)

Đã gửi 25 June 2015 - 09:26 AM

Sao mình dow mấy cái về chạy đều không được các bác? file nào hoàn thiện rồi nhỉ?


  • 0

#77 dunguss3581

dunguss3581

    biết lệnh rotate

  • Advance Member
  • PipPipPip
  • 139 Bài viết
Điểm đánh giá: 5 (bình thường)

Đã gửi 25 June 2015 - 09:29 AM

~

 

 

Bạn dùng lisp của bác Thiệp dưới đây, sau khi bắt đối tượng xong bạn muốn move, copy hay xóa thì tùy bạn.

 
(defun c:erC (/ sc cur p0 P1 L1 d L n ssgDEL glength)
  (princ "\nFree lisp from www.cadviet.com")
  (command "undo" "be")
  (setvar "osmode" 0)
  (setq sc 2009
cur (car (entsel "\nchon duong: "))
glength (lambda (e) (command ".lengthen" e "") (getvar "perimeter"))
d (/ (glength cur) sc)
l1 0.0
p0 (vlax-curve-getStartPoint cur)
L (list p0)
  )
  (redraw cur 4)
  (repeat sc
    (setq l1 (+ l1 d)
 p1 (vlax-curve-getPointAtDist cur l1)
    )
    (setq L (append L (List p1)))
  )
  (setq ssgDEL (ssget "WP" L))  
  (command "undo" "end")
  (princ  "\nChuc cac ban may man va thanh cong - Thiep 0918841230" )
  (sssetfirst nil ssgDel)
  (princ)
)
(vl-load-com)

mình chạy cái này rồi muốn xóa thì lại xóa mất dường bao. bác nào biết giúp tui với


  • 0

#78 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 25 June 2015 - 11:08 AM

~

 

mình chạy cái này rồi muốn xóa thì lại xóa mất dường bao. bác nào biết giúp tui với

Hề hề hề,

Bạn thử làm như sau xem có hiệu nghiệm không nhé.

Thêm dòng code sau:

(setq ssgdel (ssdel cur ssgdel))

vào bên dưới dòng code

(setq ssgDEL (ssget "WP" L))

Sau đó lưu lại file và test lại.

 

Hy vọng đúng ý bạn.


  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#79 quangphuc91

quangphuc91

    Chưa sử dụng CAD

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

Đã gửi 07 September 2015 - 05:17 PM

chào các anh, em muốn hỏi các anh làm sao để kết hợp với lisp này của em nhỉ, em muốn chọn tất cả các đám mây và xóa toàn bộ các hình bên ngoài còn lại bên ngoài các đám mây đó, file lisp chọn đám mây em có đính kèm ở dưới, mong các anh giúp đỡ, em cám ơn

 

Lisp chọn đám mây

 

(defun c:cdm (/ ss i sn name lst)
  (setq i 0 ssrc (ssadd))
  (if (setq ss(ssget "x" '((0 . "LWPOLYLINE") (410 . "Model")(70 . 1)(-4 . "/=")(42 . 0))))
    (repeat (sslength ss)
      (setq e (ssname ss i))
      (setq elst (vl-remove-if-not '(lambda (x) (= 42 (car x))) (entget e)))
      (if
        (and
          (< 2 (length elst))
          (vl-every '(lambda (x) (not (zerop (cdr x)))) elst)     
        )
        (ssadd e ssrc)
      )
      (setq i (1+ i))
    )
  )
  (sssetfirst nil ssrc)
  (princ)
) ;end
 


  • -1

#80 quantvxd

quantvxd

    biết zoom

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

Đã gửi 30 November 2015 - 05:13 PM

Các bác cho em hỏi, nếu giờ đối tượng xóa của em nằm trong một đối tượng là PolyLine 3d thi làm như thếnào .Em có file minh họa đây
http://www.cadviet.c...oi_cad_viet.dwg

Cảm ơn các bác

P.S Đã giải quyết được rồi, xin lỗi các bác nhé

Bài viết đã được chỉnh sửa nội dung bởi quantvxd: 01 December 2015 - 07:59 AM

  • 0