New property 'Freeze' added to assembly container to freeze any update
of the assembly.
AsmPartGroup and AsmElement has been change to bind to
Part::FeaturePython instead of App::FeaturePython, in order to be able
to hold its own shape when frozen. The new ChildViewProvider feature in
ViewProviderLink is used to display the native shape.
New toolbar command to create workplane in XZ and ZY direction. Allow
workplane to be created based on all type of elements. The same
AsmWorkplane object can now also represent a line or a point.
Add init() api to calculate the some of the constraints' parameter
(e.g. angle, distance, length, etc.) based on the existing elements.
This can reduce excessive movement when auto recompute is on.
When enabled, it will hide all AsmElement, and AsmElementLink, and only
shown then when they are selected, or a AsmConstraint object is
selected in the tree view
The SketchPlane expects the first element to be a planar face/edge to
define a work plane for any following draft wire/circle/arc elements.
The 2D constrainted elements can either be inside the defining
SketchPlane constraint, or other constrains following the SketchPlane
in the constraint group.
Add a new SketchPlane to define a new work plane for any following
draft elements. Add an empty SketchPlane to undefine the work plane,
effectively making any following draft elements free in 3D space.
* Draft wire points can be dragged individually.
* Draft wire individual edge can be moved and rotated.
* Draft circle/arc can be moved and rotated by dragging edge or face.
* Draft circle/arc radius can be changed by dragging vertex
* Draft arc first/last angle can be changed by dragging end points
When added to an assembly, a normal part object has six degrees of
freedom, three positional and three rotational. A draft circle has one
additional dof, its radius. And a draft arc has three additional dof,
radius, first angle and last angle.
Special treatment for non-closed-or-subdivided draft wire object
directly added into part group. Instead of constraining on the object
placement, we shall constraint on individual points. In other word,
instead of making the draft wire's placement as free parameters, we
make the cooridnates of indvidual points as free parameters.
Original override point is ViewProviderAsmConstraint, which will
override any material setting in ViewProviderAsmElementLink. It's
better to default override at the bottom hierarchy.
Working constraints:
PointPlaneDistance
PointInPlane
Angle
Perpendicular
Parallel
New constraints, which are composite of slvs native constraints:
PlaneCoincident
PlaneAlignment
AxialAlignment
MultiParallel