找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1007|回复: 3

[求助] [求助]:有谁有空帮我完善一个房间标注小程序

[复制链接]
发表于 2007-3-28 10:48:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
有没有哪位有空帮我完善一个房间标注的小程序:

这个程序的想法是这样子的,对一个封闭的房间,自动生成内边界线,然后对这个边界线调用AREA命令,对其中返回的面积和周长自动使用A=123.23M2 P=13.12M 的格式在房间的中心位置上下两层标注,然后再删除掉前面生成的边界线。

这个是我现在完成的一部分。因为对这个东西不熟,特别是函数不知道,所以想请高人帮忙完善一下。 

(DEFUN C:dda(/ bs aa per)
  (
   (setvar "cmdecho" 1 )

   (princ  "点取房间多义线:")
   (setq bs (ssget))
   (princ "")
   (command "area" "o" bs)
   
   (setq aa (getvar "area"))
   (setq aa (/ aa 1000000.0))
   (setq aa (rtos aa 2 2))
   (setq aa (strcat "A=" aa))
   (setq aa (strcat aa "M2"))
   (princ "点取面积标注点:")
   (command "text" pause 300 0 aa)
   (princ "")

   (setq per (getvar "perimeter"))
   (setq per (/ per 1000.0))
   (setq per (rtos per 2 2))
   (setq per (strcat "P=" per))
   (setq per (strcat per "M"))
   (princ "点取周长标注点:")
   (command "text" pause "" 0 per)

   (princ "")
  )
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 58个

财富等级: 招财进宝

发表于 2007-4-2 14:05:02 | 显示全部楼层
(defun c:dda (/ pt en area perimeter aa bb)
    (setq pt (getpoint "\n请选择房间内的一点:"))
    (command ".bpoly" pt "")
    (setq en (entlast))
    (setq area (* (vlax-curve-getArea en) 1e-6))
    (setq perimeter
             (*
                 (vlax-curve-getdistatparam
                     en
                     (vlax-curve-getendparam en)
                 )
                 1e-3
             )
    )
    (entdel en)
    (setq aa (strcat
                 "A="
                 (rtos area 2 2)
                 "M2"
             )
    )
    (setq bb (strcat
                 "P="
                 (rtos perimeter 2 2)
                 "M"
             )
    )
(command ".text" .....)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-15 17:59:42 | 显示全部楼层
谢谢。。虽然我才刚开始学Lisp,看不懂你的函数,但是还是要谢谢你。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-8-26 12:25:53 | 显示全部楼层
怎么运行不了啊,提示error: misplaced dot on input
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-25 08:26 , Processed in 0.201847 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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