Đến nội dung


Hình ảnh

Ai chỉnh giúp mình đoạn lisp trừ 2 số trong aucad này với.


  • Please log in to reply
2 replies to this topic

#1 vinhxtkt01

vinhxtkt01

    biết pan

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

Đã gửi 01 March 2014 - 12:31 AM

Mình vừa tìm kiếm được trên diễn đàn đoạn lisp trừ 2 số trong aucad rất hay:

;; free lisp from cadviet.com
;;; this lisp was downloaded from http://www.cadviet.c...-lisp-tru-2-so/
(defun c:-()
  (vl-load-com)  
     (setq sbt (car (entsel "\nChon so bi tru:"))
           st (car (entsel "\nChon so tru:\n"))
           kq (- (atof (cdr (assoc 1 (entget sbt))))
             (atof (cdr (assoc 1 (entget st))))))      
     (princ kq)
  (setq obj (vlax-ename->vla-object (car (entsel "\nChon text ghi ket qua:"))))
  (vla-put-TextString obj (rtos kq 2 2))  
  (princ))

 

Anh em ai biết giúp mình chỉnh lại đoạn lisp trong trường hợp khi ta Trừ 2 số cho ra kết quả dương (+) tức là sẽ có thêm dấu (+) ở phía trước.

VD: 3 - 1 = +2

Mình hay làm san ủi mặt bằng nên rất cần đánh dấu (+); (-) khi tính toán cao độ thiết kế mắt lưới.

Chân thành cảm ơn !


  • -1

#2 trumlenmang

trumlenmang

    biết lệnh trim

  • Members
  • PipPipPip
  • 193 Bài viết
Điểm đánh giá: 29 (tàm tạm)

Đã gửi 01 March 2014 - 08:11 AM

Mình mới tập tành lisp, không biết vầy có đúng ý bạn không?

http://www.cadviet.c...111_lenh__2.lsp

(defun c:-()
  (vl-load-com)  
     (setq sbt (car (entsel "\nChon so bi tru:"))
           st (car (entsel "\nChon so tru:\n"))
           kq (- (atof (cdr (assoc 1 (entget sbt))))
             (atof (cdr (assoc 1 (entget st))))))      
     (princ kq)
  (setq obj (vlax-ename->vla-object (car (entsel "\nChon text ghi ket qua:"))))
(if (>= kq 0)
  (vla-put-TextString obj (strcat "+" (rtos kq 2 2)))
  (vla-put-TextString obj (rtos kq 2 2)))
  (princ))
(defun c:-()
  (vl-load-com)  
     (setq sbt (car (entsel "\nChon so bi tru:"))
           st (car (entsel "\nChon so tru:\n"))
           kq (- (atof (cdr (assoc 1 (entget sbt))))
             (atof (cdr (assoc 1 (entget st))))))      
     (princ kq)
  (setq obj (vlax-ename->vla-object (car (entsel "\nChon text ghi ket qua:"))))
(if (>= kq 0)
  (vla-put-TextString obj (strcat "+" (rtos kq 2 2)))
  (vla-put-TextString obj (rtos kq 2 2)))
  (princ))

  • 0

#3 vinhxtkt01

vinhxtkt01

    biết pan

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

Đã gửi 01 March 2014 - 08:51 AM

Thanhks bạn trumlenmang nhiều, mình dùng thử và thấy ra kết quả (+) như theo ý.

Cảm ơn Cadviet có trang web hay :wub: 


  • 0