Gregg Bell 发表于 2022-7-5 22:48:24

以英亩为单位列出面积?

大家好,
 
有人知道如何列出多段线的面积或按点列出,并以英亩为单位显示输出吗?
 
谢谢
格雷格

alanjt 发表于 2022-7-5 22:59:27

我编写了一个非常简单的LISP:
 
(defun c:TA (/ ss)
;; Total Area of Selected Polylines
;; Alan J. Thompson, 03.15.10 / 11.24.10
(vl-load-com)
(if (setq ss (ssget '((0 . "*POLYLINE"))))
   ((lambda (area leng)
      (vlax-for x (setq ss (vla-get-activeselectionset
                           (cond (*AcadDoc*)
                                 ((setq *AcadDoc* (vla-get-activedocument
                                                      (vlax-get-acad-object)
                                                    )
                                    )
                                 )
                           )
                           )
                  )
      (setq area (+ area (vla-get-area x))
            leng (+ leng (vla-get-length x))
      )
      )
      (vla-delete ss)
      (textscr)
      (princ (strcat "\nTotal area:\n-----------------\n"
                     (rtos area 2 2)
                     " SF\n"
                     (rtos (/ area 9.) 2 2)
                     " SY\n"
                     (rtos (/ area 43560.) 2 2)
                     " AC.±\n"
                     (rtos leng 2 2)
                     " LF"
             )
      )
    )
   0.
   0.
   )
)
(princ)
)

Gregg Bell 发表于 2022-7-5 23:06:21

谢谢你的Lisp程序程序,我喜欢它。有没有办法在平方英尺的面积(43560平方英尺=43560平方英尺)中加逗号?我不熟悉创建或编辑lisp例程,所以我不知道这有多难,或者我应该对我拥有的感到满意吗?
 
再次感谢,
格雷格

AFitchguy07 发表于 2022-7-5 23:07:10

你会如何更精确地解释这个?

alanjt 发表于 2022-7-5 23:13:12

 
更改每个rtos函数中的第二个值。
 
例如(实时操作系统)
例如(rtos 2 3)

AFitchguy07 发表于 2022-7-5 23:18:32

美丽的谢谢你的回复。

alanjt 发表于 2022-7-5 23:29:05

 
没问题。不客气。

lsucasey1 发表于 2022-7-5 23:30:51

使用此lisp的命令是什么?提前感谢!

Spaj 发表于 2022-7-5 23:40:09

 
TA>(定义c:TA(/ss)

RobDraw 发表于 2022-7-5 23:44:41

(定义c:TA)
 
这说明命令是TA。
页: [1] 2
查看完整版本: 以英亩为单位列出面积?