01/01/2026

Lisp tính giá trị trung bình cộng của Text | Average numbers of selected texts | AutoLISP Reviewer

Ứng dụng được phát triển/Sưu tầm bởi đội ngũ AutoLISP Thật là đơn giản
   

Thông tin thêm: 👉👉👉

Lệnh AN

Tính Giá trị trung bình cộng của các Text dạng số được chọn.

Ghi kết quả bao gồm: Số lớn nhất/Số nhỏ nhất/Trung bình cộng ra dòng lệnh


1 Thêm class AN.lsp

Lưu mã sau dưới dạng tệp tin AN.lsp
Code:
;PROGRAM AverageNumbers.LSP
;Reports the Min, Max, and Average of a selection of Text objects
;that start with numeric characters
;v1.0 (11-21-03)
;v1.1 (09-02-05) added '(1 . "#*") to SS filter
(defun c:AverageNumbers ( / *error* cmdecho dimzin SS i N Num Nmin Nmax Total)
  (gc)
  (or *acad* (setq *acad* (vlax-get-acad-object)))
  (or *doc*  (setq *doc*  (vla-get-ActiveDocument *acad*)))
  (defun *error* (error)
    (if (= (type cmdecho) 'INT)(setvar "cmdecho" cmdecho))
    (if (= (type dimzin) 'INT)(setvar "dimzin" dimzin))
    (vla-endundomark *doc*)
    (cond
      ((not error))
      ((wcmatch (strcase error) "*QUIT*,*CANCEL*"))
      (1 (princ (strcat "\nERROR: " error)))
    )
    (princ)
  )
  (or *acad* (setq *acad* (vlax-get-acad-object)))
  (or *doc* (setq *doc* (vla-get-ActiveDocument *acad*)))
  (vla-endundomark *doc*)
  (vla-startundomark *doc*)
  (setq cmdecho (getvar "cmdecho"))
  (setq dimzin (getvar "dmzin"))

  (setvar "cmdecho" 0)
  (if (= dimzin 1)
    (setq dimzin nil)
    (setvar "dimzin" 1)
  )
  (command "_.setvar" "USERS1" (getvar "USERS1"))
  (and
    (setq ss (ssget '((0 . "TEXT")(1 . "#*,`-#*"))))
    (setq i 0 N 0 Total 0.0)
    (repeat (sslength ss)
      (if (setq Num (atof (cdr (assoc 1 (entget (ssname ss i))))))
        (progn
          (setq N (1+ N)
                Total (+ Total Num)
          )
          (if (or (not Nmin)(< Num Nmin))
            (setq Nmin Num)
          )
          (if (or (not Nmax)(> Num Nmax))
            (setq Nmax Num)
          )
        )
      )
      (setq i (1+ i))
    )
    (or
      Nmin
      (prompt "\nNo numeric text selected")
    )
    (princ
      (strcat
        "\n" (itoa N) " numbers:"
        "  Min=" (rtos Nmin 2 2)
        "  Max=" (rtos Nmax 2 2)
        "  Average=" (rtos (/ Total N) 2 2)
      )
    )
  )
  (*error* nil)
)
(defun C:AN ()(C:AverageNumbers))





Xem thêm:

Link tải (MediaFire)




---------------------------------------------------------------------------------------------
Ứng dụng được phát triển bởi đội ngũ AutoLISP Thật là đơn giản - Tác giả ứng dụng in D2P

    

Mọi thông tin xin liên hệ Fanpage AutoLISP Thật là đơn giản!
Cảm ơn bạn đã theo dõi!

Không có nhận xét nào:

Đăng nhận xét

Lisp tính giá trị trung bình cộng của Text | Average numbers of selected texts | AutoLISP Reviewer

Ứng dụng được phát triển/Sưu tầm bởi đội ngũ AutoLISP Thật là đơn giản     Thông tin thêm: 👉👉👉