allow non-sketch based additive and subtractive features

This commit is contained in:
Stefan Tröger
2015-05-10 09:35:29 +02:00
parent e002ca6087
commit b0817ff086
26 changed files with 115 additions and 203 deletions

View File

@@ -58,10 +58,12 @@ using namespace PartDesign;
const char* Pad::TypeEnums[]= {"Length","UpToLast","UpToFirst","UpToFace","TwoLengths",NULL};
PROPERTY_SOURCE(PartDesign::Pad, PartDesign::Additive)
PROPERTY_SOURCE(PartDesign::Pad, PartDesign::SketchBased)
Pad::Pad()
{
addSubType = FeatureAddSub::Additive;
ADD_PROPERTY_TYPE(Type,((long)0),"Pad",App::Prop_None,"Pad type");
Type.setEnums(TypeEnums);
ADD_PROPERTY_TYPE(Length,(100.0),"Pad",App::Prop_None,"Pad length");
@@ -78,7 +80,7 @@ short Pad::mustExecute() const
Length2.isTouched() ||
UpToFace.isTouched())
return 1;
return Additive::mustExecute();
return SketchBased::mustExecute();
}
App::DocumentObjectExecReturn *Pad::execute(void)
@@ -235,7 +237,9 @@ App::DocumentObjectExecReturn *Pad::execute(void)
// set the additive shape property for later usage in e.g. pattern
prism = refineShapeIfActive(prism);
this->AddShape.setValue(prism);
const char* name = AddSubShape.getName();
const char* name1 = this->getPropertyName(&AddSubShape);
this->AddSubShape.setValue(prism);
if (!base.IsNull()) {
// Let's call algorithm computing a fuse operation: