objectarx2023开发,调用move命令,跳过使用选取过程

1、需要平移pl线,根据创建的AcDbPolyline* pline = new AcDbPolyline()作为输入值,将pl指针表示的线段顶点坐标进行平移。

2、代码

		ads_name ss;
		acedSSAdd(NULL, NULL, ss);

		ads_name entres;
		acdbGetAdsName(entres, lineId);
		acedSSAdd(entres, ss, ss);

		AcGePoint2d pstart = pt[0];

		acedCommandS(RTSTR, _T("MOVE"), RTPICKS, ss, RTSTR, _T(""), RTPOINT, pstart, RTPOINT, pmove, RTNONE);

		acedSSFree(entres);
		acedSSFree(ss);

3、解析

使用acedSSAdd,创建一个空的选择集;

acdbGetAdsName函数,可根据对象ID来获取实体;

acedCommandS函数,用于调用CAD内置的命令,如move命令;

acedSSFree函数,释放选择集,否则会一直打开多个选择集。

4、注意

对象ID的获取,需线执行pl线添加到图形数据库中。如下代码:

pBlockTableRecord->appendAcDbEntity(lineId, pl);

通过appendAcDbEntity函数,将多段线添加,并返回对象的ID信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值