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

làm tròn cộng dim

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

Mọi người cho em hỏi, em làm lisp cộng dim làm tròn 10 mà lisp làm tròn xuống còn cad thì làm tròn lên, Ví dụ 2557 cad làm tròn là 2560 còn khi dùng lisp cộng ra là 2550. Các bác biết cách nào khác phục không ạ

(defun c:ccd(/ gtt dt sdt ent id str)
  (setq dt (ssget '((0 . "DIMENSION")))
            sdt (sslength dt) id 0 gtt 0 str ""
    )
  (repeat sdt
        (setq ent (ssname dt id)
                id (1+ id)
                gtt (+ gtt (gt1 ent) )
                str (strcat str  (rtos (* (fix (+ (/ (gt1 ent) 10.0) 0.10)) 10) 2 0) "+")
       )
)
(lisped (setq str (substr str 1 (1- (strlen str)))))
  (princ str)
  (princ)
  )
;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun gt1(ent / so)
(if (wcmatch(cdr(assoc 1 (entget ent)))"")
   (setq so (cdr(assoc 42 (entget ent))))
   (setq so (atof(cdr(assoc 1 (entget ent)))))
   )
)

Screenshot 2024-10-05 172655.png

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
(defun c:ccd(/ gtt dt sdt ent id str)
  (setq dt (ssget '((0 . "DIMENSION")))
            sdt (sslength dt) id 0 gtt 0 str ""
    )
  (repeat sdt
        (setq ent (ssname dt id)
                id (1+ id)
                gtt (+ gtt (gt1 ent) )
                str (strcat str  (rtos (* (fix (+ (/ (gt1 ent) 10.0) 0.50)) 10) 2 0) "+")
       )
)
(lisped (setq str (substr str 1 (1- (strlen str)))))
  (princ str)
  (princ)
  )
;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun gt1(ent / so)
(if (wcmatch(cdr(assoc 1 (entget ent)))"")
   (setq so (cdr(assoc 42 (entget ent))))
   (setq so (atof(cdr(assoc 1 (entget ent)))))
   )
)

 

Thay 0.10 thành 0.50 nha

 

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  

×