diff --git a/src/ifcconvert/OpenCascadeBasedSerializer.cpp b/src/ifcconvert/OpenCascadeBasedSerializer.cpp index 13eb10055e..adbc218049 100644 --- a/src/ifcconvert/OpenCascadeBasedSerializer.cpp +++ b/src/ifcconvert/OpenCascadeBasedSerializer.cpp @@ -46,8 +46,10 @@ void OpenCascadeBasedSerializer::write(const IfcGeom::BRepElement* o) { o_trsf.SetValues( matrix[0], matrix[3], matrix[6], matrix[ 9], matrix[1], matrix[4], matrix[7], matrix[10], - matrix[2], matrix[5], matrix[8], matrix[11], - 1e-5, 1e-5 + matrix[2], matrix[5], matrix[8], matrix[11] +#if OCC_VERSION_HEX < 0x60800 + , Precision::Angular(), Precision::Confusion() +#endif ); gtrsf.PreMultiply(o_trsf); diff --git a/src/ifcgeom/IfcGeomShapes.cpp b/src/ifcgeom/IfcGeomShapes.cpp index f92dbc1a55..ba2ff2c66f 100644 --- a/src/ifcgeom/IfcGeomShapes.cpp +++ b/src/ifcgeom/IfcGeomShapes.cpp @@ -545,9 +545,14 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcRectangularPyramid* l, TopoDS_ BRepPrimAPI_MakeWedge builder(dx, dz, dy, dx / 2., dy / 2., dx / 2., dy / 2.); gp_Trsf trsf1, trsf2; - trsf2.SetValues(1, 0, 0, 0, - 0, 0, 1, 0, - 0, 1, 0, 0, Precision::Confusion(), Precision::Confusion()); + trsf2.SetValues( + 1, 0, 0, 0, + 0, 0, 1, 0, + 0, 1, 0, 0 +#if OCC_VERSION_HEX < 0x60800 + , Precision::Angular(), Precision::Confusion() +#endif + ); IfcGeom::Kernel::convert(l->Position(), trsf1); shape = BRepBuilderAPI_Transform(builder.Solid(), trsf1 * trsf2);