只需一步,快速开始
我是个初学者,问题可能太弱了,还望高手、大虾们耐心指教。
我的问题是,想获得图形中单独图形的属性,并且输出到一个文本文件中,比如,有图形中两个圆,鼠标选取后,我想得到它们的圆心坐标和半径,输出到文本文件中,得到如下参数:
圆1的半径为“...”,圆1的x坐标为“...”,y坐标为“...”
圆2的半径为“...”,圆2的x坐标为“...”,y坐标为“...”
使用道具 举报
简单,但是需要注意的是,你的圆1、圆2是电脑自己定义的还是你自己指定的,否则有些麻烦,可能要涉及到排序。你可以先看看别人的程序。就某一单个对象来说返回列表信息如下:
(entget(nth 0 (entsel)))
圆是随便在电脑上画的两个圆,先不用排序,也可能是有好多圆,只选择了其中的两个,然后返回值。
那里有类试的程序啊?多谢大侠,顺便给个autolisp的讨论群吧。
因为有时间,信手写了一个,仅作参考!
(defun c:test() (princ"\n请选择图元:") (setq ss (ssget '((0 . "Circle"))) filename "data.txt" fn (open (strcat "d:\\" filename) "w") index 0 ) (write-line "Circle's data-radius and x,y coordinate" fn) (while (< index (SSLENGTH ss)) (setq cirobj (vlax-ename->vla-object (ssname ss index)) cenpt (vlax-safearray->list (vlax-variant-value (vla-get-center cirobj))) ) (write-line (strcat "圆" (itoa (1+ index)) "的半径为:" (vl-princ-to-string (vla-get-radius cirobj)) "," "圆" (itoa (1+ index)) "的X坐标为:" (vl-princ-to-string (car cenpt)) "," "Y坐标为:" (vl-princ-to-string (cadr cenpt)) "." ) fn ) (setq index (1+ index)) ) (close fn) )
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2025-6-21 04:15 , Processed in 0.158307 second(s), 25 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.