Đến nội dung


Hình ảnh
- - - - -

Đếm số lượng text và Mtext trong 1 vùng kín


  • Please log in to reply
8 replies to this topic

#1 banbe0274

banbe0274

    biết vẽ pline

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

Đã gửi 24 November 2010 - 10:41 AM

Nhờ các viết giùm cho 1 lisp đếm số lượng text và mtext trong 1 vùng kín được bao bọc bới polyline khép kín.

http://www.cadviet.c...files/3/dem.dwg
  • 0

#2 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 24 November 2010 - 11:19 AM

Nhờ các viết giùm cho 1 lisp đếm số lượng text và mtext trong 1 vùng kín được bao bọc bới polyline khép kín.

http://www.cadviet.c...files/3/dem.dwg

Chào banbe0274,
Nhắc bạn lần sau nếu còn post nhiều bài trên các topic khác nhau với cùng nội dung như nhau sẽ bị xóa toàn bộ các bài viết đó. Đã tham gia diễn đàn , bạn nên đọc quy định chung của nó và hãy tôn trọng quy định đó. Đừng nghĩ đó là sân chơi cho riêng bạn, muốn làm chi thì làm.

Yếu cầu của bạn không có gì quá khó cả. Bạn hãy thử cái này xem có ưng không nhé.
(defun c:demt ()
(vl-load-com)
(setq plst (acet-geom-vertex-list (car (entsel "\n Chon pline kín")))
ss (ssget "wp" plst (list (cons 0 "text,mtext")))
n (sslength ss)
)
(princ (strcat "\nTong so text va mtext trong vung chon la: " (rtos n 2 0)))
(alert (strcat "\nTong so text va mtext trong vung chon la: " (rtos n 2 0)))
(princ)
)
  • 2
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 24 November 2010 - 07:03 PM

Chào banbe0274,
Nhắc bạn lần sau nếu còn post nhiều bài trên các topic khác nhau với cùng nội dung như nhau sẽ bị xóa toàn bộ các bài viết đó. Đã tham gia diễn đàn , bạn nên đọc quy định chung của nó và hãy tôn trọng quy định đó. Đừng nghĩ đó là sân chơi cho riêng bạn, muốn làm chi thì làm.

Yếu cầu của bạn không có gì quá khó cả. Bạn hãy thử cái này xem có ưng không nhé.
(defun c:demt ()
(vl-load-com)
(setq plst (acet-geom-vertex-list (car (entsel "\n Chon pline kín")))
ss (ssget "wp" plst (list (cons 0 "text,mtext")))
n (sslength ss)
)
(princ (strcat "\nTong so text va mtext trong vung chon la: " (rtos n 2 0)))
(alert (strcat "\nTong so text va mtext trong vung chon la: " (rtos n 2 0)))
(princ)
)

Lời giải của bác chỉ đúng với Pline kín có phân đoạn thẳng (Line segment) còn với Pline kín có phân đoạn (Arc segment) hay Spline kín thì 1 số trường hợp không còn đúng nữa
  • 1

#4 hoan2182

hoan2182

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2646 Bài viết
Điểm đánh giá: 832 (rất tốt)

Đã gửi 24 November 2010 - 08:23 PM

Nhờ các viết giùm cho 1 lisp đếm số lượng text và mtext trong 1 vùng kín được bao bọc bới polyline khép kín.

http://www.cadviet.c...files/3/dem.dwg

Có một cách làm thủ công là:
Chọn đối tượng các chữ >>> gõ M
Command: m MOVE 7 found
Specify base point or [Displacement] : *Cancel*
Command: Specify opposite corner:
Command: *Cancel*
Command: Specify opposite corner:
Command: m MOVE 8 found
Đỡ phải đỡ tốn ổ nhớ thêm lệnh lisp
  • 0

Gió đưa cây cải về trời

Rau răm ở lại chịu lời đắng cay...


#5 nguyentuyen6

nguyentuyen6

    biết lệnh chamfer

  • Advance Member
  • PipPipPipPip
  • 213 Bài viết
Điểm đánh giá: 124 (tàm tạm)

Đã gửi 24 November 2010 - 09:33 PM

Mình thì thấy cứ chọn = tay vùng nào muốn thống kê rồi dùng lệnh MO hoặc ctrl+1 ở phía bên trên bảng hiện ra nó có thống kê cho từng loại đối tượng trong cái tập mình chọn rồi.
  • 0

Lisp In bản vẽ hàng loạt:
http://www.cadviet.c...ndpost&p=139860


#6 vinhhien

vinhhien

    Chưa sử dụng CAD

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

Đã gửi 02 March 2012 - 11:26 AM

Mình có 1 lisp này cũng có thể dùng được này.
Lisp có khả năng đếm số lần xuất hiện của 1 Dtext rồi lập thành bảng thống kê.
Nhưng mấy bác cao thủ chỉnh lại giùm em một chút này cho nó hay đi:
+ Có thể đếm được tất cả các loại text: Mtext, Dtext, Text.
+ Có dòng thông báo nhập chiều cao text trong bảng thống kế, nếu Enter thi dùng chiều cao chữ hiện hành.
+ Cuối cùng thì kẽ thành 1 bảng thống kê có dòng tổng số text.

Lisp này em sưu tầm trên mạng không biết của tác già nào nửa.



(defun c:tkt (/ lst msp pt ss str txtsiz)
(vl-load-com)
(setq msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) lst (list))
(prompt (strcat "\nChon Text de Liet ke hay ENTER de chon tat ca :"))
(if (null (setq ss (ssget(list (cons 0 "TEXT"))))) (setq ss (ssget "_X" (list(cons 410 (getvar "Ctab")) (cons 0 "TEXT")))))
(if ss
(progn
(foreach e (mapcar 'vlax-ename->vla-object(vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
(setq str (vla-get-TextString e))
(if (not (assoc str lst))
(setq lst (cons (cons str 1) lst))
(setq lst (subst (cons str (1+ (cdr (assoc str lst))))
(assoc str lst) lst)))
)
(setq lst (vl-sort lst '(lambda (x y) (< (cdr x) (cdr y))))

pt (getpoint "\nDiem dat Bang :" )
txtsiz (* (getvar "dimtxt")(getvar "dimscale")))
(foreach e lst
(vla-addtext msp (cdr e) (vlax-3d-point pt) txtsiz )
(vla-addtext msp (car e) (vlax-3d-point (polar pt 0 (* 5 txtsiz))) txtsiz ) ; khoang cach tu so thong ke toi text
(setq pt (polar pt (/ pi -2) (* 1.5 txtsiz))) ; khoang cach 2 dong text cua bang thong ke
)
)
(alert "Khong chon duoc Text.")
)
(princ))

  • 0

#7 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 02 March 2012 - 11:50 AM

Bài của bạn vi phạm gần hết các yêu cầu về post bài ở box Autolisp, bạn hãy đọc để sửa lại cho đúng nhé. Quy định dưới chữ ký của mình.
Lisp này của bác Gia_bach
  • 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


#8 vinhhien

vinhhien

    Chưa sử dụng CAD

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

Đã gửi 02 March 2012 - 01:51 PM

Xin lỗi vì vi phạm nội quy, minh mới post bài lần đầu nên chưa hiểu luật.
Mà em cũng tìm được lisp này trên diển đàn mình rồi. http://www.cadviet.c...showtopic=14684
Sau này e sẽ đọc kỹ hướng dẫn sử dụng trước khi dùng.
  • 0

#9 dmkdt199

dmkdt199

    biết zoom

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

Đã gửi 20 November 2012 - 03:27 PM

Vậy các bác có lisp nào như sau:
Trong nhiều vùng khép kín, ở mỗi vũng có “Text” và “số” , “Text” thì nằm không theo quy luật nào trong vùng khép kin đó cả, noi chung là năm bất kỳ trong vùng khép kín đó, nhưng “số” thì nằm tại tâm của vùng kín, vì đã có tâm điểm rồi,
Có lisp nào có thể đưa “Text” về “số” hay là tâm của vùng khép kin đó được không, cảm ơn các bác,
hoa

Công việc em ngày nào cũng phải nhặt thóc như thế này, lâu lắm

Hoặc gán “Text” và “số” ra file *.txt, hay *.csv cũng được. miên sao có định dạng
1 Text 10
2 Text 22
3 Text 34
4 Text 41
5 Text 57
……………….
……………….Hình đã gửi
  • 0