明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1629|回复: 2

[基础] [求助][原创]lisp中在调用command时如何得到文本窗口输出的信息

[复制链接]
发表于 2010-8-15 13:07:00 | 显示全部楼层 |阅读模式
请教一个问题:lisp中在调用command时如何得到文本窗口输出的信息
因为REGION面域没有面积属性,但可以用AutoCAD的area查询到,但如何在程序中得到呢?


命令setq YY (ssget '((0 . "REGION"))))
命令setq ZZ (ssname YY 0))
命令: (setq aa (command "area" "o" zz))
area
指定第一个角点或 [对象(O)/加(A)/减(S)]: o
选择对象:
面积 = 12.572,周长 = 17.141
命令: nil
命令: !aa
nil
以上,如何在程序中得到面积和周长的值?
发表于 2010-8-15 15:18:00 | 显示全部楼层
(defun c:test()
  (setq entname (car (entsel "\n选择物体")))
  (setq obj (vlax-ename->vla-object entname))
  (print  "面积为")
  (princ (vla-get-Area Obj))
  (print  "长度为")
  (princ (vla-get-Perimeter  obj))
  (princ)
)
发表于 2010-8-16 20:20:00 | 显示全部楼层

(setq YY (ssget '((0 . "REGION"))))
(setq ZZ (ssname YY 0))
(setq aa (command "area" "o" zz))
(princ "\n面积=")
(princ (getvar "AREA"))
(princ "\n周长=")
(princ (getvar "PERIMETER"))

 

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

本版积分规则

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

GMT+8, 2024-10-2 08:32 , Processed in 0.169647 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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