Commit Graph

35 Commits

Author SHA1 Message Date
Slawomir Gonet
f9d79627b5 CAM: Fix Existing Stock from resetting
Due to a Qt signal setup, the clone object for Existing Stock stock type
was recreated every time the Job properties dialog was opened (during the
stock candidates list population).

This fix blocks the Qt signal from being emitted during the dropdown
population.
2025-05-13 09:35:04 +02:00
phaseloop
f0e9a6475f CAM: change design of origin axis (#20358)
* change design of CAM origin axis

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

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

* change Inventor example comment

* move to SoFCPlacementIndicatorKit - increase stock point size display

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

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

* Use So3DAnnotation for origin axis

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-04-07 20:04:27 +02:00
bdieterm
b9aa5c5d83 CAM: fix context menu callbacks for Qt6 2025-04-07 10:50:02 -05:00
Chris Hennes
fdb3f70719 Merge pull request #19661 from jbaehr/cam-improve-unit-warning
CAM: Improve warning text for improper unit scheme
2025-03-17 00:00:52 -05:00
Luz Paz
17102251e5 Fix various typos 2025-03-14 12:37:12 -04:00
Jonas Bähr
b0947a7a64 CAM: Improve warning text for improper unit scheme
The previous text suggested to change the scheme in the preferences,
however, the preferences only take effect for new documents. Now, that
we have the "ProjectUnitSystem" in place, the setting for the current
document needs to be changed.

The text is restructured accodring to the UX pattern for warnings:
 - What is the problem
 - How can I fix it
 - What happens if I don't
and includes a link to the wiki for further details.

In addition, the 'US Customary' was removed from the proposed schemes as
suggested during review.

Finally, the button text was decapitalized and aligned with the
style used in other parts of FreeCAD, e.g. the Start page.
2025-03-09 16:09:12 +01:00
Jonas Bähr
345778ac3a CAM: Refactor schema warning at job creation
This is a pure refactoring to clean up the code for upcomming changes.
It does not change any functionality or UI messages.
2025-03-09 16:03:36 +01:00
pre-commit-ci[bot]
c8b72c144e [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-02-03 22:51:14 +00:00
Stan Tomlinson
ef79d67510 improved checks in GUI/Jobs.py/claimChildren
eliminate some error messages when a Job is not fully loaded
  (or when not properly constructed via scripting)

TESTED ON V0.21 -- code hasn't changed since then
2025-01-27 17:52:16 +01:00
PaddleStroke
396963006b Core: SoShapeScale fix weird scaling on viewport resize. See https://github.com/FreeCAD/FreeCAD/issues/18382#issuecomment-2527623758 2024-12-10 17:15:13 +01:00
sliptonic
6ac0cb7588 set default directory for sanity (#15934)
Respond correctly if user cancels  Fixes #14796

Co-authored-by: Brad Collette <bradcollette@pop-os.localdomain>
2024-09-10 10:23:13 -05:00
Adrian Insaurralde Avalos
7274dac185 CAM: apply precommit 2024-09-03 14:54:36 -04:00
Shai Seger
e15af16232 [CAM SIMULATOR] Bug fixes for Issues #16073 and #16052 (#16118)
* Bug fixes for Issues #16073 and #16052

* Fix tool rendering when tool position is not reset. Issue #16180

* Fix some lint warnings
2024-09-02 11:31:08 -05:00
Shai Seger
a750034490 Cam simulator feature update (#15597)
* remove redundant code

* Improve lighting, add ambient occlusion

* Add cleanup code. Dialog is now deleted when cloesd.

* change back to ambient occlusion

* Fix G8x drill sequence bug.  issue #14369

* fix bad simulation artifacts under Linux and QT. Issue #14369

* fix merge issue

* fix border artifact on buttons

* support showing path lines. revise the gui.

* add option for arbitrary solids. wip

* use vectors instead of mallocs

* Handle arbitrary stock shapes + show base shape.

* Complete the base shape display feature. eliminate co-planar artifacts.

* support window scaling. upstream issue #14334

* Apply lint fixes

* some missing lints.

* Attend pylint issues

* Apply code fixes based on @kadet1090 review

* fix some clang-tidy warnings.

* CAM: Linter cleanup round 1

---------

Co-authored-by: Chris Hennes <chennes@gmail.com>
2024-08-21 15:18:52 -05:00
sliptonic
b5295411b5 Fixes https://github.com/Ondsel-Development/FreeCAD/issues/114
The refactored postprocessor system uses
a factory to load scripts.  The preference
system has logic to load the scripts to get the tooltips
That logic was overlooked during the refactor.
Added it here.
2024-07-22 10:50:53 -05:00
sliptonic
e252661db5 Fixes: https://github.com/Ondsel-Development/FreeCAD/issues/116
The migration of CAM to use the new material system left behind some
logic that created an old dedicated stock material property.

This commit removes that property
2024-07-22 10:50:53 -05:00
luzpaz
8a14a7d6f0 Path (and PathSimulator): Trim trailing Newlines 2024-07-14 09:26:15 +02:00
luzpaz
9a1f487cdb Fix various typos throughout the codebase 2024-07-08 17:19:20 -05:00
Max Wilfinger
7d21d9edb8 Fix source string typos mentioned on Crowdin (#15261) 2024-07-08 17:18:31 -05:00
jffmichi
c47e0ec507 Path: replace import of PySide2 with PySide 2024-06-22 08:17:16 -05:00
sliptonic
18a23b8260 Fixing 'red ink' bugs in CAM
fixes:  https://github.com/Ondsel-Development/FreeCAD/issues/93
fixes https://github.com/Ondsel-Development/FreeCAD/issues/87
fixes https://github.com/Ondsel-Development/FreeCAD/issues/88


fix threadmilling error if not proper tool
fix vcarve error if no proper tool
fix probe error if no proper tool
fix deburr error if no base geometry
Fix adaptive op error if no base geometry
2024-06-22 08:16:33 -05:00
sliptonic
e755fc1a5a Machining model and materials (#14460)
* Machining model and materials

Adds a few machinability material model
and a couple materials.  There's a button in the job dialog
to assign a material.

The sanity report is updated to display the surface speed for assigned materials

* improving the machinability model

* Introduce MaterialConstant for the machinability model

This constant is required to calculate the actual specific cutting force
from the normalized value. It determines how the actaual value varies
when the actual chip thickness gets further away from the normalization
point.

* Rename some machinability properties

- SpecificCuttingForce becomes UnitCuttingForce to clearer differentiate
between normalized and actual specific cutting force. The term unit
cutting force is used less often in literature, but
NormalizedSpecificCuttingForce as property name is too long for my taste.
- MaterialConstant becomes ChipThicknessExponent, as "material constant"
is just too generic for our context. In literature, this constant is most
often just used as the symbol m_c.

---------

Co-authored-by: Jonas Bähr <jonas.baehr@web.de>
2024-06-17 11:25:55 -05:00
shai
2a6a3649af Added a fix to issue #14613: tool shapes not shown correctly 2024-06-16 08:27:04 -05:00
shai
bd3f0893fd Fix issue #14513 - simulation of partially selected operations not working. 2024-06-16 08:27:04 -05:00
Shai Seger
ff40ef3586 New Cam simulator based on low level OpenGL functions (faster and more precise) (#13884)
* Initial opengl test window

* added core files

* some fixes for code comparability with other platforms

* more compatibility cleanup

* add missing opengl libraries

* Basic simulation window works!

* try using different define

* fix wrapper for better compatibility

* Gui is now operational

* Finally SIM works on actual freecad models

* support drill commands

* cleanup python script and add tool profile generation

* Now using actual tools specified in the operation.

* support mouse wheel and freecad-style 3d navigation

* Support accuracy gauge

* remove endsimulation reference

* show simulation speed indicator

* apply clang-format

* apply changes suggested by code review

* gui items are loaded via QT resource system instead of hard coded

* use vector instead of pointer to pass tool profile points

* Fix some more formatting errors.
2024-05-22 10:16:34 -05:00
sliptonic
a0e4184c73 fix minor bugs with sanity report and job visibility (#14043) 2024-05-16 07:27:45 -05:00
sliptonic
92a9b3061d Merge pull request #13668 from Ondsel-Development/RefactorPostCommand
Refactor post command
2024-05-06 09:49:28 -05:00
sliptonic
205d6339cb Make Job gui work with new PostProcessor class 2024-05-03 10:16:41 -05:00
Brad Collette
33e82c3d21 refactor Sanity
Logic is more modular with many more unit tests.
Reduced dependence on GUI
Cleaner template structure
2024-04-27 17:28:15 -05:00
Chris Hennes
f47138c08a Merge pull request #13520 from wwmayer/fix_material
Fix further material issues
2024-04-22 11:16:44 -05:00
sliptonic
85cdc56e60 translation stuff 2024-04-18 17:38:12 -05:00
wmayer
113782f65e CAM: fix regressions with material handling
The ShapeAppearance is a list of materials and thus assigning a color with 'obj.ViewObject.ShapeAppearance.DiffuseColor = color'
is incorrect.
But doing it with 'obj.ViewObject.ShapeAppearance[0].DiffuseColor = color' doesn't work as expected because the
internal notification doesn't work with a list.

So, the only viable way is to revert the changes and do it by assigning the color to the 'ShapeColor' attribute.
2024-04-18 13:57:48 +02:00
David Carter
495a96a0f5 Material: Material appearance
Uses new material system for appearance

Each feature object now has a property called ShapeMaterial that
describes its physical properties. If it has a shape, it has a
material.

The ShapeColor attribute is replaced by a ShapeAppearance attribute.
This is a material list that describes all appearance properties, not
just diffuse color. As a list in can be used for all elements of a
shape, such as edges and faces.

A new widget is provided to allow the user to select materials in a
consistent fashion. It can also launch the material editor with its
more advanced capabilities.
2024-04-04 07:39:58 -05:00
sliptonic
e2f8477f53 fix edgecase with missing toolshape
If the toolshape isn't on the local system, Sanity would fail trying to get the thumbnail.
Now fails gracefully.
2024-03-12 11:57:02 -05:00
Brad Collette
d041482ab7 move Path to CAM 2024-03-04 11:18:41 -06:00