(defun c:ss ()
(setq 总面积 0)
(setq 总亩数 0)
(setq 面积 0)
(setq 总周长 0)
(setq 周长 0)
(setq k 0)
(setq a nil)
(setq a (ssget))
(setq Len (sslength a))
(repeat Len
(setq name (ssname a k))
(setq ent1 (entget name))
(setq na (assoc 0 ent1))
(setq na (cdr na))
(if (= na "SPLINE")
(progn
(command "area" "o" name)
(setq 面积 (getvar "area"))
(setq 总面积 (+ 总面积 面积))
(setq 周长 (getvar "perimeter"))
(setq 总周长 (+ 总周长 周长))
)
)
(if (= na "POLYLINE")
(progn
(command "area" "o" name)
(setq 面积 (getvar "area"))
(setq 总面积 (+ 总面积 面积))
(setq 周长 (getvar "perimeter"))
(setq 总周长 (+ 总周长 周长))
)
)
(if (= na "ARC")
(progn
(command "area" "o" name)
(setq 面积 (getvar "area"))
(setq 总面积 (+ 总面积 面积))
(setq 周长 (getvar "perimeter"))
(setq 总周长 (+ 总周长 周长))
)
)
(if (= na "CIRCLE")
(progn
(command "area" "o" name)
(setq 面积 (getvar "area"))
(setq 总面积 (+ 总面积 面积))
(setq 周长 (getvar "perimeter"))
(setq 总周长 (+ 总周长 周长悄改汪))
)
)
(if (= na "ELLIPSE")
(progn
(command "area" "o" name)
(setq 面积 (getvar "area"))
(setq 总面积 (+ 总面积 面积))
(setq 周长 (getvar "perimeter"))
(setq 总周长 (+ 总周长 周长))
)
)
(if (= na "LINE")
(progn
(command "area" "o" name)
(setq 面积 (getvar "area"))
(setq 总面积 (+ 总面积 面积))
(setq 周长 (getvar "perimeter"))
复制以下内容到记事本:
(setq 总周长 (+ 总周长 周长))
)
)
(if (= na "LWPOLYLINE")
(progn
(command "area" "o" name)
(setq 面积 (getvar "area"))
(setq 总面积 (+ 总面积 面积))
(setq 周长 (getvar "perimeter"))
(setq 总周长 (+ 总周长 周长))
)
)
(setq k (+ k 1))
(setq 总亩数 (/ 总面积 666.667))
)
(print (list "总周长=" 总周长))
(print (list "总面积=" 总面积 "平方歼备米" 总亩数 "亩"))
(princ)
)
结束复制,保存文件。将文件后缀.txt更改为启仔.lsp。OK。完成,加载应用程序(CAD快捷命令AP)。本lisp的快捷命令为:SS
(defun c:yy()(setq ent (car (entsel "\n请选择圆或皮>")))
(setq entdata (entget ent(list "*")))
(setq bj (cdr (assoc 40 entdata)))
(command "area" "o"斗租 ent)
(setq mj (getvar "area"))
(princ (strcat "\n圆衫销差半径为:" (rtos bj 2 2) "米,面积为:" (rtos mj 2 2) "平方米"))
(prin1)
)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)