chpmould 发表于 2011-12-4 16:44:39

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

本帖最后由 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))))



highflybird 发表于 2011-12-13 10:35:32

本帖最后由 highflybird 于 2011-12-13 10:40 编辑



ads_name ename;
ads_point ept;
int ret = acedEntSel(_T("\n请选择一个实体:"),ename,ept);
if (ret != RTNORM)
{
   return;
}

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

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

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

ads_name ss;
ret = acedSSGet(NULL,NULL,NULL,filter,ss);
if (ret != RTNORM)
return;
ret = acutRelRb(filter);
ret = acedSSSetFirst(ss, ss);
ret = acedSSFree(ss);

chpmould 发表于 2011-12-13 19:17:18

非常感谢,这个我现在知道有两种方法:
第一种是利用acedEntGet来得到链表,在从链表中取得响应的值;
第二种是通过对象访问的方法dxfName(),来获取对象的各种属性

jyzas 发表于 2013-8-13 21:09:40

支持下2楼

sdaulj 发表于 2014-5-29 15:40:09

好东西,必须顶一个,又学习了

Helix.xu 发表于 2018-7-29 09:34:22

ssget的过滤表,是个什么“表”结构。
我想通过获取 现有变量,来组合成过滤表,因为过滤表中使用了逻辑运算,list为表时出现错误。

mocheng 发表于 2019-10-15 23:01:03

学到了,谢谢大神~~~
页: [1]
查看完整版本: ARX中DXF组码在选择集中的应用