Commit Graph

414 Commits

Author SHA1 Message Date
Chris Hennes
7da34afbf2 Merge pull request #14934 from Ondsel-Development/asm_insert_asm
Assembly: Insert Component: Fix assembly not appearing
2024-06-25 11:03:16 -05:00
PaddleStroke
6082b67ed0 Assembly: Insert Component: Fix 'Joint Group' being listed even though it's empty. It's because we were using OutList instead of claimChildren. 2024-06-25 16:37:31 +02:00
Chris Hennes
2354e08699 Merge pull request #14908 from Ondsel-Development/asm_sub_fix
Assembly: Fix link to external sub assemblies issues.
2024-06-25 09:15:52 -05:00
PaddleStroke
0972645fab Assembly: Do not attempt to drag grounded objects. 2024-06-25 09:14:59 -05:00
PaddleStroke
74eb6bb156 Assembly: Fix a bug with presolve. Presolve should not happen when there's a loop of joints. 2024-06-25 09:12:50 -05:00
PaddleStroke
2114c6ecce Assembly: Insert Component: Fix comparing names instead of comparing objects 2024-06-25 10:37:50 +02:00
PaddleStroke
4fcd31a373 Assembly: jointObject : handle case where gui_doc.ActiveView is None. 2024-06-24 17:52:29 +02:00
PaddleStroke
f929897a0b Assembly: Fix problem with external link to sub-assemblies. 2024-06-24 17:52:29 +02:00
PaddleStroke
eb90d295aa Assembly: Remove unecessary import that was breaking ubuntu CI. 2024-06-21 10:18:19 -05:00
wmayer
1a84404515 MSVC: Fix compiler warnings
* avoid redefines in Assembly
* explicit cast from size_t to int
* remove unused variables
* avoid implicit cast from double to float
* in test cases replace EXPECT_FLOAT_EQ with EXPECT_DOUBLE_EQ or EXPECT_NEAR when doubles are used
2024-06-20 15:42:16 -05:00
PaddleStroke
2b3215eeb5 Assembly: InsertLink: Use doc.Label instead of doc.Name because of bug of doc.Name not updating when file is saved. 2024-06-17 11:33:28 -05:00
PaddleStroke
ce42dd717c Assembly: Implement Bill Of Materials (#14198)
* Assembly: Implementation of BOM

* Assembly: BOM: make it possible for BOM to be made without an assembly.
2024-06-17 11:16:32 -05:00
Chris Hennes
587cd884e8 Merge pull request #14388 from Ondsel-Development/core_rootObjects
Core: Add Gui::Document::getTreeRootObjects() Fixes #14373
2024-06-17 11:04:18 -05:00
PaddleStroke
3052760541 Assembly: deleting a component deletes its joints. 2024-06-17 10:58:11 -05:00
Chris Hennes
22aad24b06 Merge pull request #14608 from Ondsel-Development/asm_del_obj
Assembly: Makes sure deleting assembly deletes the joints and views
2024-06-17 10:49:58 -05:00
PaddleStroke
fb32579498 Core: Add Gui::Document::getTreeRootObjects() 2024-06-12 10:57:24 +02:00
PaddleStroke
f6b15dcc12 Assembly: Fix bug by replacing const char* by std::string for variables that need to be swapped. 2024-06-11 12:11:16 +02:00
PaddleStroke
87bfe83ed6 Assembly: Deletes exploded view deletes the moves objects. 2024-06-11 10:29:46 +02:00
PaddleStroke
6fa7c4785e Assembly: Makes sure deleting assembly deletes the joints, the exploded views and the view group. 2024-06-11 10:09:57 +02:00
PaddleStroke
47c22bec65 Assembly: Add validation step during dragging to ignore steps where grounded objects moved. 2024-06-10 11:35:04 -05:00
PaddleStroke
7345d76f2c Assembly: Add preference to enable debug files of dragging 2024-06-10 11:13:12 -05:00
Chris Hennes
b9cc70ff99 Merge pull request #14383 from Ondsel-Development/asm_invalid_limits
Assembly: Fix bad limits automatically
2024-06-03 11:06:50 -05:00
Chris Hennes
6404de9c21 Update translations 2024-06-03 11:04:42 -05:00
PaddleStroke
2bd57d0817 Assembly: Fix bad limits automatically. Fixes https://github.com/Ondsel-Development/FreeCAD/issues/61 2024-05-30 10:33:59 +02:00
PaddleStroke
9ec47a58a8 Assembly: Translate error 2024-05-30 10:33:19 +02:00
wmayer
560cab6f31 clang/gcc: Add build option FREECAD_WARN_ERROR to force to make warnings into errors 2024-05-29 13:37:07 +02:00
PaddleStroke
5fb3589f26 Assembly: Add 'Angle', 'Perpendicular' and 'Parallel' joints. 2024-05-27 11:59:06 -05:00
Jiří Mácha
635616c88f Missing property Object1 or Object2 of fixed joint causing crash (#13912)
* Assembly: removal of object of fixed joint causing crash

FreeCAD is crashing if the 'Object'
property of fixed joint (Assembly/Joints/Fixed/Joint Connector 1/Object1 or
Assembly/Joints/Fixed/Joint Connector 2/Object2) is manually removed.

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 'Object1' or 'Object2' of the 'Joint Connector 1' or 'Joint Connector 2'
   and remove this reference
 - click by your pointing device (mouse) to the arbitrary other property

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

This problem is similar to the
8d5348ad066aa216c387582bfdcf066966a4fe09.

* Assembly: fixed warning message text

The warning message text is not describing two cases which can happen,
but only one - property of specific joint.

* Assembly: avoiding possible crash in rack pinion joint code

Similar problems:

07c6df61f8456a6b02e88b369dcef5643ac1574e
and
8d5348ad066aa216c387582bfdcf066966a4fe09

were causing real crashes (Linux + Sway Wayland compositor) when
Fixed joint type was used.

This patch tries to avoid the same situation, but now for the
rack pinion joint type.

The returned pointer value (part1 and obj1) can get NULL pointer value
and is used in the code:

    if (obj1->getNameInDocument() != part1->getNameInDocument()) { ....

a few lines later.
2024-05-27 10:46:02 -05:00
Chris Hennes
73ae4102e6 Update translations
Arch->BIM is a WIP
2024-05-25 19:11:51 -05:00
PaddleStroke
0a06b03710 Assembly: JCS selection: cones surfaces offers the cone's apex. Fixes #13958 2024-05-20 12:00:17 -05:00
Max Wilfinger
323ec08e8e Update assembly icons to be consistent with main updates.
Add commands to menu/toolbar.
2024-05-20 10:46:45 -05:00
wmayer
154357f115 Assembly: Fix possible build failure with PCH 2024-05-17 13:12:24 +02:00
PaddleStroke
5f4dd814ea Core: Add getRootObjectsIgnoreLinks and fix bugs in tree.cpp and AssemblyObject.cpp, CommandInsertLink.py, UtilsAssembly.py 2024-05-13 17:58:34 +02:00
Chris Hennes
9fead3682d Update translations 2024-05-12 17:06:56 -05:00
wmayer
c1b7d38b27 Assembly: Fix warning: -Wunused-variable 2024-05-07 19:48:33 +02:00
PaddleStroke
b12b95b908 Assembly: Fix Gear Radius2 spinbox issue 2024-05-06 18:32:00 +02:00
PaddleStroke
fed17ff6f1 Assembly: Improve Exploded View's radial explosion, and various small fixes. 2024-05-06 18:32:00 +02:00
PaddleStroke
3d13f5353a Assembly: add try/catch blocks in drag step. 2024-05-06 18:32:00 +02:00
PaddleStroke
c8a6f2c55c Assembly: Improve tooltip of CommandCreateJointDistance 2024-05-06 18:32:00 +02:00
PaddleStroke
ce455de2c5 Assembly: Mark new features as experimental. To enable them you need to create a parameter called ExperimentalFeatures and set it to true. 2024-05-06 18:32:00 +02:00
PaddleStroke
3419d27077 Assembly: Make RackPinion and Screw easier to setup. 2024-05-06 18:32:00 +02:00
PaddleStroke
b25f90c694 Assembly: Fix small bugs in AssemblyObject.cpp, JointObject.py and UtilsAssembly.py 2024-05-06 18:32:00 +02:00
PaddleStroke
13c0ba1902 Assembly: Introduce Belt joint. 2024-05-06 18:32:00 +02:00
PaddleStroke
b4168c95ee Assembly: Drag: switch from solver Solve to dragStep. 2024-05-06 18:32:00 +02:00
PaddleStroke
60b902fc7e Assembly: Adds limit and RackPinion/Screw/Gears 2024-05-06 18:32:00 +02:00
PaddleStroke
083437b5ba Assembly: ViewProviderAssembly: Fix issues raised by @wwmayer 2024-05-06 18:32:00 +02:00
PaddleStroke
4d33659666 Assembly: Add Screw/Pulley/Gears/RackPinion icons. Credits to @maxwxyz 2024-05-06 18:32:00 +02:00
PaddleStroke
b35e4adc13 Assembly: Solve on recompute. Fixes #12983 2024-05-06 18:32:00 +02:00
PaddleStroke
670b945347 Assembly: Add support to origin components Fixes #12446 2024-05-06 18:32:00 +02:00
PaddleStroke
e264a25714 Assembly: Improve dragging behavior. Fixes #13058 2024-05-06 18:32:00 +02:00