明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1589|回复: 5

求区域面积!!!

[复制链接]
发表于 2004-5-14 14:30:00 | 显示全部楼层 |阅读模式
是我编的小程序:谢谢指导!! (defun c:tt()
(setq a(getpoint"\n点区域"))
(command "boundary" a "" "Y")
(setq b(entlast))
(command "area" "O" b)
(setq c (getvar "AREA"))
(command "text" a 3 0 (rtos c))
(command "ERASE" b "")
)
发表于 2004-5-14 14:47:00 | 显示全部楼层
不错挺使用的
发表于 2004-5-14 18:57:00 | 显示全部楼层
region也能行吗??
发表于 2004-5-15 08:21:00 | 显示全部楼层
我在書上找到一個, 也是蠻不錯的哦. 給大火參考參考 呵呵 (defun c:lsp_45()
(setvar "cmdecho" 0)
(setq pt (getpoint "\n選取點:"))
(while pt
(setvar "cecolor" "1")
(command "bpoly" pt "")
(setq en (entlast))
(if en
(progn
(command "area" "o" en)
(setq aa (getvar "area"))
(redraw en 3)
(alert (strcat "面積=" (rtos aa 2)))))
(entdel en)
(setvar "cecolor" "bylayer")
(setq pt (getpoint "\n選取點:"))
)
(princ))
发表于 2004-5-15 23:07:00 | 显示全部楼层
我也编了一个,请指教: (defun c:area2 ()
(setvar "cmdecho" 0)
(command "_.undo" "be")
(setq pt (getpoint "\n面积自动计算并标注 VER 1.0---by Rokin!\n请点取要标注的范围内一点:"))
(command "-boundary" pt "")
(command "area" "o" (entlast))
(command "erase" (entlast) "")
(setq area (getvar "area"))
(command "style" "幼圆" "幼圆" "" "" "" "" "")
(command "text" "j" "c" pt "250" "0" (strcat (rtos (/ area 1000000) 2 3) "M"))
(princ (strcat "\n该范围的面积为A=" (rtos (/ area 1000000) 2 3) "M" (strcat "(" (rtos area 2 0) "mm)。") "\n***面积自动计算并标注--ver 1.0***(2004年2月 by Rokin)!\n"))
(command "_.undo" "e")
(setvar "cmdecho" 1)
(princ))
发表于 2004-5-16 00:26:00 | 显示全部楼层
BDYCAD发表于2004-5-15 8:21:00我在書上找到一個, 也是蠻不錯的哦.   給大火參考參考 呵呵(defun c:lsp_45()   (setvar \"cmdecho\" 0)   (setq pt (getpoint \"\n選取點:\"))   (wh...
有点bug,当点中实体或非封闭区域,后面就不正常了。修改一下:
  1. (defun c:aaa(/ oc occ enl pt en)
  2.    (mapcar 'set '(oc occ) (mapcar 'getvar '("cmdecho" "cecolor")))
  3.    (mapcar 'setvar '("cmdecho" "cecolor") '(0 "1"))
  4.    (setq enl (entlast))
  5.    (while (setq pt (getpoint "\n选点:"))
  6.        (if (and (vl-cmdf "bpoly" pt "")(not(equal enl (setq en (entlast)))))
  7.                (progn (command "area" "o" en)
  8.                              (alert (strcat "面积=" (rtos (getvar "area") 2)))
  9.                              (entdel en)
  10.                )
  11.        )
  12.    )
  13.    (mapcar 'setvar '("cmdecho" "cecolor") (list oc occ))
  14.    (princ)
  15. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-28 05:43 , Processed in 0.162302 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表