PartDesign: decouple refine and other geometric computation (#17008)
This commit is contained in:
committed by
GitHub
parent
32e339447a
commit
115667f73a
@@ -104,6 +104,12 @@ short Chamfer::mustExecute() const
|
||||
|
||||
App::DocumentObjectExecReturn *Chamfer::execute()
|
||||
{
|
||||
if (onlyHasToRefine()){
|
||||
TopoShape result = refineShapeIfActive(rawShape);
|
||||
Shape.setValue(result);
|
||||
return App::DocumentObject::StdReturn;
|
||||
}
|
||||
|
||||
// NOTE: Normally the Base property and the BaseFeature property should point to the same object.
|
||||
// The only difference is that the Base property also stores the edges that are to be chamfered
|
||||
Part::TopoShape TopShape;
|
||||
@@ -164,6 +170,9 @@ App::DocumentObjectExecReturn *Chamfer::execute()
|
||||
TopAbs_SHAPE);
|
||||
}
|
||||
if (!failed) {
|
||||
|
||||
// store shape before refinement
|
||||
this->rawShape = shape;
|
||||
shape = refineShapeIfActive(shape);
|
||||
shape = getSolid(shape);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user