mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-12 06:32:09 +00:00
#1034 Compound fallback for boolean union
This commit is contained in:
@@ -696,6 +696,18 @@ bool IfcGeom::Kernel::convert(const IfcSchema::IfcBooleanResult* l, TopoDS_Shape
|
|||||||
}
|
}
|
||||||
// NB: After issuing error the first operand is returned!
|
// NB: After issuing error the first operand is returned!
|
||||||
return true;
|
return true;
|
||||||
|
} else if (op == IfcSchema::IfcBooleanOperator::IfcBooleanOperator_UNION && !valid_result) {
|
||||||
|
BRep_Builder B;
|
||||||
|
TopoDS_Compound C;
|
||||||
|
B.MakeCompound(C);
|
||||||
|
B.Add(C, s1);
|
||||||
|
TopTools_ListIteratorOfListOfShape it(second_operand_shapes);
|
||||||
|
for (; it.More(); it.Next()) {
|
||||||
|
B.Add(C, it.Value());
|
||||||
|
}
|
||||||
|
Logger::Message(Logger::LOG_ERROR, "Failed to process union, creating compound:", l);
|
||||||
|
shape = C;
|
||||||
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return valid_result;
|
return valid_result;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user