Commit Graph

27 Commits

Author SHA1 Message Date
Zheng, Lei
0d633eca83 system: fix orientation constraint 2018-08-30 07:03:50 +08:00
Zheng, Lei
7d4b184394 constraint: optimize constraint multiplication 2018-08-17 19:10:03 +08:00
Zheng, Lei
f881db0229 system: fix plane alignment redundancy handling 2018-08-16 17:22:06 +08:00
Zheng, Lei
9a3fdec662 constraint: add support for edge/face symmetric constraint 2018-07-30 13:03:54 +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
053517e6e2 system: fix offset in PlaneAlignment 2018-06-10 09:17:40 +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
bcaded5b43 system: fix AxialAlignment redundancy handling 2018-04-08 17:11:24 +08:00
Zheng, Lei
b5489b8a9b system: change auto relax behavior
New property is added to Assembly container named 'AutoRelax' to let
user decide. It is by default off. PlaneCoincident auto relax will be
always on regardless of this setting.
2018-03-31 07:56:41 +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
a685320bc3 system: improve plane coincident/alignment offset 2018-02-18 12:50:45 +08:00
Zheng, Lei
0e7e94941a constraint: fix line plane parallel and perpendicular 2018-02-18 12:50:45 +08:00
Zheng, Lei
2dd360882a system: fix zero angle locking 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
6377bca0a4 system: fix SlvsSystem __init__ problem
Because swig generated __init__ never calls super, so we put it the
last if we want to use multi-inheritance.
2018-02-06 17:29:33 +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
76f3ed40d1 solver: fix sympy solver 2018-01-08 11:53:30 +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
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
cc16b178bb FCADLogger: add hierarchy log level support
Each module now has their own logger, and can be controlled separately
2017-10-31 04:09:10 +08:00
Zheng, Lei
caca713d8d Create workbench 2017-10-31 04:08:23 +08:00
Zheng, Lei
59c2c7a35d Code refactor to prepare for multiple backend solvers 2017-10-31 04:08:16 +08:00