把刚添加到模型空间的实体选中的问题

把刚添加到模型空间的实体选中的问题

 

AcDbPolyline* pLine = new AcDbPolyline;

......

AcDbObjectId idPline = AddToCurrentSpace(pLine);

ads_name namepLine;

acdbGetAdsName(namepLine, idPline);

acedSSSetFirst(namepLine, NULL);

这样不行,是不是因为 namepLine 只是一个实体的名字,而不是选择集呢?

怎么转换为选择集呢?[hr]

选中实体的话,应该用acedSSGet而不是acedSSSetFirst

另外 pLine 在加入database之后需要close..

用 acedSSAdd 把新添的实体名字 添加到一个空的选择集中就行了。

令外,AddCommand 中的 第三个参数要是 ACRX_CMD_REDRAW | ACRX_CMD_USEPICKSET

AcDbObjectId idPline = AddToCurrentSpace(pLine);

ads_name namepLine, ssPline;

acdbGetAdsName(namepLine, idPline);

acedSSAdd(namepLine, NULL, ssPline);

ads_sssetfirst(ssPline, NULL);[hr]用acedEntSel函数,在你单击直线的时候就选中了它,然后你就可以根据获取的ads_name为所欲为了。

posted @ 2020-03-19 13:22  unicornsir  阅读(106)  评论(0)    收藏  举报