PD: Fix missing silent mode check in GetTopoShapeVerifiedFace
Also ensure that all calls to this method actually verify the result.
This commit is contained in:
committed by
Kacper Donat
parent
7665675de9
commit
76bd68e672
@@ -235,6 +235,9 @@ TopoShape ProfileBased::getTopoShapeVerifiedFace(
|
||||
|
||||
|
||||
if (subshape.isNull()) {
|
||||
if (silent) {
|
||||
return {};
|
||||
}
|
||||
FC_THROWM(
|
||||
Base::CADKernelError,
|
||||
"Sub shape not found: " << obj->getFullName() << "." << sub
|
||||
@@ -622,7 +625,7 @@ TopoShape ProfileBased::getTopoShapeSupportFace() const
|
||||
TopoShape shape;
|
||||
const Part::Part2DObject* sketch = getVerifiedSketch(true);
|
||||
if (!sketch) {
|
||||
shape = getTopoShapeVerifiedFace();
|
||||
shape = getTopoShapeVerifiedFace(true);
|
||||
}
|
||||
else if (sketch->MapMode.getValue() == Attacher::mmFlatFace
|
||||
&& sketch->AttachmentSupport.getValue()) {
|
||||
@@ -1374,6 +1377,10 @@ Base::Vector3d ProfileBased::getProfileNormal() const
|
||||
TopoShape shape = getTopoShapeVerifiedFace(true, true, true); //, _ProfileBasedVersion.getValue()
|
||||
//<= 0);
|
||||
|
||||
if (shape.isNull()) {
|
||||
return SketchVector;
|
||||
}
|
||||
|
||||
gp_Pln pln;
|
||||
if (shape.findPlane(pln)) {
|
||||
gp_Dir dir = pln.Axis().Direction();
|
||||
|
||||
Reference in New Issue
Block a user