PartDesign: improve offset handling of SubShapeBinder
This commit is contained in:
@@ -729,7 +729,20 @@ void SubShapeBinder::update(SubShapeBinder::UpdateOption options) {
|
||||
}
|
||||
}
|
||||
|
||||
if (!fused && result.hasSubShape(TopAbs_EDGE)
|
||||
if (!fused && (MakeFace.getValue() || Offset.getValue() != 0.0)
|
||||
&& !result.hasSubShape(TopAbs_FACE)
|
||||
&& result.hasSubShape(TopAbs_EDGE))
|
||||
{
|
||||
result = result.makeWires();
|
||||
if (MakeFace.getValue()) {
|
||||
try {
|
||||
result = result.makeFace(nullptr);
|
||||
}
|
||||
catch (...) {}
|
||||
}
|
||||
}
|
||||
|
||||
if (!fused && result.hasSubShape(TopAbs_WIRE)
|
||||
&& Offset.getValue() != 0.0) {
|
||||
try {
|
||||
result = result.makeOffset2D(Offset.getValue(),
|
||||
@@ -745,17 +758,6 @@ void SubShapeBinder::update(SubShapeBinder::UpdateOption options) {
|
||||
}
|
||||
}
|
||||
|
||||
if (!fused && MakeFace.getValue()
|
||||
&& !result.hasSubShape(TopAbs_FACE)
|
||||
&& result.hasSubShape(TopAbs_EDGE))
|
||||
{
|
||||
result = result.makeWires();
|
||||
try {
|
||||
result = result.makeFace(nullptr);
|
||||
}
|
||||
catch (...) {}
|
||||
}
|
||||
|
||||
if (Refine.getValue())
|
||||
result = result.makeRefine();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user