Anonymous | Login | 2021-01-16 06:23 MSK | ![]() |
My View | View Issues | Change Log | Roadmap |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
0029645 | Community | [OCCT] OCCT:Modeling Algorithms | public | 2018-03-26 15:14 | 2018-03-26 15:14 | ||||||||
Reporter | vengelgardt | ||||||||||||
Assigned To | msv | ||||||||||||
Priority | normal | Severity | crash | ||||||||||
Status | new | Resolution | open | ||||||||||
Platform | Windows | OS | VC++ 2015 | OS Version | 64 bit | ||||||||
Product Version | |||||||||||||
Target Version | Fixed in Version | ||||||||||||
Summary | 0029645: Hang on making pipe shell using BRepOffsetAPI_MakePipeShell | ||||||||||||
Description | Algorithm hangs in GeomFill_CorrectedFrenet::GetAngleAT | ||||||||||||
Steps To Reproduce | Paste this code to CModelingDoc::OnWire() and include <BRepOffsetAPI_MakePipeShell.hxx>, <TopExp.hxx> TopoDS_Wire profile; { BRep_Builder builder; TopoDS_Vertex verts[4]; builder.MakeVertex(verts[0], gp_Pnt(-26, 12, 0), Precision::Confusion()); builder.MakeVertex(verts[1], gp_Pnt(-26, 0, 0), Precision::Confusion()); builder.MakeVertex(verts[2], gp_Pnt(26, 0, 0), Precision::Confusion()); builder.MakeVertex(verts[3], gp_Pnt(26, 12, 0), Precision::Confusion()); BRepBuilderAPI_MakeEdge line1(verts[0], verts[1]); BRepBuilderAPI_MakeEdge line2(verts[1], verts[2]); BRepBuilderAPI_MakeEdge line3(verts[2], verts[3]); BRepBuilderAPI_MakeEdge line4(verts[3], verts[0]); BRepBuilderAPI_MakeWire wire_maker; wire_maker.Add(line1.Edge()); wire_maker.Add(line2.Edge()); wire_maker.Add(line3.Edge()); wire_maker.Add(line4.Edge()); profile = wire_maker.Wire(); } TopoDS_Wire path; TopoDS_Vertex path_vertex; { TColStd_Array1OfReal knots(1, 5); knots(1) = 0; knots(2) = 45.880278987817846; knots(3) = 99.638999210680296; knots(4) = 162.40841851658115; knots(5) = 188.71431139251297; TColgp_Array1OfPnt poles(1, 7); poles(1) = gp_Pnt(-1, 0, -179); poles(2) = gp_Pnt(0.37902151193486527, 0, -164.30703183772184); poles(3) = gp_Pnt(11.195586011484558, 0, -132.50453080937984); poles(4) = gp_Pnt(41.585039692913654, 0, -80.520244067871488); poles(5) = gp_Pnt(5.5420134018386120, 0, -38.231472197588452); poles(6) = gp_Pnt(0.50268655678950513, 0, -8.9676964506451551); poles(7) = gp_Pnt(1, 0, 0); TColStd_Array1OfInteger mults(1, 5); mults(1) = 4; mults(2) = 1; mults(3) = 1; mults(4) = 1; mults(5) = 4; bool is_periodic = 0; int degree = 3; Handle(Geom_BSplineCurve) spl = new Geom_BSplineCurve(poles, knots, mults, degree, is_periodic); BRepBuilderAPI_MakeEdge edge_maker(spl); BRepBuilderAPI_MakeWire wire_maker; TopoDS_Edge edge = edge_maker.Edge(); edge.Reverse(); wire_maker.Add(edge); path_vertex = TopExp::FirstVertex(edge, 1); path = wire_maker.Wire(); } BRepOffsetAPI_MakePipeShell sweep(path); sweep.Add(profile, path_vertex, Standard_False, Standard_False); sweep.Build(); Handle(AIS_Shape) ais_prism = new AIS_Shape(sweep.Shape()); myAISContext->SetColor(ais_prism,Quantity_NOC_RED,Standard_False); myAISContext->Display(ais_prism,Standard_False); | ||||||||||||
Tags | No tags attached. | ||||||||||||
Test case number | |||||||||||||
Attached Files | |||||||||||||
![]() |
|||
Date Modified | Username | Field | Change |
2018-03-26 15:14 | vengelgardt | New Issue | |
2018-03-26 15:14 | vengelgardt | Assigned To | => msv |
Copyright © 2000 - 2021 MantisBT Team |