明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1290|回复: 4

[求助]:[0306]怎样使选集中的物件座标形成串列?

[复制链接]
发表于 2006-3-6 18:04 | 显示全部楼层 |阅读模式

[求助]:[0306]怎样使选集中的物件座标形成串列?

请问我想使用"SSGET"形成的选集,
将其中的座标取出,
并形成串列值.
如: ((x1 y1) (x2 y2) (x3 y3) (x4 y4))
烦请各位高手帮忙解答,谢谢~

发表于 2006-3-6 18:11 | 显示全部楼层

用ssname ,entget函数

发表于 2006-3-6 21:42 | 显示全部楼层
就这样可以做到吗?
发表于 2006-3-6 21:52 | 显示全部楼层
  1. (defun c:test (/ ss lst i obj p1 p2 )
  2.   (if (setq ss (ssget))
  3.     (progn
  4.       (setq lst '()
  5.      i 0
  6.       )
  7.       (repeat (sslength ss)
  8. (setq obj (vlax-ename->vla-object (ssname ss i)))
  9. (setq p1 (vlax-curve-getStartPoint obj)
  10.        p2 (vlax-curve-getendpoint obj)
  11. )
  12. (setq lst (append (list p1 p2) lst))
  13. (setq i (1+ i))
  14.       )
  15.     )
  16.   )
  17.   (princ lst)
  18.   (princ)
  19. )

发表于 2006-3-7 10:23 | 显示全部楼层


如果选取对象为图块的属性标籤座标,
是否为这样呢?
但"point"点标记为何重迭呢?

(setq ss (ssget))
(setq i 0)
(setq ent (ssname ss i))
(repeat (sslength ss)
(setq endata (entget ent))
(setq atten (entnext ent))
(setq attendata (entget atten))
(setq attlabel:10 (cdr (assoc 10 attendata)))
(command "_.point" attlabel:10)
(setq lst (append (list attlabel:10 ) lst))
(setq i (1+ i))
)
(princ lst)
(princ)

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

本版积分规则

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

GMT+8, 2024-5-17 17:29 , Processed in 0.217425 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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