Commit Graph

61 Commits

Author SHA1 Message Date
Zheng, Lei
78904d5b40 constraint: add measurement pseudo constraint
Closes #52
2018-09-22 13:42:46 +08:00
Zheng, Lei
9aa489942d constraint: int Distance/Angle with current value
Closes #111
2018-09-21 19:53:21 +08:00
Zheng, Lei
170e73969a constraint: fix Perpendicular constraint
Fixes #119
2018-09-18 19:15:19 +08:00
Zheng, Lei
fc8f2f1a47 constraint: fix constraint multiplication 2018-09-05 20:44:10 +08:00
Zheng, Lei
91b57c9727 constraint: fix addMidPoint() 2018-09-03 14:43:58 +08:00
Zheng, Lei
e16f2ad36d constraint: fix constraint multiplication 2018-08-18 09:11:04 +08:00
Zheng, Lei
7d4b184394 constraint: optimize constraint multiplication 2018-08-17 19:10:03 +08:00
Zheng, Lei
b686415516 constraint: change Angle property type to enable expression 2018-08-15 10:54:11 +08:00
Zheng, Lei
58a6ad6752 Copy constraint properties when multiply and expand 2018-08-02 21:05:18 +08:00
Zheng, Lei
81df569c4d Fix solver fixed part finding 2018-08-02 18:57:52 +08:00
Zheng, Lei
2121abacfe constraint: fix program typo 2018-08-02 17:44:06 +08:00
Zheng, Lei
5d6f36c21a constraint: extend PointLineDistance to accept plane normal 2018-08-01 17:55:07 +08:00
Zheng, Lei
530eff0475 constraint: hide More from constraint type list 2018-08-01 17:54:25 +08:00
Zheng, Lei
fb707d7185 constraint: fix auto labeling 2018-07-30 13:03:55 +08:00
Zheng, Lei
9a3fdec662 constraint: add support for edge/face symmetric constraint 2018-07-30 13:03:54 +08:00
Zheng, Lei
819dee3381 constraint: reorganise constraints
Extended some constraint to support BaseMulti.
2018-07-30 13:03:54 +08:00
Zheng, Lei
1b43f4f701 gui: improve selection handling 2018-07-30 13:03:54 +08:00
Zheng, Lei
ad35683c87 Add support for constraint multiplication 2018-07-30 13:03:54 +08:00
Zheng, Lei
8bce8889f6 gui: tidy up workbench menu 2018-07-13 11:25:56 +08:00
Zheng, Lei
5c35ad78f0 Add six python module 2018-07-02 16:53:30 +08:00
looooo
7fb8cf48ad py3-fixes:
- use six.with_metaclas(metaclass, baseclass)
- some imports must be handled in a different way if py_solve is a external package (conda)
2018-07-01 20:42:59 +02:00
Zheng, Lei
35385866aa gui: add command to lock mover for fixed parts 2018-06-03 13:14:58 +08:00
Zheng, Lei
4b1a3b9de6 assembly: add support for Origin 2018-06-03 12:37:32 +08:00
Zheng, Lei
31f1f2b849 constraint: support cylindrical plane in AxialAlignment and Colinear 2018-05-21 19:07:47 +08:00
Zheng, Lei
fe7a1757cb constraint: add OffsetX and offsetY to PlaneCoincident 2018-05-21 19:07:47 +08:00
Zheng, Lei
094828561b constraint: extend Angle locking to yaw-pitch-roll
Angle locking applies to PlaneCoincident, PlaneAlignment,
AxialAlignment, and MultiParallel
2018-05-21 19:07:44 +08:00
Zheng, Lei
80bceefcc6 system: auto relax some redundant composit constraints
The order of appearance of the constraints determines how redundancies
are handled.

PlaneCoincident: the second PlaneCoincident of the same pair or parts is
relax to a 2d point horizontal or vertical constraint. The third and
onwards are ignored.  Any PlaneCoincident constraint will be ignored if
there are any existing PlaneCoincident or AxialAlignment.

PlaneAlignment: the second one is relaxed to two PointInPlane or
PointPlaneDistance constraint. The third one is relaxed to one
PointInPlane or PointPlaneDistance. The forth and onwards are ignored.
Any PlaneCoincident constraint will be ignored if there are any existing
PlaneCoincident or AxialAlignment.

AxialAlignment: ignored if there are any existing PlaneAlignment or
PlaneCoincident constraints
2018-03-24 12:12:22 +08:00
Zheng, Lei
8cf3c3f48b constraint: fix negative distance in composite constraints 2018-03-21 15:43:48 +08:00
Zheng, Lei
55ba2c2b3c constraint: tolerate empty lock constraint 2018-03-21 15:43:28 +08:00
Zheng, Lei
827d2c0f96 constraint: revert SketchPlane id 2018-03-06 10:57:22 +08:00
Zheng, Lei
0e7e94941a constraint: fix line plane parallel and perpendicular 2018-02-18 12:50:45 +08:00
Zheng, Lei
1856a368d7 constraint: add colinear constraint 2018-02-06 17:39:08 +08:00
Zheng, Lei
6917d3897e constraint: impove sketch plane handling
Sketch plane is now implicitly added to any constraints that accepts an
optional workplane, i.e. those supports 2D constraint
2018-01-29 17:16:21 +08:00
Zheng, Lei
1e2cfc6447 constraint: improve draft circle handling 2018-01-29 17:16:21 +08:00
Zheng, Lei
a2d639200f constraint: init constraint parameter
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.
2018-01-29 17:16:15 +08:00
Zheng, Lei
ac5194a013 constraint: auto label constraint object with type name 2018-01-28 06:14:17 +08:00
Zheng, Lei
363a8cfeba Fix constraint toolbar active checking 2018-01-24 18:08:20 +08:00
Zheng, Lei
21e8c4dd84 Support sketch plane in various horizontal/vertical constraint 2018-01-24 13:50:22 +08:00
Zheng, Lei
cc412bdc22 Add SketchPlane constraint for easy 2D sketch
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.
2018-01-23 17:32:20 +08:00
Zheng, Lei
c56a9d85d7 Add mover support for draft wire and circle
* 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
2018-01-21 10:07:38 +08:00
Zheng, Lei
b087200e50 Add support for draft circle/arc
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.
2018-01-20 16:36:51 +08:00
Zheng, Lei
05595e3f41 Add support for draft wire
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.
2018-01-20 16:36:38 +08:00
Zheng, Lei
06403848e2 constraint: added more icons 2018-01-19 14:01:10 +08:00
Zheng, Lei
76f3ed40d1 solver: fix sympy solver 2018-01-08 11:53:30 +08:00
Zheng, Lei
8f21c72f4c constraint: fix circle/arc related constraints 2017-12-15 08:14:02 +08:00
Zheng, Lei
c2662d8cfd constraint: add LockAngle option
LockAngle option is available to the following constraints,

* PlaneCoincident
* PlaneAlignment
* AxialAlignment
* MultiParallel
2017-12-09 13:27:38 +08:00
Zheng, Lei
176817a635 Migrate to new style FC module 2017-12-07 03:14:13 +08:00
Zheng, Lei
eb06ef8fbd solver: solver rollback on failure while dragging 2017-12-04 20:25:35 +08:00
Zheng, Lei
15babab61d Drop usage of future and past module
FC Windows distribution doesn't have these modules
2017-11-22 01:13:42 +08:00
Zheng, Lei
333d4f8824 Refactor checkable command, improve command checkActive() 2017-11-16 18:31:08 +08:00