- 积分
- 340
- 明经币
- 个
- 注册时间
- 2023-10-12
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
我有一个自定义实体,有一个实体成员是多段线,成员类型是AcDbObjectId m_pBasePolylineId,我希望自定义实体的夹点,以及夹点移动与基线保持一致。但是夹点拖动的结果不对。有没有大神帮忙指导一下
// 获取夹点
Acad::ErrorStatus RoadEntity::subGetGripPoints(AcGePoint3dArray & gripPoints,AcDbIntArray & osnapModes,AcDbIntArray & geomIds) const
{
assertReadEnabled();
// 绘制基线
AcDbEntity* basePl = nullptr;
if (acdbOpenObject(basePl, m_pBasePolylineId, AcDb::kForRead) == Acad::eOk) {
Acad::ErrorStatus es = basePl->getGripPoints(gripPoints, osnapModes, geomIds);
basePl->close();
return es;
}
return Acad::eNullObjectPointer;
}
// 移动夹点
Acad::ErrorStatus RoadEntity::subMoveGripPointsAt(const AcDbIntArray & indices,const AcGeVector3d & offset)
{
assertWriteEnabled();
// 绘制基线
AcDbEntity* basePl = nullptr;
if (acdbOpenObject(basePl, m_pBasePolylineId, AcDb::kForWrite) == Acad::eOk) {
Acad::ErrorStatus es = basePl->moveGripPointsAt(indices, offset);
basePl->close();
return es;
}
return Acad::eNullObjectPointer;
}
|
|