在使用opencascade中的标注类AIS_Dimension时,想着修改标注的颜色,文字的样式大小等,一开始使用的是其基类AIS_InteractiveObject中的SetColor,但是发现没有作用。
Handle(AIS_DiameterDimension) DiameterDimension = new AIS_DiameterDimension(coneButtom);
DiameterDimension->SetColor(Quantity_NOC_BLUE1);
正确的做法需要用到Prs3d_DimensionAspect这个类,把相关的信息设置到里面,最后通过SetDimensionAspect加到Dimension中。
Handle(Prs3d_DimensionAspect) anAspect = new Prs3d_DimensionAspect();
anAspect->MakeArrows3d(Standard_True);
anAspect->MakeText3d(Standard_True);
anAspect->TextAspect()->SetHeight(10.);//(文字高度大小);
anAspect->MakeTextShaded(Standard_True);
anAspect->SetCommonColor(Quantity_NOC_RED);//(颜色)
anAspect->LineAspect()->SetWidth(20);//(标注线宽度)
radiusDimension22->SetDimensionAspect(anAspect);
具体的修改参数接口参考官方文档。