Commit Graph

22 Commits

Author SHA1 Message Date
PaddleStroke
748ed561db Assembly: Adds limit and RackPinion/Screw/Gears 2024-05-06 18:32:00 +02:00
PaddleStroke
ff4684fcd7 Assembly: Add Screw/Pulley/Gears/RackPinion icons. Credits to @maxwxyz 2024-05-06 18:32:00 +02:00
PaddleStroke
85bfb99715 Assembly: Solve on recompute. Fixes #12983 2024-05-06 18:32:00 +02:00
PaddleStroke
8fd15eaf28 Assembly: Exploded view refactoring 2024-05-06 18:32:00 +02:00
PaddleStroke
1213967c76 Assembly: Fix distance 0 between 2 vertex. Issue mentioned in #12490 2024-05-06 18:32:00 +02:00
PaddleStroke
56051b83bc Assembly: Remove bad joints : joints between a part and itself. Fixes #12752 2024-05-06 18:32:00 +02:00
PaddleStroke
51feeb89f1 Assembly: Fix #12887: changing offset can move grounded parts in some cases. 2024-05-06 18:32:00 +02:00
PaddleStroke
5349d08abe Assembly: Fix #12889 : deleting a part does not delete joint and later crashes freecad. 2024-05-06 18:32:00 +02:00
PaddleStroke
ef010e6f7c Assembly: define nested assemblies. Fixes 12440 2024-05-06 18:32:00 +02:00
PaddleStroke
b537d0724a Assembly: Add DistanceType enum and getDistanceType function. 2024-05-06 18:32:00 +02:00
Jiří Mácha
4b5d079e6b Assembly: fix segfault when Part property of Joint Connector is missing
FreeCAD is crashing during 'Solve Assembly' call if the Part property
(Assembly/Joints/Fixed/Joint Connector 1/Part1 or Assembly/Joints/Fixed/Joint
Connector 2/Part2) of fixed Joint is unset.

Steps to reproduce:

 - make simple Assembly e.g. of two cubes with Fixed joint
 - Select Fixed joint in the tree and go-to property 'Data' tab
 - Select Part1 or Part2 of 'Joint Connector 1' or 'Joint Connector 2'
   and remove this reference
 - call 'Solve Assembly' now

The FreeCAD will crash here because the call
App::DocumentObject* part = getLinkObjFromProp(joint, propPartName);
will return NULL pointer.

The property Part1 or Part2 can get empty (unset) during usual
construction operations - during changing construction history
and it can be very hard to find the cause of FreeCAD crash on a big
model.

This patch tries to fix the crash in such situation.
2024-04-08 18:00:40 +02:00
luzpaz
5839134e95 Fix various typos throughout the codebase (#13029)
* Fix various typos throughout the codebase

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-03-18 16:54:30 -05:00
wmayer
51a01b9e2b Fix compiler warnings:
fix [-Winconsistent-missing-override]
fix [-Wunused-lambda-capture]
fix [-Wunused-variable]
fix [-Wswitch]
2024-02-26 11:01:37 -06:00
PaddleStroke
2a5b22f0c8 Assembly : Fixes for sketches in bodies 2024-02-13 08:26:54 +01:00
Paddle
cdb1af6543 Assembly : Add support for perspective camera.
Remove exportASMT from toolbar.
Fix Fixedjoint name and tooltip
Fix various bugs
Introduce solver drag functions.
2024-02-13 08:25:46 +01:00
Paddle
d13df26333 Assembly: Adds a pre-solve when creating joint, preventing wrong orthogonal solutions from solver. 2024-02-13 08:25:46 +01:00
Paddle
48173f2b9d Assembly: Implement special drag mode for revolute. 2024-02-13 08:25:46 +01:00
Paddle
43019a8f34 Assembly: Add support for body subobjects (coordinate systems, datums...) and various fixes 2024-02-13 08:25:46 +01:00
Paddle
22e4d7f2dd Assembly: Change the joint placements to be relative to the object rather than to the doc origin.
This enable 'detaching' them, so that they are not recomputed
2024-02-13 08:25:46 +01:00
Paddle
4a119c43f1 Assembly: Add support to external objects. (And various fixes) 2024-02-13 08:25:45 +01:00
Paddle
323deff46a Assembly: Replace Tangent+Parallel+Planar by 'Distance'. 2024-02-13 08:25:45 +01:00
Paddle
d77cd7acf5 Assembly: Introduce core functionality of assembly workbench. 2024-02-13 08:25:45 +01:00