Posted on 2013-11-30 23:12
eryar 閱讀(2485)
評論(0) 編輯 收藏 引用 所屬分類:
2.OpenCASCADE
在OpenCascade中更改線型-Change Line Type in OpenCascade
eryar@163.com
關(guān)鍵字KeyWords:OpenCascade,Line Aspect, Line Type
在OpenCascade的顯示模塊中,可以設(shè)置線型、消隱方式和離散精度等屬性。這些屬性都是在AIS_Drawer中設(shè)置。
AIS_Drawer類就是用來管理顯示屬性的??梢栽O(shè)置如下顯示屬性:
- void SetLineAspect (const Handle< Prs3d_LineAspect > &anAspect)
- void SetWireAspect (const Handle< Prs3d_LineAspect > &anAspect)
- void SetDeviationCoefficient (const Standard_Real aCoefficient)
- void SetTypeOfHLR (const Prs3d_TypeOfHLR theTypeOfHLR)
以為設(shè)置線型是用SetLineAspect,結(jié)果試了一下,不成功。查找了一下論壇,也有人有同樣的問題:
http://www.opencascade.org/org/forum/thread_12589/?forum=3

又搜索了下,發(fā)現(xiàn)設(shè)置拓樸形狀線型的函數(shù)是用:SetWireAspect,試驗成功!示例程序如下所示:
Handle(AIS_Shape) xAxis = new AIS_Shape(BRepBuilderAPI_MakeEdge(gp_Pnt(-5000,0,0), gp_Pnt(5000, 0, 0)));
Handle(Prs3d_LineAspect) lineAspect = new Prs3d_LineAspect(Quantity_NOC_WHITE, Aspect_TOL_DOTDASH, 1);
xAxis->Attributes()->SetWireAspect(lineAspect);
myAISContext->Display(xAxis, false);