Đến nội dung


Hình ảnh
5 stars - based on 24598 reviews
- - - - -

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


  • Please log in to reply
4 replies to this topic

#1 jangboko

jangboko

    biết vẽ ellipse

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

Đã gửi 12 April 2017 - 10:25 AM

 ;; 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

 

 



  • 0

#2 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 12 April 2017 - 10:40 AM

(defun C:CD()
 (sssetfirst nil (ssget "X" '((0 . "DIMENSION,LEADER")))))

  • 1

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


#3 Danh Cong

Danh Cong

    biết lệnh block

  • Moderator
  • PipPipPipPipPipPip
  • 404 Bài viết
Điểm đánh giá: 88 (tàm tạm)

Đã gửi 12 April 2017 - 10:48 AM

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


  • 1

            *** Vô lo - Vô nghĩ - Vô sầu hận ***
*** Chẳng thương - Chẳng giận - Chẳng đau lòng ***


#4 jangboko

jangboko

    biết vẽ ellipse

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

Đã gửi 12 April 2017 - 10:53 AM

(defun C:CD()
 (sssetfirst nil (ssget "X" '((0 . "DIMENSION,LEADER")))))

cám ơn bác, nhanh và đơn giản quá nhỉ. 


  • 0

#5 jangboko

jangboko

    biết vẽ ellipse

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

Đã gửi 12 April 2017 - 10:58 AM

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.


  • 0