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

Nhờ Viết Lisp Cộng Các Số Trong Text (Hoặc Mtext) Và Output Sang Một Mtext Khác

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

Bạn thử cái này xem:

(defun c:congtext ()
  (setq object (ssget '((0 . "*TEXT")))
        number 0)
    (if object
    (progn
      (repeat (sslength object)
        (setq ent (entget (ssname object 0)))
        (setq txt (cdr (assoc 1 ent)))
        
       (setq val (get-numeric-value txt))
        
        (setq number (+ number val))
        (ssdel (ssname object 0) object)
      )
      (setq sstext_ent (car (entsel "\nChon Text hoac MText thay ket qua: ")))
      (if sstext_ent
        (progn
          (setq ent_data (entget sstext_ent))
          (setq ent_data (subst (cons 1 (rtos number 2 2)) (assoc 1 ent_data) ent_data))
          (entmod ent_data)
        )
      )
    )
  )
  (princ (strcat "\nTong cong la: " (rtos number 2 2)))
  (princ)
)

(defun get-numeric-value (str / pos1 pos2 clean-str)
  (cond
    ((and (setq pos1 (vl-string-search ";" str))
          (setq pos2 (vl-string-search "}" str pos1)))
     (atof (substr str (+ pos1 2) (- pos2 pos1 1)))
    )
    (t (atof str))
  )
)

  • 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

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  

×