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.
Đăng nhập để thực hiện theo  
jangboko

Nhờ Sửa Lisp Chon Nhanh Tất Cả Dim Và Leader

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

jangboko    3
 ;; free lisp from cadviet.com
;; this lisp was downloaded from <a href="http://www.cadviet.com/forum/topic/56306-da-xong-lisp-chon-nhieu-doi-tuong-giong-nhau/" class="bbc_url" title="">http://www.cadviet.c...ong-giong-nhau/
(defun c:sq(/ aaa ls dt dt1 sdt sdt1 ent ent1 id id1)
  (setq AAA(SSGET)
sdt (sslength AAA)
id 0
dt (ssadd)
)
  (repeat ;;repeat1
	(setq ent (ssname AAA id)
id (1+ id)
);;setq
	(setq ls (entget ent))
	(if (= (cdr (assoc 0 ls)) "INSERT")
  	(get-block ent)
  	(setq dt1 (ssget (list(assoc 0 ls) (assoc 8 ls))))
  	);;if
	(setq sdt1 (sslength dt1)
   id1 -1)
	(while (setq ent1(ssname dt1 (setq id1 (1+ id1))))
  	(setq dt (ssadd ent1 dt))
  	);;While
	(sssetfirst dt dt)
	(princ)
	);;repeat1
  )
;;;;;;;;;;;;;;;;;;;;;;;;
(defun get-block(entm / sdtb idb ent2 entb dtm namem name BBB entb)
  (setq dtm (vlax-ename->vla-object entm))
  (setq namem (if(vlax-property-available-p dtm 'effectivename)
   (vla-get-effectivename dtm)
   (vla-get-name dtm)
   ));;;
  (setq BBB(SSGET  (list(cons 0 "INSERT") (assoc 8 (entget entm))))
sdtb (sslength BBB)
idb 0
dt1 (ssadd)
)
  (repeat ;;repeat1
	(setq entb (ssname BBB idb)
idb (1+ idb)
)
	(setq ent2(vlax-ename->vla-object entb))
	(setq name (if(vlax-property-available-p ent2 'effectivename)
   (vla-get-effectivename ent2)
   (vla-get-name ent2)
   ))
	(if (= name namem)
  	(setq dt1 (ssadd entb dt1))
  	)
	)
  )

 

 

bên trên là lisp chon đối tượng giống đối tượng chọn trước, em nhờ các bác có thể chỉnh sửa cho em thành lisp chọn dim và leader  trong toàn bản vẽ với. Lisp hoạt động như sau: 

- Khi gõ lệnh  cd thì tất cả các dim, leader trong bản vẽ sẽ được chọn 

mục đích của em để sau đó dùng lệnh DIMDISASSOCIATE để cho các dim  khỏi bị nhảy ( em dùng layout nên buộc phải chọn cái mục  Make new dimension  associative nên dim nó hay bị nhảy)

P/S: bác có thể kết hợp 2 lệnh này ( chọn tất cả các dim +leader và lệnh 

DIMDISASSOCIATE ) thành 1 thì tuyệt vời.  Em xin cảm ơn diễn đà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
Danh Cong    109

Cách nữa: Sử dụng bộ lọc đối tượng: FILTER. 

Thắc mắc nhỏ: Khi bạn gõ lệnh DIMDISASSOCIATE, trên màn hình nhắc chọn đối tượng, thì sao bạn không ấn Ctrl+A để chọn toàn bộ bản vẽ, đâu cần chọn Dim vs Leader đâu ???

 

124641_filter.png

  • 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
jangboko    3

Cách nữa: Sử dụng bộ lọc đối tượng: FILTER. 

Thắc mắc nhỏ: Khi bạn gõ lệnh DIMDISASSOCIATE, trên màn hình nhắc chọn đối tượng, thì sao bạn không ấn Ctrl+A để chọn toàn bộ bản vẽ, đâu cần chọn Dim vs Leader đâu ???

 

124641_filter.png

-sử dụng lisp thì mình chỉ gõ lệnh 1 nhát, còn sử dụng filter thì phải thao tác mấy bước

- sử dụng ctrl + A thì nó nặng máy, thỉnh thoảng đơ 1 lúc, gặp phải công trình lớn thì hay đơ lắm.

Cảm ơn bạn đã quan tâm.

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  

×