mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-19 22:50:21 +00:00
Apply the same precision value when merging a compound of faces into a solid just-in-time for subtraction
This commit is contained in:
@@ -126,7 +126,13 @@ bool IfcGeom::is_compound(const TopoDS_Shape& shape) {
|
|||||||
const TopoDS_Shape& IfcGeom::ensure_fit_for_subtraction(const TopoDS_Shape& shape, TopoDS_Shape& solid) {
|
const TopoDS_Shape& IfcGeom::ensure_fit_for_subtraction(const TopoDS_Shape& shape, TopoDS_Shape& solid) {
|
||||||
const bool is_comp = IfcGeom::is_compound(shape);
|
const bool is_comp = IfcGeom::is_compound(shape);
|
||||||
if ( ! is_comp ) return shape;
|
if ( ! is_comp ) return shape;
|
||||||
IfcGeom::create_solid_from_compound(shape,solid);
|
IfcGeom::create_solid_from_compound(shape, solid);
|
||||||
|
|
||||||
|
// If the SEW_SHELLS option had been set this precision had been applied
|
||||||
|
// at the end of the generic IfcGeom::convert_shape() call.
|
||||||
|
const double precision = IfcGeom::GetValue(GV_PRECISION);
|
||||||
|
IfcGeom::apply_tolerance(solid, precision);
|
||||||
|
|
||||||
return solid;
|
return solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user