Path.Area: fixed non-circular curve handling, etc.

* Fixed non-circular curve orientation handling

* Section changed to use Part::CrossSection, because it seems
BRepAlgoAPI_Section has trouble with non-circular curves (LastParameter
becomes huge which causes discretization to produce many many points)

* Exposed Area.makeSections() to section with variable heights

* Modified Area.setPlane() to accept non-planar shape

* Exposed Area.getPlane() to obtain current workplane

* Exposed Area.Shapes attribute to return the current holding children
shape.
This commit is contained in:
Zheng, Lei
2017-01-29 18:24:01 +08:00
parent 41c7827287
commit 228a0dc905
6 changed files with 564 additions and 229 deletions

View File

@@ -49,11 +49,11 @@ FeatureArea::FeatureArea()
PARAM_PROP_ADD("Area",AREA_PARAMS_OPCODE);
PARAM_PROP_ADD("Area",AREA_PARAMS_BASE);
PARAM_PROP_ADD("Offset",AREA_PARAMS_OFFSET);
PARAM_PROP_ADD("Offset", AREA_PARAMS_OFFSET_CONF);
PARAM_PROP_ADD("Pocket",AREA_PARAMS_POCKET);
PARAM_PROP_ADD("Pocket",AREA_PARAMS_POCKET_CONF);
PARAM_PROP_ADD("Section",AREA_PARAMS_SECTION);
PARAM_PROP_ADD("Offset Settings", AREA_PARAMS_OFFSET_CONF);
PARAM_PROP_ADD("libarea Settings",AREA_PARAMS_CAREA);
PARAM_PROP_ADD("libarea",AREA_PARAMS_CAREA);
PARAM_PROP_SET_ENUM(Enums,AREA_PARAMS_ALL);
PocketMode.setValue((long)0);