Commit Graph

31768 Commits

Author SHA1 Message Date
Roy-043
2fc0c9a12c Draft: Tweak working plane code (#21672)
* The new align_to_face_and_edge functions would align the Y axis to the edge. This should be the X axis.
* The align_to_point_and_axis functions did not accept a zero length upvec.
* Added a return value to the _next function for compatibilty with its counterpart the _previous function.
2025-06-01 09:13:19 +02:00
Chris Hennes
b7bd7e0ce2 CAM(PathSimulator): Use single-precision pi
All of PathSimulator uses floats, rather than doubles: to prevent
compiler warnings about truncation, explicitly use the single-precision
version of the standard pi constant.
2025-05-31 17:57:24 -05:00
Chris Hennes
45b484f3b3 CAM(libarea): Fix encoding of clipper.cpp
This file was encoded in ISO-8859-1, but contained characters that were illegal
in that encoding (superscripts). Convert to UTF-8.
2025-05-31 17:48:38 -05:00
James Stanley
7093b0b9f0 PartDesign: Add OCCT progress support to FeatureTransformed.
Include `<Base/ProgressIndicator.h>` and bail out when
`Base::ProgressIndicator::getInstance().UserBreak()` returns true during
transformation loops and composite operations in
`FeatureTransformed.cpp`.
2025-05-30 18:25:32 +01:00
Joao Matos
2da938b545 Part: Add OCCT progress support to Part boolean and shape builders
Introduce a `Build(const Message_ProgressRange&)` overload in
`FCBRepAlgoAPI_BooleanOperation` (guarded by `OCC_VERSION_HEX <
0x070600`) and route user-abort checks around the operation. Add a new
`OCCTProgressIndicator` adapter (`OCCTProgressIndicator.h`) that bridges
`Message_ProgressIndicator` to `Base::ProgressIndicator`. Include
`OCCTProgressIndicator.h` where needed and update all `Build()` calls in
`TopoShape` and `TopoShapeExpansion` to pass
`OCCTProgressIndicator().Start()`, enabling singleton-based progress
reporting and user-break handling.
2025-05-30 18:25:32 +01:00
wmayer
9497ddf5e1 Gui: Replace calls of FCMD_SET_EDIT with Gui::cmdSetEdit 2025-05-30 18:04:33 +02:00
wmayer
b006a37010 Gui: Add Action::setBlockedChecked
Remove the second parameter of Action::setChecked and
provide Action::setBlockedChecked instead.
2025-05-30 14:21:53 +02:00
tarman3
70d243584a CAM: Simulator - Drilling - RetractMode G98/G99 2025-05-30 08:52:54 +03:00
tarman3
34b449bd0c CAM: Drilling - Retract mode readonly 2025-05-30 00:23:38 +03:00
sliptonic
f3b6c29784 Merge pull request #21303 from tarman3/array
CAM: Added property CycleTime to old Array
2025-05-29 15:43:47 -05:00
theo-vt
1a0a68ae69 PartDesign: Fix hole centered on point edge case (#21257)
* Light refactor of getTopoShape function

* Fix hole edge case

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

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

* Update src/Mod/Part/App/PartFeature.cpp

Co-authored-by: Kacper Donat <kadet1090@gmail.com>

* Update src/Mod/Part/App/PartFeature.cpp

Co-authored-by: Kacper Donat <kadet1090@gmail.com>

* Update src/Mod/Part/App/PartFeature.cpp

Co-authored-by: Kacper Donat <kadet1090@gmail.com>

* Update src/Mod/Part/App/PartFeature.cpp

Co-authored-by: Kacper Donat <kadet1090@gmail.com>

* Refactor simplifyCompound()

* Use Base::Flags<GetShapeOption>

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

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

* Shorten enum name and move it from class scope to namespace scope

* [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>
Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-05-29 22:37:54 +02:00
Samuel Abels
a74d25c072 CAM: Fix: case_sensitive argument for glob() not supported in Python 2.10 2025-05-29 20:18:40 +02:00
Samuel Abels
6be1fc9bf4 CAM: Handle import of unknown shape types gracefully; allow case insensitive filenames, and allow invalid tool ID data type 2025-05-29 19:50:51 +02:00
sliptonic
40ed30397c Merge pull request #21416 from jffmichi/custom_gcode_allow_empty_lines
CAM: allow empty lines in Custom operation
2025-05-29 09:47:32 -05:00
Alfredo Monclus
a46dfd3213 Start: fix thumbnails not keeping aspect ratio 2025-05-29 15:00:37 +02:00
Benjamin Bræstrup Sayoc
2438156b23 TechDraw: fix incorrect click handles of editable labels (#21131)
Fixes #20964:
- When `text` element doesn't have id
- When `text` element has transform attribute
2025-05-29 08:30:59 -04:00
tarman3
c6bbd60e44 CAM: Dressup context submenu 2025-05-29 09:23:29 +03:00
PaddleStroke
42e98afa30 TechDraw: Fix DrawViewSpreadsheet being assigned wrong QGI in QGSPage.cpp (#21623) 2025-05-29 00:06:34 +02:00
sliptonic
093fbf5f40 Merge pull request #21530 from jffmichi/sort_all_drilling
CAM: sort locations for all drilling operations
2025-05-28 13:55:20 -05:00
sliptonic
d045074b27 Merge pull request #21528 from mosfet80/piDef
CAM: using std::numbers pi definition
2025-05-28 13:53:00 -05:00
tarman3
09783ade8c CAM: Dressup Boundary - CmdMoveDrill 2025-05-28 19:39:50 +03:00
tetektoza
e6ec691ac1 BIM: Add support for deactivation active object to BIM Views Tree (#21570)
* BIM: Use checkbox in model tree for Activation/Deactivation of WP

* BIM: Set active object after deactivating current object if it exists

Currently we can get into a scenario where user can activate two working
planes, one after another. For example, Level, and  then Level001. If
they activate both, and then deactivate Level001, working plane switches
back to Level. But, we didn't set the object as the active one, so user
didn't have clear information that they can deactivate it, only the
working plane was switching it.

So this patch sets the object as the active one, if it exists.

* BIM: Add support for deactivation active object to BIM Views Tree

As the title says - it adds the checkbox that's similarly done in Part
workbench, so user can select/deselect the item and if they had previous
active object, it will also fall back to the previous object.

Also, moved out part of the common logic from ArchBuildingPart and
BimViews to utils.

* BIM: Handle correct context on activating WP for NativeIFC/BIM

* BIM: Remove redundant logic from BIM Views upon double click

As all of the logic is being handled now in `activate` function in
BimViews, this logic is redundant

* BIM: Rename button for taskbar and BIM Views from Activate to Active
2025-05-28 11:27:11 +02:00
tarman3
5db7d0aa24 CAM: Dressup LeadInOut - fix property name select style 2025-05-28 12:19:20 +03:00
Samuel Abels
6500e14c6c CAM: Fix: Custom tool parameters not showing up in property editor 2025-05-28 09:39:43 +02:00
Samuel Abels
1cd7e7015f CAM: Fix: Chamfer schema was missing TipDiameter 2025-05-27 22:50:40 +02:00
Yorik van Havre
40d385859a Draft: Added snap recenter functionality (#19728)
* Allow to align the working plane on selected edge + face of a same object, which aligns the plane with the face, but positions it on the edge (the WP is positioned on the edge's first vertex, the WP's X axis is aligned with the edge, and the face's center point provides the third point to define the plane)
* Added a "Recenter" in-command shortcut. This moves the WP to be centered on the current snap position (the WorkingPlane snap button is taken into account, so one can only move the WP in the same plane or not).
2025-05-27 19:17:43 +02:00
tarman3
8e1c90d09c CAM: Set outside by default for selected Edges 2025-05-27 20:10:57 +03:00
Samuel Abels
d63cfa50cb CAM: remove left over debug print 2025-05-27 16:20:24 +02:00
Samuel Abels
23536f0ff3 CAM: No need to copy defaultl shapes anymore, because the asset manager now dynamically fetches built-in shapes as a fallback 2025-05-27 16:04:10 +02:00
Benjamin Nauck
89f2bbe6b9 Merge pull request #21552 from alfrix/fixup_hole
PD: Fixup hole
2025-05-27 15:00:13 +02:00
Samuel Abels
a6de157b1e CAM: Fix: ShapeType not displayed correctly in property editor 2025-05-27 12:46:12 +02:00
Samuel Abels
a2a5303df8 CAM: Improved handling of toolbit shape type inference 2025-05-27 12:07:19 +02:00
Samuel Abels
5fe73e2393 CAM: Refactor ToolBit.from_dict() for clarity and to generate more relevant warnings 2025-05-27 09:30:35 +02:00
Samuel Abels
63ebc0ae68 CAM: Change Camotics file extension to .json 2025-05-26 23:53:58 +02:00
Samuel Abels
ff2a060d1e CAM: Improve LinuxCNC and Camotics serializer tests 2025-05-26 23:53:30 +02:00
Samuel Abels
7284c32b9d CAM: use three decimals in LinuxCNC export 2025-05-26 23:43:28 +02:00
Samuel Abels
36f0f21b63 CAM: Fix: all toolbits in camotics exported as Cylindrical 2025-05-26 23:42:44 +02:00
Samuel Abels
bd9f1257bc CAM: only copy shape icons if the shape folder is not initialized 2025-05-26 23:36:50 +02:00
Luz Paz
5d27b46a87 Fix various typos
Found via codespell
2025-05-26 21:40:10 +02:00
pre-commit-ci[bot]
3be67e0286 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-05-26 17:17:07 +00:00
Samuel Abels
315eaf56a4 CAM: Fix: Only attach view if the Gui is up 2025-05-26 19:13:00 +02:00
Samuel Abels
2015cfedfb CAM: Fix recursionlimit due to invalid overwrite of exec() 2025-05-26 19:04:27 +02:00
Samuel Abels
2b9257f669 CAM: Reintroduce Save button for the library editor 2025-05-26 18:49:17 +02:00
Samuel Abels
c688591121 CAM: Fix: viewprovider not added when adding a tool to a document from the dock 2025-05-26 18:16:23 +02:00
Pieter Hijma
8c01d577e7 Core: Update expressions on property rename
This includes both expressions in generic containers and in
spreadsheets.
2025-05-26 18:11:27 +02:00
Samuel Abels
45b2755de8 CAM: Fix SurfaceSupport operation for new type toolbits 2025-05-26 17:53:32 +02:00
Samuel Abels
1e68d4045f CAM: Add CamAssetManager now falls back to builtin assets if not found in user assets 2025-05-26 17:40:19 +02:00
Samuel Abels
cf2d1ae480 CAM: AssetManager now supports passing mutilple stores to all get_*() methods 2025-05-26 17:40:03 +02:00
Chris Hennes
fc8788f0b7 CAM: Ensure float constants are single-precision (#21322)
* CAM: Ensure float constants are single-precision

* Revert suggestion

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-05-26 17:38:34 +02:00
Samuel Abels
6d11221461 CAM: Rename getBuiltinToolPath to getBuiltinAssetPath 2025-05-26 17:34:49 +02:00