OpenCascade版本迁移:AIS_DimensionOwner转PrsDim_DimensionOwner遇SetShape等效方法问题
OpenCascade 6.5.0 到7.6.0迁移:PrsDim_DimensionOwner替代AIS_DimensionOwner的SetShape等效方案
在OpenCascade 7.x版本中,AIS_DimensionOwner被弃用后,PrsDim_DimensionOwner仅负责尺寸的选择交互逻辑,不再承担存储关联几何形状的职责。原SetShape的功能已转移到PrsDim_Dimension的子类(如长度、角度、半径等尺寸对象)中实现,具体操作步骤如下:
- 确定需要创建的尺寸类型,实例化对应的
PrsDim_XXXDimension类(例如PrsDim_LengthDimension、PrsDim_AngleDimension),在构造时直接传入要关联的几何形状(如边、面或顶点组合,具体参数需匹配对应尺寸类的构造函数要求)。 - 将已创建的
PrsDim_DimensionOwner关联到尺寸对象上,完成所有者与尺寸的绑定。
示例代码(以长度尺寸为例):
// 创建尺寸所有者 Handle(PrsDim_DimensionOwner) own1 = new PrsDim_DimensionOwner(this, PrsDim_DimensionSelectionMode::PrsDim_DimensionSelectionMode_All, 7); // 创建长度尺寸并关联目标形状(mySShape需符合PrsDim_LengthDimension构造参数要求,比如两个边或一个线性边) Handle(PrsDim_LengthDimension) dimObj = new PrsDim_LengthDimension(mySShape); // 将所有者绑定到尺寸对象 dimObj->SetOwner(own1);
若需自定义尺寸逻辑,可继承PrsDim_Dimension类,重写其几何初始化相关方法,确保形状数据被正确传入和维护。
内容的提问来源于stack exchange,提问作者Orlay Garcia Duconge
相关产品推荐
相关产品推荐

