Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
2 replies to this topic

#1 ruhungvang

ruhungvang

    biết pan

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

Đã gửi 26 March 2015 - 02:59 PM

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

  • 0

#2 minhtu2004

minhtu2004

    biết lệnh chamfer

  • Members
  • PipPipPipPip
  • 219 Bài viết
Điểm đánh giá: 34 (tàm tạm)

Đã gửi 26 March 2015 - 03:53 PM

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

  • 0

-Nhận thực hiện bản vẽ 3D bằng revit.
-Liên hệ: 01664793290.


#3 ruhungvang

ruhungvang

    biết pan

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

Đã gửi 26 March 2015 - 04:04 PM

Cảm ơn bạn nhiều nhé


  • 0