diff --git a/src/Primitives/Primitives_Wedge.gxx b/src/Primitives/Primitives_Wedge.gxx index bb67ed27cc..e656855163 100755 --- a/src/Primitives/Primitives_Wedge.gxx +++ b/src/Primitives/Primitives_Wedge.gxx @@ -758,7 +758,7 @@ gp_Lin Primitives_Wedge::Line Y = YMin; Z = ZMin; if ( (XMin != X2Min) || (ZMin != Z2Min) ) - D = gp_Vec(gp_Pnt(XMin,YMin,ZMin),gp_Pnt(X2Min,YMax,Z2Min)); + D = gp_Vec( (X2Min-XMin)*VX + (YMax-YMin)*VY + (Z2Min-ZMin)*VZ); break; case 9 : diff --git a/tests/bugs/modalg_5/bug24144_1 b/tests/bugs/modalg_5/bug24144_1 new file mode 100644 index 0000000000..ec7325aafb --- /dev/null +++ b/tests/bugs/modalg_5/bug24144_1 @@ -0,0 +1,49 @@ +puts "=========" +puts "OCC24144" +puts "=========" +puts "" +########################################################### +# BRepPrimAPI_MakeWedge wrong +########################################################### + +set Ox 0 +set Oy 0 +set Oz 0 + +set Zx 0 +set Zy 0 +set Zz 1 + +set Xx 0 +set Xy 1 +set Xz 0 + +set dx 200.0 +set dy 620.0 +set dz 2150.0 + +set xmin 0 +set xmax 200 + +set zmin 1075 +set zmax 1075 + +wedge result ${Ox} ${Oy} ${Oz} ${Zx} ${Zy} ${Zz} ${Xx} ${Xy} ${Xz} \ + ${dx} ${dy} ${dz} ${xmin} ${zmin} ${xmax} ${zmax} +#wedge result \ +# ${dx} ${dy} ${dz} ${xmin} ${zmin} ${xmax} ${zmax} + +set square 2.25939e+06 + +# Analysis of "nbshapes result" +set nb_v_good 6 +set nb_e_good 9 +set nb_w_good 5 +set nb_f_good 5 +set nb_sh_good 1 +set nb_sol_good 1 +set nb_compsol_good 0 +set nb_compound_good 0 +set nb_shape_good 27 + +set 2dviewer 1 diff --git a/tests/bugs/modalg_5/bug24144_2 b/tests/bugs/modalg_5/bug24144_2 new file mode 100644 index 0000000000..e5dcd67e9c --- /dev/null +++ b/tests/bugs/modalg_5/bug24144_2 @@ -0,0 +1,49 @@ +puts "=========" +puts "OCC24144" +puts "=========" +puts "" +########################################################### +# BRepPrimAPI_MakeWedge wrong +########################################################### + +set Ox 0 +set Oy 0 +set Oz 0 + +set Zx 0 +set Zy 0 +set Zz 1 + +set Xx 0 +set Xy 1 +set Xz 0 + +set dx 200.0 +set dy 620.0 +set dz 2150.0 + +set xmin 0 +set xmax 200 + +set zmin 1075 +set zmax 1075 + +#wedge result ${Ox} ${Oy} ${Oz} ${Zx} ${Zy} ${Zz} ${Xx} ${Xy} ${Xz} \ +# ${dx} ${dy} ${dz} ${xmin} ${zmin} ${xmax} ${zmax} +wedge result \ + ${dx} ${dy} ${dz} ${xmin} ${zmin} ${xmax} ${zmax} + +set square 2.25939e+06 + +# Analysis of "nbshapes result" +set nb_v_good 6 +set nb_e_good 9 +set nb_w_good 5 +set nb_f_good 5 +set nb_sh_good 1 +set nb_sol_good 1 +set nb_compsol_good 0 +set nb_compound_good 0 +set nb_shape_good 27 + +set 2dviewer 1