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

Hỏi về hàm chọn đối tượng

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

Trước tiên mình muốn hỏi là có topic nào để đăng các câu hỏi nhỏ như này không, mình tìm trong box không thấy nên đành tạo 1 topic mới, mong các bạn thông cảm.

Mình muốn hỏi là có hàm chọn đối tượng nào của lisp giống với cách chọn đối tượng của lệnh MA (matchprops) trong cad không, tức là chọn 1 lúc nhiều đối tượng mà không cần nhấn Enter.

Theo mình biết thì hàm 'entsel chỉ chọn được 1 đối tượng, không cần Enter và hàm 'ssget chọn nhiều đối tượng, nhưng phải ấn Enter để tiếp tục. Ai biết giúp mình với, mình xin cảm ơ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

Cái này nếu bạn cần thì phải tự viết lisp thôi. Ví dụ như chọn các đối tượng text có content chứa từ "ABC" thì hoàn toàn có thể làm được. Cơ chế hoàn toàn giống như lệnh MatchProps. Tất nhiên, viết được cái lisp mà cosplay như MatchProps thì cũng hơi tốn công.

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
1 giờ trước, nguyenanh93 đã nói:

Cái này nếu bạn cần thì phải tự viết lisp thôi. Ví dụ như chọn các đối tượng text có content chứa từ "ABC" thì hoàn toàn có thể làm được. Cơ chế hoàn toàn giống như lệnh MatchProps. Tất nhiên, viết được cái lisp mà cosplay như MatchProps thì cũng hơi tốn công.

Hình như bạn chưa hiểu ý mình rồi, mình hỏi về phương thức chọn đối tượng chứ không phải về lệnh MA.

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

Chọn nhiều thì phải enter thì cad mới hiểu là bạn chọn xong chứ. Nói chung không có hàm nào thỏa điều kiện của bạn, bạn phải tự viết thôi.

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
2 giờ trước, tien2005 đã nói:

ví dụ chọn tất cả block ở model

(SETQ SS (SSGET "x" (list (cons 0 "INSERT") (cons 410 "Model"))))

Diễn chơi! Lệnh: ER - Xóa đối tượng.

https://drive.google.com/file/d/1O4ez4DoKWLi35el9skOtJczo7A7xfPwy/view?usp=sharing

 

 

  • Like 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
Vào lúc 7/9/2018 tại 11:06, gia_bach đã nói:

Có thể bắt đầu với hàm GRREAD.

Cảm ơn bạn,

Ví dụ mình có lisp xóa đối tượng (không cần enter để chấp nhận):

Mình kết hợp giữa grread-grdraw và ssget, tuy nhiên thì việc chọn đối tượng vẫn không được xịn như lệnh MA: không có cửa sổ vùng chọn, không highlight đối tượng. Đại ý mong muốn của mình là chọn đối tượng như ssget (kiểu chọn window) mà không thông qua bước ấn Enter.

Các bạn giúp mình nhé !

(defun C:e1 ( / LST PT1 PT2 PT3 PT4 SS)
  (while (setq pt1 (getpoint))
    (while (/= (car (setq lst (grread t))) 3)
      (redraw)
      (if (listp (setq pt2 (car (cdr lst))))
	(progn
	  (setq pt3 (list (car pt2) (cadr pt1)))
	  (setq pt4 (list (car pt1) (cadr pt2)))
	  (grdraw pt1 pt3 255)
	  (grdraw pt3 pt2 255)
	  (grdraw pt2 pt4 255)
	  (grdraw pt4 pt1 255)
	  )
	)
      )
    (redraw)
    (if (> (car pt1) (car pt2))
      (setq ss (ssget "_C" pt1 pt2))
      (setq ss (ssget "_W" pt1 pt2))
      )
    (if ss (mapcar 'entdel (acet-ss-to-list ss)))
    (setq pt1 nil)
    )
  (print)
  )

 

[E1] Xoa doi tuong.LSP

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

Trong trường hợp của bạn thì highlight chẳng có ý nghĩa gì cả, vì vừa chọn xong là nó thực hiện tiếp lệnh phía sau, mắt bạn không thể nhận ra cái highlight đó.

 

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
14 phút trước, Tot77 đã nói:

Trong trường hợp của bạn thì highlight chẳng có ý nghĩa gì cả, vì vừa chọn xong là nó thực hiện tiếp lệnh phía sau, mắt bạn không thể nhận ra cái highlight đó.

 

Có chứ! Nhưng chỉ về mặt hình thức.

IMAGE_2018-09-09.gif

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
8 phút trước, Tot77 đã nói:

Sau khi QuocManh chọn nhiều cái thì có Enter không?

Bác dùng thử xem (Lệnh ERT):

https://drive.google.com/file/d/1TLJQHXvSih5cMzFgErjgFXDtjWeHsOk_/view?usp=sharing

P/s: Highlight phụ thuộc vào biến hệ thống: SELECTIONPREVIEW

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
13 giờ trước, quocmanh04tt đã nói:

Bác dùng thử xem (Lệnh ERT):

https://drive.google.com/file/d/1TLJQHXvSih5cMzFgErjgFXDtjWeHsOk_/view?usp=sharing

P/s: Highlight phụ thuộc vào biến hệ thống: SELECTIONPREVIEW

Mình hiểu rồi, tức là đưa ssget vào trong grread luôn nhỉ, nhưng thế thì hơi lag cho máy cùi khi chọn nhiều đối tượng.

Cảm ơn bạn nhé !

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  

×