MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0029641Community[OCCT] OCCT:Meshpublic2018-03-24 17:192018-11-08 12:43
Reportervengelgardt 
Assigned Tooan 
PrioritynormalSeveritymajor 
StatusnewResolutionopen 
PlatformWindowsOSWindowsOS Version10
Product Version[OCCT] 7.2.0 
Target VersionFixed in Version 
Summary0029641: Mesher produce 'bad' result for extruded spline with given deviation coefficient
DescriptionMesher used by AIS_Shape produce 'bad' mesh for sample solid with deviation coefficient 0.0001.

Default value used by AIS 0.001. Works OK (see screenshot below)
Default value used by IVtk_ShapeMesher 0.0001. Works Bad (see screenshot below)

https://clip2net.com/s/3SUjFIY [^]
Steps To ReproduceUse MFC sample to reproduce this issue, paste code below in void CModelingDoc::OnWire() and use this callback to reproduce an issue.

    TColgp_Array1OfPnt poles(0, 41);
    poles(0) = gp_Pnt(-6.84864, -2.89698, 0);
    poles(1) = gp_Pnt(-7.8487, -1.93627, 0);
    poles(2) = gp_Pnt(-9.6224, 0.166697, 0);
    poles(3) = gp_Pnt(-11.6493, 4.15099, 0);
    poles(4) = gp_Pnt(-7.22539, 6.87438, 0);
    poles(5) = gp_Pnt(-2.78612, 8.73483, 0);
    poles(6) = gp_Pnt(3.2602, 8.5477, 0);
    poles(7) = gp_Pnt(8.61314, 8.72234, 0);
    poles(8) = gp_Pnt(13.3373, 5.45586, 0);
    poles(9) = gp_Pnt(13.0446, -0.0814708, 0);
    poles(10) = gp_Pnt(10.2305, -5.93577, 0);
    poles(11) = gp_Pnt(3.08747, -5.17017, 0);
    poles(12) = gp_Pnt(-4.45148, -3.10821, 0);
    poles(13) = gp_Pnt(-2.90664, 4.40597, 0);
    poles(14) = gp_Pnt(2.87423, 5.66723, 0);
    poles(15) = gp_Pnt(9.17142, 4.92753, 0);
    poles(16) = gp_Pnt(10.07, -1.58282, 0);
    poles(17) = gp_Pnt(4.86466, -4.12707, 0);
    poles(18) = gp_Pnt(2.02312, -0.942018, 0);
    poles(19) = gp_Pnt(2.75268, 2.11217, 0);
    poles(20) = gp_Pnt(5.74315, 2.28662, 0);
    poles(21) = gp_Pnt(5.57045, 0.539952, 0);
    poles(22) = gp_Pnt(3.72607, -0.548149, 0);
    poles(23) = gp_Pnt(4.13943, 0.555394, 0);
    poles(24) = gp_Pnt(3.58471, 1.3003, 0);
    poles(25) = gp_Pnt(3.19694, -0.607524, 0);
    poles(26) = gp_Pnt(4.44757, -1.87283, 0);
    poles(27) = gp_Pnt(7.15539, -2.24152, 0);
    poles(28) = gp_Pnt(8.78645, 0.63375, 0);
    poles(29) = gp_Pnt(6.81713, 4.25501, 0);
    poles(30) = gp_Pnt(2.76623, 3.72653, 0);
    poles(31) = gp_Pnt(-0.987364, 2.77836, 0);
    poles(32) = gp_Pnt(-2.22717, -2.14245, 0);
    poles(33) = gp_Pnt(2.77299, -3.55277, 0);
    poles(34) = gp_Pnt(7.1953, -4.97274, 0);
    poles(35) = gp_Pnt(11.3418, -1.3008, 0);
    poles(36) = gp_Pnt(11.8577, 5.93719, 0);
    poles(37) = gp_Pnt(4.74475, 6.4367, 0);
    poles(38) = gp_Pnt(-0.655365, 7.24096, 0);
    poles(39) = gp_Pnt(-4.91041, 5.87339, 0);
    poles(40) = gp_Pnt(-9.27314, 1.79587, 0);
    poles(41) = gp_Pnt(-3.03765, -1.20269, 0);

    TColStd_Array1OfReal knots(0, 41);
    knots(0) = 0;
    knots(1) = 3.06334;
    knots(2) = 7.6806;
    knots(3) = 10.5737;
    knots(4) = 16.7067;
    knots(5) = 22.5611;
    knots(6) = 28.3149;
    knots(7) = 32.6648;
    knots(8) = 37.8111;
    knots(9) = 43.6011;
    knots(10) = 49.6044;
    knots(11) = 57.7091;
    knots(12) = 62.1695;
    knots(13) = 67.9016;
    knots(14) = 73.8824;
    knots(15) = 78.489;
    knots(16) = 83.2874;
    knots(17) = 86.5523;
    knots(18) = 89.0208;
    knots(19) = 91.2073;
    knots(20) = 92.072;
    knots(21) = 93.7356;
    knots(22) = 94.3118;
    knots(23) = 94.82;
    knots(24) = 95.6982;
    knots(25) = 97.8775;
    knots(26) = 100.039;
    knots(27) = 102.785;
    knots(28) = 105.81;
    knots(29) = 110.37;
    knots(30) = 113.465;
    knots(31) = 117.047;
    knots(32) = 121.723;
    knots(33) = 126.226;
    knots(34) = 130.541;
    knots(35) = 136.51;
    knots(36) = 142.871;
    knots(37) = 147.932;
    knots(38) = 153.249;
    knots(39) = 156.78;
    knots(40) = 161.284;
    knots(41) = 163.479;

    TColStd_Array1OfInteger mults(0, 41);
    mults(0) = 2;
    mults(1) = 1;
    mults(2) = 1;
    mults(3) = 1;
    mults(4) = 1;
    mults(5) = 1;
    mults(6) = 1;
    mults(7) = 1;
    mults(8) = 1;
    mults(9) = 1;
    mults(10) = 1;
    mults(11) = 1;
    mults(12) = 1;
    mults(13) = 1;
    mults(14) = 1;
    mults(15) = 1;
    mults(16) = 1;
    mults(17) = 1;
    mults(18) = 1;
    mults(19) = 1;
    mults(20) = 1;
    mults(21) = 1;
    mults(22) = 1;
    mults(23) = 1;
    mults(24) = 1;
    mults(25) = 1;
    mults(26) = 1;
    mults(27) = 1;
    mults(28) = 1;
    mults(29) = 1;
    mults(30) = 1;
    mults(31) = 1;
    mults(32) = 1;
    mults(33) = 1;
    mults(34) = 1;
    mults(35) = 1;
    mults(36) = 1;
    mults(37) = 1;
    mults(38) = 1;
    mults(39) = 1;
    mults(40) = 1;
    mults(41) = 2;

    int degree = 3;
    bool periodic = 1;

    Handle(Geom_BSplineCurve) spl = new Geom_BSplineCurve(poles, knots, mults, degree, periodic);
    BRepBuilderAPI_MakeEdge edge_maker(spl);
    BRepBuilderAPI_MakeWire wire_maker;

    wire_maker.Add(edge_maker.Edge());
    BRepBuilderAPI_MakeFace face_maker(wire_maker.Wire());
    BRepPrimAPI_MakePrism prism(face_maker.Face(), gp_Vec(0,0,15));

    Handle(AIS_Shape) ais_prism = new AIS_Shape(prism.Shape());
    ais_prism->SetOwnDeviationCoefficient(0.0001);
    myAISContext->SetColor(ais_prism,Quantity_NOC_RED,Standard_False);
    myAISContext->Display(ais_prism,Standard_False);





################ DRAW #####################
restore 29641.brep a
tclean a
vinit
vdefaults -devCoeff 0.0001
vsetdispmode 1
vdisplay a
vfit
TagsNo tags attached.
Test case number
Attached Filespng file icon 07a26-clip-88kb.png (89,694 bytes) 2018-03-24 17:19
? file icon 29641.brep (5,688 bytes) 2018-11-08 12:41

- Relationships

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2018-03-24 17:19 vengelgardt New Issue
2018-03-24 17:19 vengelgardt Assigned To => oan
2018-03-24 17:19 vengelgardt File Added: 07a26-clip-88kb.png
2018-11-08 12:41 oan File Added: 29641.brep
2018-11-08 12:43 oan Steps to Reproduce Updated View Revisions


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker