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

[ Nhờ sửa lisp ] Tính tổng chiều dài một đối tượng

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

Em  có một lisp tính tổng chiều dài một đối lượng sau đó thay thế text chiều dài đó vào một đối tượng khác
Em muốn nhờ các bác sửa cho em một tí lisp này để bớt một bước

- Trong lisp này khi chọn đối tượng cần đo chiều dài xong nó có 2 yêu cầu 
" Ghi text mới <G> hay thay thế text <T> "
Em muốn bỏ bước này em muốn chọn thay thế luôn

- Em muốn sửa điều thứ 2 là : khi thay Text xong em muốn đổi màu text đó sang màu xanh luôn để phân bệt đc với các text giá trị khác

Em rất cảm ơn các bác

lisp đây ạ

(prompt "\nDe tinh chieu dai danh : dai")
(defun c:dai()
 (setvar "cmdecho" 0)
 (setq tong 0)
 (setq th (ssget))
 (setq index 0)
 (setq dtuong (sslength th))
 (while (< index dtuong)
  (setq ds (entget (ssname th index)))
     (command "lengthen" (ssname th index) "")
     (setq tong (+ tong (getvar "perimeter")))   
 (setq index (1+ index))
 )
 (print tong)
(prompt "Ghi text moi <G> hay thay the text (T) :")
(setq luachon (getstring))
(setq luachon (strcase luachon))
(if (= "" luachon) (setq luachon "G"))
(if (= "G" luachon)
 (progn
   (setq tong (rtos tong))
   (setq pt1 (getpoint))
   (setq h (/ (getvar "viewsize") 20))
   (command "text" pt1 h "" tong)
  )
 )
(if (= "T" luachon)
 (progn 
 (prompt "\n Chon gia tri can thay the")
 (SETQ TT (SSGET))
  (setq s (entget (SSNAME TT 0)))
  (setq otext (assoc 1 s))
  (setq ot (cdr otext))
  (setq ot (read (substr ot 1 )))
  (setq nt (cons 1 (rtos tong 2)))  
  (setq s (subst nt otext s))
  (entmod s)
 )
)
 
)

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ử đi bạn.

(defun c:dai(/ tong th index dtuong ds TT s otext ot nt)
 (setvar "cmdecho" 0)
 (setq tong 0)
 (setq th (ssget))
 (setq index 0)
 (setq dtuong (sslength th))
 (while (< index dtuong)
  (setq ds (entget (ssname th index)))
     (command "lengthen" (ssname th index) "")
     (setq tong (+ tong (getvar "perimeter")))   
 (setq index (1+ index))
 )
 (prompt "\n Chon gia tri can thay the")
 (SETQ TT (SSGET))
  (setq s (entget (SSNAME TT 0)))
  (setq otext (assoc 1 s))
  (setq ot (cdr otext))
  (setq ot (read (substr ot 1 )))
  (setq nt (cons 1 (rtos tong 2)))  
  (setq s (subst nt otext s))
  (entmod s)
  (command "change" TT "" "P" "C" "T" "79,246,9" "" "")
  (princ)
 )

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  

×