明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4993|回复: 6

ARX中DXF组码在选择集中的应用

[复制链接]
发表于 2011-12-4 16:44:39 | 显示全部楼层 |阅读模式
本帖最后由 chpmould 于 2011-12-7 19:49 编辑

请各位高手在百忙中抽出一点时间帮写个如下LISP用法的例子
  (setq ss1(ssget (list(assoc 0 ss_dat1)(assoc 6 ss_dat1)(assoc 8 ss_dat1)(assoc 62 ss_dat1))))



发表于 2011-12-13 10:35:32 | 显示全部楼层
本帖最后由 highflybird 于 2011-12-13 10:40 编辑

  1. ads_name ename;
  2. ads_point ept;
  3. int ret = acedEntSel(_T("\n请选择一个实体:"),ename,ept);
  4. if (ret != RTNORM)
  5. {
  6.    return;
  7. }

  8. //获取图元信息
  9. struct resbuf  * pRb_ent = acdbEntGet(ename);
  10. while( pRb_ent->restype != 0)
  11.      pRb_ent = pRb_ent->rbnext;

  12. CString TypeName;
  13. TypeName.Format(pRb_ent->resval.rstring);
  14. ret = acutRelRb(pRb_ent);

  15. struct resbuf *filter;
  16. filter = acutBuildList(RTDXF0, TypeName.GetBuffer(),RTNONE);

  17. ads_name ss;
  18. ret = acedSSGet(NULL,NULL,NULL,filter,ss);
  19. if (ret != RTNORM)
  20. return;
  21. ret = acutRelRb(filter);
  22. ret = acedSSSetFirst(ss, ss);
  23. ret = acedSSFree(ss);

 楼主| 发表于 2011-12-13 19:17:18 | 显示全部楼层
非常感谢,这个我现在知道有两种方法:
第一种是利用acedEntGet来得到链表,在从链表中取得响应的值;
第二种是通过对象访问的方法dxfName(),来获取对象的各种属性
发表于 2013-8-13 21:09:40 | 显示全部楼层
支持下2楼
发表于 2014-5-29 15:40:09 | 显示全部楼层
好东西,必须顶一个,又学习了
发表于 2018-7-29 09:34:22 | 显示全部楼层
ssget的过滤表,是个什么“表”结构。
我想通过获取 现有变量,来组合成过滤表,因为过滤表中使用了逻辑运算,list为表时出现错误。
发表于 2019-10-15 23:01:03 来自手机 | 显示全部楼层
学到了,谢谢大神~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 05:27 , Processed in 0.148292 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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