Chuyển đến nội dung
Diễn đàn CADViet
thimathi

cho em xin lisp đếm text

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

Lỗi do format file không xuống dòng.

conghoa dùng Lisp cũng có "thâm niên" rồi, ráng vận động 1 chút , đưa code vào VLIDE "nhấn 2 cái enter" là chạy được.

Cảm ơn gia_bach chỉ giáo, nói về "thâm niên" thì conghoa cũng chỉ biết dùng thôi chứ ít khi để ý đến code vì nói thật là khả năng tư duy không "ngon" lắm, cũng cố học code mấy lần ko được nên đành biết thân biết phận chỉ biết dùng 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

Lỗi do format file không xuống dòng.

conghoa dùng Lisp cũng có "thâm niên" rồi, ráng vận động 1 chút , đưa code vào VLIDE "nhấn 2 cái enter" là chạy được.

Lisp hay quá mà down về làm như bác nói mà không được, mình gà mờ, mong giúp đỡ

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

Lisp hay quá mà down về làm như bác nói mà không được, mình gà mờ, mong giúp đỡ

Gạo nấu thành cơm rồi, chỉ việc xới ra chén mà làm không được ???

Mà dùng không được, sao biết là hay ??? 

 

Dĩ nhiên không phải bấm ở đâu cũng được. Tham khảo hình 

15454_tkt.png

  • Vote tăng 2

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

Thanks bác nhiều nhé, hehe, thông cảm, do lần đầu tiên biết lệnh VLIDE!!

Anh ơi, em không biết gì về lisp cả nhưng em cần lisp này lắm anh biết sai chỗ nào không? anh sửa lại gửi cho em xin được không. EM cám ơn anh và mấy bác trong diễn đàn nhiều ah, vì qua diễn đàn giúp ích em rất nhiều. Em Thanks các bác nhiều ah.

  • Vote giảm 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

Đúng rồi, 2 dòng bạn phát hiện chưa hoàn chỉnh.

Update :

(defun c:tkt (/ lst msp pt ss str txtsiz)  (vl-load-com)    (if (setq ss (ssget(list (cons 0 "TEXT"))))    (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"))	    msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))      (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 )	(setq pt (polar pt (/ pi -2) (* 1.5 txtsiz)))	)      )    (alert "Khong chon duoc Text.")    )  (princ))

Bạn gia_bach có thể sửa sao cho lsp chạy được trong môi trường làm việc model và layout luôn giúp mình với

Lsp này chỉ chạy được trong môi trường làm việc model mà thôi, có những lúc mình cần thống kê bên môi trường làm việc layout. Thanks bạ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

Thử cái này xem:

(defun c:tkt  (/ lst msp pt ss str txtsiz-0 txtsiz doc)

  (vl-load-com)

  (if (setq ss (ssget (list (cons 0 "TEXT"))))

    (progn (foreach e  (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))

             (setq str      (vla-get-TextString e)

                   txtsiz-0 (vla-get-height 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))))

           (or (setq txtsiz (getreal (strcat "\nChieu cao Text trong bang thong ke <" (rtos txtsiz-0 2 2) ">: ")))

               (setq txtsiz txtsiz-0))

           (setq lst (vl-sort lst '(lambda (x y) (< (cdr x) (cdr y))))

                 pt  (getpoint "\nDiem dat Bang :")

                 doc (vla-get-ActiveDocument (vlax-get-Acad-Object))

                 msp (if (zerop (vla-get-activespace doc))

                       (if (= (vla-get-mspace doc) :vlax-true)

                         (vla-get-modelspace doc)

                         (vla-get-paperspace doc))

                       (vla-get-modelspace doc)))

           (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)

             (setq pt (polar pt (/ pi -2) (* 1.5 txtsiz)))))

    (alert "Khong chon duoc Text."))

  (princ))​

  • 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

Thử cái này xem:

(defun c:tkt  (/ lst msp pt ss str txtsiz-0 txtsiz doc)

  (vl-load-com)

  (if (setq ss (ssget (list (cons 0 "TEXT"))))

    (progn (foreach e  (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))

             (setq str      (vla-get-TextString e)

                   txtsiz-0 (vla-get-height 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))))

           (or (setq txtsiz (getreal (strcat "\nChieu cao Text trong bang thong ke <" (rtos txtsiz-0 2 2) ">: ")))

               (setq txtsiz txtsiz-0))

           (setq lst (vl-sort lst '(lambda (x y) (< (cdr x) (cdr y))))

                 pt  (getpoint "\nDiem dat Bang :")

                 doc (vla-get-ActiveDocument (vlax-get-Acad-Object))

                 msp (if (zerop (vla-get-activespace doc))

                       (if (= (vla-get-mspace doc) :vlax-true)

                         (vla-get-modelspace doc)

                         (vla-get-paperspace doc))

                       (vla-get-modelspace doc)))

           (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)

             (setq pt (polar pt (/ pi -2) (* 1.5 txtsiz)))))

    (alert "Khong chon duoc Text."))

  (princ))​

Lsp này ok rồi. thanks bạn quocmanh04tt nhiều lắ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

 Mình đang dùng lệnh để tính những đối tượng text, mtext có tên trùng nhau nhưng không được.

Mình có khoanh vùng lại đếm. 

Nhờ mọi người giúp giùm mình. Mình có đính kèm bản vẽ 

Thank nhiều.

Mình ở đà nẵng. Hân hạnh được giao lưu mọi người.http://www.cadviet.com/upfiles/5/147469_dinh_vi_thiet_bi_tang.dwg

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 đang dùng lệnh để tính những đối tượng text, mtext có tên trùng nhau nhưng không được.

Mình có khoanh vùng lại đếm. 

Nhờ mọi người giúp giùm mình. Mình có đính kèm bản vẽ 

Thank nhiều.

Mình ở đà nẵng. Hân hạnh được giao lưu mọi người.http://www.cadviet.com/upfiles/5/147469_dinh_vi_thiet_bi_tang.dwg

Đơn giản thôi mà . Nhưng mình đang tự hỏi 5x3 có bằng 5+5+5 không? :wub: Tại sao?  :wub: 

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 đang dùng lệnh để tính những đối tượng text, mtext có tên trùng nhau nhưng không được.

Mình có khoanh vùng lại đếm. 

Nhờ mọi người giúp giùm mình. Mình có đính kèm bản vẽ 

Thank nhiều.

Mình ở đà nẵng. Hân hạnh được giao lưu mọi người.http://www.cadviet.com/upfiles/5/147469_dinh_vi_thiet_bi_tang.dwg

Có lẻ bạn chỉ thích xin cho :( ... Haiza...... đúng là bản chất của đa số công chức VN -_-

http://www.cadviet.com/upfiles/5/127397_dinh_vi_thiet_bi_tang.dwg

  • 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

Có lẻ bạn chỉ thích xin cho :( ... Haiza...... đúng là bản chất của đa số công chức VN -_-

http://www.cadviet.com/upfiles/5/127397_dinh_vi_thiet_bi_tang.dwg

Có lẻ bạn giỏi trong lĩnh vực này . Nhưng khi nghe bạn nói như zậy, tôi nghĩ bạn không đủ tư cách để nói chuyện với tôi. Tôi không giỏi nên tôi mới hỏi. Còn nếu bạn không giúp thì có cần thiết phải nói như zậy không. 

  • Vote giảm 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 down về rồi dùng lệnh tkt của bác gia bạch không dùng được,hay tại phiên bản autocad 2014 không dùng được 

 

bạn phải chuyển cad 2014 3d sang autocad classic thì mới dùng đượ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

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


×