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

Cần lisp đánh số thứ tự tịnh tiến cho text trong CAD

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

Dear anh chị trong nhóm, hiện tại em đang hoàn công khối lượng và đã có lisp đánh số thứ tự tịnh tiến cho DIM. Nhưng hiện tại cần thêm lisp đánh số thứ tự tịnh tiến cho text. 

Ko biết nhóm mình có lisp nào đánh số thứ tự tịnh tiến được ko ạ?

Em xin chân thành cảm ơn

1.jpg

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

Dear anh chị trong nhóm, hiện tại em đang hoàn công khối lượng và đã có lisp đánh số thứ tự tịnh tiến cho DIM. Nhưng hiện tại cần thêm lisp đánh số thứ tự tịnh tiến cho text. 

Ko biết nhóm mình có lisp nào đánh số thứ tự tịnh tiến được ko ạ?

Em xin chân thành cảm ơn

Yêu cầu của bạn RẤT KHÔNG RÕ RÀNG.
Bạn hãy giải thích khái niệm "đánh số thứ tự tịnh tiến cho text" là gì?
Viết kiểu đó chỉ một mình bạn hiểu thôi.

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

Yêu cầu của bạn RẤT KHÔNG RÕ RÀNG.
Bạn hãy giải thích khái niệm "đánh số thứ tự tịnh tiến cho text" là gì?
Viết kiểu đó chỉ một mình bạn hiểu thôi.

 

E xin lỗi mọi người vì chưa mô tả kỹ vấn đề.

E xin mô tả bằng hình ảnh.

Lisp TE hiện tại chỉ sử dụng được với DIM và ko sử dụng được với text.

Em muốn nhờ mn hỗ trợ cải tạo nâng cấp cái lisp TE này dùng được với cả text ạ. Em cảm ơn anh chị nhiều.

3.jpg

test (danh so dim).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
Vào lúc 12/7/2023 tại 09:07, Doan Van Ha đã nói:

Yêu cầu của bạn RẤT KHÔNG RÕ RÀNG.
Bạn hãy giải thích khái niệm "đánh số thứ tự tịnh tiến cho text" là gì?
Viết kiểu đó chỉ một mình bạn hiểu thôi.

Bác Doan Van Ha ơi bac có thể chỉnh sửa giúp em đoạn Lisp sau không ạ.

Đây là đoạn Lisp thống kê text. Hiện giờ em muốn chỉnh thành liệt kê những text thành cột theo thứ tự đã chọn kể cả những text trùng giá trị. Mong bác phản hồi ạ 

 

 

(defun c:tkt1(/ ent h height i len0 lst msp pt row ss str str0 str_len tblobj width0 width1); thong ke text
;;  By : Gia Bach, Copyrightゥ December 2010                    ;;
;;  Contact : gia_bach @  www.CadViet.com                      ;;
 (defun TxtWidth (val msp / txt minp maxp)
   (vla-getBoundingBox (setq txt (vla-AddText msp val (vlax-3d-point '(0 0 0)) 1)) 'minp 'maxp)
   (vla-Erase txt)
   (-(car(vlax-safearray->list maxp))(car(vlax-safearray->list minp)))  )
 ;main
 (if (> (atof (substr (getvar "ACADVER") 1 4)) 16.0)
   (progn
     (vl-load-com)
     (princ "\nChon cac Text de thong ke :")
     (if (setq ss (ssget(list (cons 0 "TEXT"))))
(progn
  (setq i -1 len0 8)
  (while (setq ent (ssname ss (setq i (1+ i))))
    (setq str(cdr(assoc 1 (entget ent ))))
    (if (> (setq str_len (strlen str)) len0)
      (setq str0 str len0 str_len) )
    (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) (< (car x) (car y))))
    msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))
  (or *h* (setq *h* 175))
  (initget 6)
  (setq h (getreal (strcat "\nChieu cao chu <" (rtos *h*) "> :")))
  (if h (setq *h* h) (setq h *h*) )
  (setq width0 (* 3 h(TxtWidth "STT" msp))
    height (* 2 h))
  (if str0
    (setq width1 (* 1.2 h(TxtWidth (strcase str0) msp)))
    (setq width1 (* 2 h(TxtWidth "Gia tri" msp))))
  (if (> h 3)
    (setq width0 (* (fix (/ width0 10))10)
      width1 (* (fix (/ width1 10))10)
      height (* (fix (/ height 5))5)))
  (setq pt (getpoint "\nDiem dat Bang :")
    TblObj (vla-addtable msp (vlax-3d-point pt) (+ (length lst) 2) 3 height width1))
  (vla-put-regeneratetablesuppressed TblObj :vlax-true)
  (vla-put-vertcellmargin TblObj (* 0.25 h))
  (vla-put-horzcellmargin TblObj (* 0.75 h))
  (vla-SetColumnWidth TblObj 0 width0)
  (vla-SetColumnWidth TblObj 2 (* 2 h(TxtWidth "So luong" msp)))
  (mapcar '(lambda (x)(vla-setTextHeight TblObj x h))
      (list acTitleRow acHeaderRow acDataRow) )
  (mapcar '(lambda (x)(vla-setAlignment TblObj x 8))
      (list acTitleRow acHeaderRow acDataRow))
  (vl-catch-all-error-p (vl-catch-all-apply (function(lambda () (vla-MergeCells TblObj 0 0 0 2)) )))
  (vla-setText TblObj 0 0 "Bang thong ke")
  (vla-setText TblObj 1 0 "STT")
  (vla-setText TblObj 1 1 "Gia tri")
  (vla-setText TblObj 1 2 "So luong")
  (setq i 1 row 2 )
  (foreach e lst
    (vla-setText TblObj row 0 (itoa i))
    (vla-setText TblObj row 1 (car e))
    (vla-setText TblObj row 2 (cdr e))
    (vla-SetCellAlignment TblObj row 1 7)
    (vla-SetCellAlignment TblObj row 2 9)
    (setq row (1+ row) i (1+ i))    )
  (vla-put-regeneratetablesuppressed TblObj :vlax-false)
  (vlax-release-object TblObj)      )
(alert "Khong chon duoc Text.")    )
     (princ)  )
   (alert "\nPhien ban Cad cua ban khong ho tro tao Bang (TABLE)")   )  )

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  

×