Commit Graph

39749 Commits

Author SHA1 Message Date
Nicola Cerone
a90bbf27cc Gui: Added SendToPythonConsole item in PartDesign tree view right-click menu. 2024-12-06 11:46:46 -05:00
marioalexis
b7ccf634af Fem: Add box and elliptical beam section types - fixes #12614 2024-12-06 11:44:05 -05:00
wmayer
e34fd72956 App: Extend/change color API:
* Also set/get alpha value in setValue/asValue
* Add new static method fromValue
2024-12-06 11:37:45 -05:00
PaddleStroke
598e32cdb3 PartDesign: revert e49cfde and 7331dc3 to fix https://github.com/FreeCAD/FreeCAD/issues/17949 2024-12-06 11:36:51 -05:00
Chris Hennes
fb410d15a2 Update src/Mod/Points/Gui/Command.cpp 2024-12-06 10:33:56 -06:00
PaddleStroke
17e6aa9629 Sketcher: Rename movePoint to moveGeometries. 2024-12-06 16:45:47 +01:00
Roy-043
8e57726701 Draft: allow point for Trimex extrusion to be co-planar with the face
Fixes #14826.

If the point for the extrusion height is co-planar with the face, the normal of the face is used for the direction of the extrusion. The user can then enter a positive or negative value in the task panel. It is probably not the ideal solution, but better than what we have now I think.
2024-12-06 13:10:18 +01:00
FEA-eng
289a9cac4e FEM: Update checksanalysis.py 2024-12-05 21:21:17 +01:00
Roy-043
dd1a9835ea Merge pull request #18314 from Roy-043/Draft-make-Trimex-extrude-mode-link-aware
Draft: make Trimex extrude mode link-aware
2024-12-05 20:03:19 +01:00
Roy-043
393a3fd050 Draft: make Trimex extrude mode link-aware
Fixes #14670.
2024-12-05 15:53:38 +01:00
PaddleStroke
fd0121236b Sketcher: Fix first external geo deletion failure. 2024-12-05 15:23:25 +01:00
Yorik van Havre
f1988bfd0b BIM: Fixed IFC type icon 2024-12-05 12:31:56 +01:00
Yorik van Havre
d0cf727b7a BIM: NativeIFC: Support for types 2024-12-05 12:31:56 +01:00
Roy-043
9bd4d2466e Merge pull request #18299 from Roy-043/Draft-change-position-of-Scale-multiplier-field-in-UI
Draft: change position of 'Scale multiplier' field in UI
2024-12-05 12:17:38 +01:00
Roy-043
3f94f72eb5 Merge pull request #18307 from Roy-043/Draft-Fix-make_point-color-regression
Draft: Fix make_point color regression
2024-12-05 11:53:24 +01:00
Roy-043
bbbbc296de Merge pull request #18212 from Roy-043/Draft-Fix-finish-behavior-of-Draft_Edit-on-doc-close
Draft: Fix finish behavior of commands on doc close
2024-12-05 11:52:07 +01:00
Roy-043
05308ffa0c Draft: Fix make_point color regression
PR #12226 accidentally removed the handling of the color argument of the make_point function.
2024-12-05 08:36:34 +01:00
luzpaz
2d40efd555 Fix various typos
Found with codespell
2024-12-04 23:18:00 -05:00
Roy-043
9fd0d3b373 Draft: change position of 'Scale multiplier' field in UI
Fixes #16501.
2024-12-04 19:44:35 +01:00
looooo
baa9630049 CI: add pixi github action 2024-12-04 08:02:29 -08:00
looooo
a453920c30 pixi: add pixi.toml and pixi.lock 2024-12-04 08:02:29 -08:00
Vincent Belpois
e3508d9228 Fix incorrect displayed default compression level in preferences 2024-12-04 09:50:50 -05:00
wmayer
d2250d1f56 Fix compiler warnings 2024-12-04 09:50:09 -05:00
wmayer
8501d431fd Start: Fix opening file for writing 2024-12-04 09:49:53 -05:00
Roy-043
e7b9921535 Draft: Legacy DXF importer: fix layer block behavior (#18129)
Fixes #16550.
Fixes #16552.

* Layer blocks receive a name with the "LayerBlock_" prefix.
* They are put in a layer if the "Use layer" import option is checked.
* If Draft or Sketch objects are created a Part_Compound instead of a Draft_Block is created. This was done because a Draft_Block does not claim its children. I am not sure about this change. Maybe the behavior of the Draft_Block should be changed instead.

@yorikvanhavre: do you know why a Draft_Block does not claim its children?
2024-12-04 14:45:55 +01:00
PaddleStroke
95c3d4febc Sketcher: Group dragging 2024-12-04 10:58:29 +01:00
Abhiram
151bd7cd6c Fix: Ensure IFC context menu actions are displayed correctly 2024-12-04 09:49:26 +01:00
Yorik van Havre
1751c3db9a BIM: Added NativeIFC support to Add/remove tools 2024-12-04 09:46:26 +01:00
Yorik van Havre
5f6ba27a9d BIM: Fixed lock-unlock mode when opening IFC files - Fixes #18192 2024-12-04 09:25:06 +01:00
Chris Hennes
6d58b6e7b1 Merge pull request #15811 from AjinkyaDahale/sk-refactor-stage-1
[Sketcher] Round 1 of refactors
2024-12-03 22:44:10 -05:00
wmayer
4766581f2f CMake: Handle build time checks to choose between modern and/or legacy space mouse devices 2024-12-03 20:32:06 +01:00
Ajinkya Dahale
311a750aa1 [Part] Avoid nullptr when using createArc
We could make `GeomCurve::createArc(...) = 0`, but then it needs to be
implemented in many subclasses which cannot be incomplete. It is implemented for
some of them, but others may need additional work (e.g. offsets), and would need
some exception throwing similar to what is now used.
2024-12-04 00:57:41 +05:30
Ajinkya Dahale
4e476b9c78 [Sketcher][test] Add and use helper function to get points of interest 2024-12-04 00:57:41 +05:30
Ajinkya Dahale
1a851a38b1 [Sketcher] Use variable for frequently used static cast in trim 2024-12-04 00:57:41 +05:30
Ajinkya Dahale
f16556647b [Sketcher] Remove some commented code from SketchObject::trim()
...and replace with a TODO
2024-12-04 00:57:41 +05:30
Ajinkya Dahale
94efeade32 [Sketcher] Remove some unneeded comments 2024-12-04 00:57:41 +05:30
Ajinkya Dahale
c0f800615e [Sketcher] Use switch-case in getPointForGeometry()
Minor readability improvement.
2024-12-04 00:57:41 +05:30
Ajinkya Dahale
fbc6445198 [Sketcher] Refactor SketchObject::trim()
1. Use `Part::GeomCurve::createArc()`
2. Refactor constraint logic in `trim`
2024-12-04 00:57:40 +05:30
Ajinkya Dahale
427a6853b6 [Part] Add methods to create an arc of the curve 2024-12-04 00:57:40 +05:30
Ajinkya Dahale
ed59a23778 [Sketcher] Add some utility functions to Sketcher::Constraint
`involvesGeoId`, `invovesGeoIdAndPosId`, `substituteIndexAndPos`
2024-12-04 00:57:40 +05:30
Ajinkya Dahale
680b4bdb2e [Sketcher] Some trivial for loop changes in SketchObject 2024-12-04 00:57:40 +05:30
Ajinkya Dahale
398c95eb66 [PartDesign] Fix TestTopologicalNamingProblem
Issue caused by refactor of `SketchObject::trim()`.
2024-12-04 00:57:40 +05:30
Ajinkya Dahale
d652db63f0 [Sketcher] Attempt to fix toponaming issue on trim refactor
TNP fix algorithm doesn't seem to like when edge with geoId 0 is deleted/made
construction after new geometry is added. Instead, we just ensure that one of
the newly added geometries becomes geoId 0 instead.

Making a `generateId(const Part::Geometry*)` was part of earlier attempts, but
still appears to remain relevant. This part can be reverted if necessary.
2024-12-04 00:57:40 +05:30
Ajinkya Dahale
30e95ee86a [Sketcher] Refactor SketchObject::trim()
DO NOT MERGE because not complete: not all constraints are not transferred.

Includes:

* Adjust `deriveConstraintsForPieces` for trim
* Make sure new points are constrained on the cutting edges
* Add constraints at trim end(s) dependent on pre-exisiting ones with cutting curve(s). Also change tests to reflect that auto-coincidence can now be applied to non-periodic curves as well.

Known issue(s):
* Some redundant constraints may be added under certain circumstances (e.g. in
presence of perpendicular-via-point)
2024-12-04 00:57:40 +05:30
Ajinkya Dahale
bf4eed0921 [Sketcher] Refactor SketchObject::split() 2024-12-04 00:57:40 +05:30
Ajinkya Dahale
75a347490e [Sketcher] Add tests for split and trim
Includes:
* Tests for splitting and trimming of various types of curves
* Assertions on constraints expected to be added on these curves
2024-12-04 00:57:40 +05:30
Ajinkya Dahale
077fe45acd [Sketcher] Refactor SketchObject::AutoLockTangencyAndPerpty() 2024-12-04 00:57:40 +05:30
Ajinkya Dahale
f5de512cf3 [Sketcher] Refactor SketchObject::delGeometry()
Just dropped cognitive complexity to 25.
2024-12-04 00:57:40 +05:30
Ajinkya Dahale
5bf1c3dac0 [Sketcher] Refactor SketchObject::getPoint()
...to reduce cognitive complexity.

Use templates to break longer functions. Also makes it possible to avoid
repetition of type-checking logic.
2024-12-04 00:57:39 +05:30
Ajinkya Dahale
03b143a0d1 [Sketcher][test] Add unit tests for SketchObject::getPoint() 2024-12-04 00:57:39 +05:30