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

[Yêu cầu] Nhờ viết lisp chọn nhanh text cùng nội dung

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

Nhờ các bác viết dùm lisp chọn nhanh các text có cùng nội dung trong một vùng lựa chọn dùm em với. Em thấy thao tác này rất hay gặp, bình thường có thể dùng lệnh find nhưng thao tác hơi rườm rà, ngoài ra với các bản từ cad 2010 trở đi em thấy tốc độ sử dụng lệnh find rất chậm, rất ức chế. Cụ thể lisp như sau:

 

Lisp quick_select_text: lệnh qst

+ Chọn text mẫu lấy nội dung cần tìm

+ chọn vùng đối tượng cần lấy các text cùng nội dung text mẫu

 

Kết quả lựa chọn được các text cùng nội dung text mẫu trong vùng lựa chọn.

Cho em cảm ơn trước các bác nhé. Chúc các bác một ngày vui vẻ!

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

Nhờ các bác viết dùm lisp chọn nhanh các text có cùng nội dung trong một vùng lựa chọn dùm em với. Em thấy thao tác này rất hay gặp, bình thường có thể dùng lệnh find nhưng thao tác hơi rườm rà, ngoài ra với các bản từ cad 2010 trở đi em thấy tốc độ sử dụng lệnh find rất chậm, rất ức chế. Cụ thể lisp như sau:

 

Lisp quick_select_text: lệnh qst

+ Chọn text mẫu lấy nội dung cần tìm

+ chọn vùng đối tượng cần lấy các text cùng nội dung text mẫu

Kết quả lựa chọn được các text cùng nội dung text mẫu trong vùng lựa chọn.

Cho em cảm ơn trước các bác nhé. Chúc các bác một ngày vui vẻ!

Đây bạn ơi! Lisp chọn text cùng nội dung.

(defun C:HA( / txt)
(setq txt (cdr (assoc 1 (entget (car (entsel "\nChon Text mau: "))))))
(princ "\nChon nhom Text...")
(setq ss (ssget (list '(0 . "*TEXT") (cons 1 txt))))
(sssetfirst nil ss))

  • Vote tăng 4

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

hì, code ngắn gọn quá. Vậy mà đỡ được bao nhiêu công đoạn. Cảm ơn bác Doan Van Ha 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

sài lệnh fi của cad là được mà

 

Mình hiểu là có một vài con đường khác nhau để đi đến một cái đích. Ở đây mình đang bàn đến con đường ngắn nhất cơ

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

Nếu bạn hay làm việc với các đối tượng kiểu này thì bạn nên tìm hiểu về fi đi, nó cực kỳ mạnh cho những thao tác kiểu này đó.

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

Đây bạn ơi! Lisp chọn text cùng nội dung.

(defun C:HA( / txt)
(setq txt (cdr (assoc 1 (entget (car (entsel "\nChon Text mau: "))))))
(princ "\nChon nhom Text...")
(setq ss (ssget (list '(0 . "*TEXT") (cons 1 txt))))
(sssetfirst nil ss))

Mình thấy Lsp này cũng hay,

Lsp này có thể chỉnh sửa: Thay vì chọn đối tượng TEXT, mà là chọn đối tượng mẫu ( mọi đối tượng) sau đó chọn vùng thì có được không ah.

  • 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

Mình thấy Lsp này cũng hay,

Lsp này có thể chỉnh sửa: Thay vì chọn đối tượng TEXT, mà là chọn đối tượng mẫu ( mọi đối tượng) sau đó chọn vùng thì có được không ah.

Vấn đề bạn đặt ra Tue_NV thấy thiếu ý :

Chọn đối tượng mẫu ( mọi đối tượng) sau đó chọn vùng -> để chọn ra đối tượng giống đối tượng mẫu" ->

Tue_NV hỏi bạn giống chổ này hơi khó hiểu là giống cái gì -> Text thì giống nhau về nội dung hay Layer hay màu sắc...... và các đối tượng khác giống đối tượng mẫu về cái gì. Hay là giống nhau cả? (Chắc là không giống nhau hết được đâu bạn nhỉ?)

 

Vấn đề đặt ra của bạn tương đối hay nhưng thiếu dữ kiện nên phải đầy đủ mới có thể giải quyết được bạn ạ

Tue_NV hay sử dụng lệnh Fi để lọc các đối tượng có điều kiện khác nhau và viết Lisp có hay chăng nữa cũng không bằng lệnh Fi dược

Vậy trong trường hợp này sao không sử dụng lệnh Fi?????

  • 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

Vấn đề bạn đặt ra Tue_NV thấy thiếu ý :

Chọn đối tượng mẫu ( mọi đối tượng) sau đó chọn vùng -> để chọn ra đối tượng giống đối tượng mẫu" ->

Tue_NV hỏi bạn giống chổ này hơi khó hiểu là giống cái gì -> Text thì giống nhau về nội dung hay Layer hay màu sắc...... và các đối tượng khác giống đối tượng mẫu về cái gì. Hay là giống nhau cả? (Chắc là không giống nhau hết được đâu bạn nhỉ?)

 

Vấn đề đặt ra của bạn tương đối hay nhưng thiếu dữ kiện nên phải đầy đủ mới có thể giải quyết được bạn ạ

Tue_NV hay sử dụng lệnh Fi để lọc các đối tượng có điều kiện khác nhau và viết Lisp có hay chăng nữa cũng không bằng lệnh Fi dược

Vậy trong trường hợp này sao không sử dụng lệnh Fi?????

 

Ở đây đối tượng mẫu cũng giống như nội dung như đối tượng TEXT.

VD: khi ta chọn một block thì khi đó những block cùng tên (or cùng một kiểu) sẽ được chọn,

Đối tượng line cùng màu thì cũng chọn hết.

...

ở lệnh FI nó mất công hơn một chút là nếu muốn chọn đối tượng về điểm trung thì phải xóa hết thông số riêng của đối tượng đó.

VD: mình muốn chọn hết TEXT trong bản vẽ thì chỉ để lại Objest là TEXT thui. còn lại là xóa layer, màu. linetype...

 

( Giờ mình cũng mới thấy phức tạp ở chỗ, Text thì nó chung một nội dung. còn các đối tượng khác. VD : khi chọn đối tượng LINE thì không biết nó lọc kiểu màu, layer., linetype or tọa độ nhỉ)

Chắc sài lệnh FI là chuẩn nhất.

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

Fi là chuẩn rồi. chỉ là trường hợp vic hay gặp chọn text cùng nội dung nên muốn nó thánh lisp cho nhanh 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

Victor request hơi nhiều quá thì phải :o Có lẽ phải đề nghị hạn mức thôi

 

Vic yêu cầu cũng xoay quanh các vấn đề chủ yếu hay gặp và mình nghĩ các bạn dùng cad khác cũng sẽ hay gặp như mình nên yêu cầu thôi. Tuyệt đối ko có tham lam j :D. Mong ketxu đèn trời soi xét ;)

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ó bác nào bonus dùm em lisp chọn nhanh các text có nội dung là các số thuộc tập số nguyên Z ( -n, .. , -2, -1, 0, 1, 2, .... n) trong vùng lựa chọn được ko ạ?

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ó bác nào bonus dùm em lisp chọn nhanh các text có nội dung là các số thuộc tập số nguyên Z ( -n, .. , -2, -1, 0, 1, 2, .... n) trong vùng lựa chọn được ko ạ?

Lisp chọn text thuộc tập số nguyên Z.

;Doan Van Ha - CADViet.com - Ngay 28/5/2012
;Muc dich: Chon tap hop text bao gom cac so nguyen am, nguyen duong va so 0 (tap hop Z).
(defun C:HA()
(princ "\nChon cac text thuoc tap hop Z...")
(setq so (ssget '((0 . "*TEXT") (-4 . "<AND") (1 . "~*[~-0--9]*") (-4 . "<NOT") (1 . "*[`.]*") (-4 . "NOT>") (-4 . "AND>"))))
(sssetfirst nil so))

  • 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

Em cảm ơn bác Doan Van Ha 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

Đây bạn ơi! Lisp chọn text cùng nội dung.

(defun C:HA( / txt)
(setq txt (cdr (assoc 1 (entget (car (entsel "\nChon Text mau: "))))))
(princ "\nChon nhom Text...")
(setq ss (ssget (list '(0 . "*TEXT") (cons 1 txt))))
(sssetfirst nil ss))

nhờ các bác giựa vào code loc text này giúp em chọn các Text có cùng nội dung trong các thửa đất liền kề và sau đó BOUNDARY các thửa đó thành 1 đường bao các thửa ngoài xung quanh các thửa đó với ạ! có bệnh vái tứ phương nhưng chưa có thuốc trị, nhờ các bác giúp em với!

http://www.cadviet.com/upfiles/4/62465_khoanh_ve.dwg62465_20150228_071319.jpg

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  

×