Commit Graph

1298 Commits

Author SHA1 Message Date
marioalexis
ac533ef3f1 Part: Rename ViewProviderPartExtPy class files 2024-06-03 12:48:15 +02:00
David Carter
8b5a3b1124 Material: Appearance Updates 2
Improves the use of the ShapeAppearance property for the Part workbench.

    removes DiffuseColor property
        adds Python compatibility using custom attributes
        transitions DiffuseColor to ShapeAppearance on open
    Improved UI elements for setting object appearance, and appearance per face
    Lays the foundation for future texture support
2024-06-01 19:57:16 -05:00
wmayer
4185605d5e clang/gcc: Add build option FREECAD_WARN_ERROR to force to make warnings into errors 2024-05-29 13:37:07 +02:00
David Carter
51be8e7b4e Material: Appearance and Material inspectors
Dialogs to view the Appearance and Material properties of an object

These inspectors are intended to be used when debugging Appearance and
Material issues in a model.

The Appearance inspector displays the appearance properties of an
object. This will be more useful once PR 13792 is merged which migrates
parts to use ShapeAppearance instead of DiffuseColor. This shows each
of the appearance properties per face for the object.

The Material inspector shows the material, models, and properties
assigned to a model. It displays useful debugging information such as
the UUID and file paths associated with eacch of the items. This is
useful when finding and resolving model conflicts.

The material inspector now gives the option of copying the information
to the clipboard.
2024-05-27 10:50:35 -05:00
Max Wilfinger
6074bcf1ff replace selection filter icon with no filter icon 2024-05-27 10:37:24 -05:00
Chris Hennes
d4f780782d Update translations
Arch->BIM is a WIP
2024-05-25 19:11:51 -05:00
Chris Hennes
74db404039 Merge pull request #14074 from NomAnor/pd-icons
Change PartDesign Pad and Revolution tree icons
2024-05-20 11:45:16 -05:00
Kacper Donat
3f2d5b83b5 Gui: Add ability to disable single-solid rule by default 2024-05-20 12:25:36 -04:00
André Althaus
234bad1d0b Replace remaining yellow Part icons with blue ones 2024-05-19 12:12:48 +02:00
André Althaus
9b4c4ce60c Replace the yellow Part primitive toolbar icons with the blue tree icons 2024-05-19 12:12:48 +02:00
wmayer
f3327475b9 Gui: move to new-style connect() in createEditor() 2024-05-14 15:58:44 +02:00
Chris Hennes
e703615603 Update translations 2024-05-12 17:06:56 -05:00
Chris Hennes
a2b0941540 Update translations
Also removes Web from translation scripts.
2024-05-06 18:17:53 +02:00
hlorus
7ff4da5a27 [Part/PD] Remove measure tools 2024-04-29 09:27:22 -04:00
hlorus
ce36dcc379 [Part] Move VectorAdapter into own file in PartGui 2024-04-29 09:27:22 -04:00
hlorus
c054fe64b3 [Part] Move ArcEngine into own file in Gui module 2024-04-29 09:27:22 -04:00
Chris Hennes
1ec93fdbc2 Update translations
Note: Web and Start omitted
2024-04-24 13:58:21 -05:00
wmayer
c3f9e6eed7 Part: Support of material colors in settings 2024-04-19 11:14:00 +02:00
Chris Hennes
6d504a0351 Update translations. 2024-04-17 16:50:38 -05:00
wmayer
74f614a93d Fix handling of transparency / Restore colour per face
The Materials module does a conversion from float to double when saving the transparency and again a conversion from double to float to double
when restoring it. This causes a considerable loss of accuracy so that the representation in percent leads to different numbers.

Using consistently some helper functions to do a proper conversion from float to long and back fixes the problem.

The new property ShapeAppearance is a PropertyMaterialList and always read after the DiffuseColor property when restoring a document.
Thus, the  method onChanged() doesn't override DiffuseColor when restoring a document. Additionally, the method finishRestoring() is re-implemented
to set the colours per face in case DiffuseColor has defined multiple colors.
2024-04-10 13:32:58 +02:00
wmayer
0a5a1a5c32 Part: fix import of STEP files with colors per face 2024-04-09 22:15:51 +02:00
wmayer
8cba167241 Part: fix some further regressions:
* Correctly load a file if colors are set per face
* Result of boolean operation is correctly colored if source objects have different colors
* Result of compound is correctly colored if source objects have different colors
2024-04-09 22:15:51 +02:00
wmayer
b7bc6ad1e6 Gui: add security checks to view provider extensions because they can be accessed if a document objects is not yet attached 2024-04-09 22:15:51 +02:00
wmayer
9b7a7b9756 Part: fix Part_RefineShape and Part_Section 2024-04-09 22:15:51 +02:00
wmayer
36d043cbbd Mod: code cleanup 2024-04-09 22:15:51 +02:00
wmayer
a19afb0f7d Gui: fix ViewProviderGeometryObject
* fix several linter warnings
* remove code that cannot be executed: inside the constructor it cannot ever happen that getObject()
  returns a valid object
* in ViewProviderGeometryObject::handleChangedPropertyName call the method of the direct base class
  as otherwise this may break the mechanism in the future
* Shape is a property of an extension module -> move its handling to ViewProviderPartExt
2024-04-09 22:15:51 +02:00
wmayer
b09289471d Gui: Fix broken toolbars layout due to MaterialWorkbench
The explicit activation of the MaterialWorkbench breaks the toolbars layout for every start. When fixing it manually it will be broken
again after the next start.

Because the core doesn't depend on the Material module it's a no-go to add an explicit runtime dependency to the corresponding workbench.

Since the Part module depends on the Materials module and the PartGui on MatGui the correct way is to let Part an PartGui load their
dependencies.
2024-04-05 10:08:06 +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
Max Wilfinger
6ca8b2daae update hardcoded XPMs to .svg files. Updated .svg icons for clarity. 2024-03-30 11:25:13 +01:00
Chris Hennes
49451b3c7f Merge pull request #13154 from chennes/translations20240325
Update translations and fix script
2024-03-28 13:51:39 -05:00
wmayer
8aee9c35a4 Part: use of TaskDialog::addTaskBox 2024-03-26 15:57:20 +01:00
wmayer
2c4fbc5427 Part: make GUI for ProjectOnSurface feature 2024-03-26 15:54:13 +01:00
wmayer
969106d2a7 Part: add ViewProviderProjectOnSurface 2024-03-26 15:54:13 +01:00
Chris Hennes
af131413c5 Update translations 2024-03-25 18:08:22 -05:00
Chris Hennes
47df83c4db Translation update: move Path to CAM 2024-03-25 17:32:59 -05:00
wmayer
d5b90e50af Gui: Apply clang-format on DlgProjectionOnSurface and fix linter warnings 2024-03-24 00:54:57 +01:00
bgbsww
28cb508489 Toposhape/Part: Cleanup FeatureFillet, FeatureChamfer and dependencies 2024-03-19 11:10:18 -04:00
Zheng, Lei
4f3d23fe98 Toposhape/Part: Transfer in FeatureFillet, FeatureChamfer and dependencies 2024-03-18 22:05:25 -04:00
Chris Hennes
1f94569b93 Part: Remove trailing spaces from translations 2024-03-12 22:42:19 -05:00
Chris Hennes
8a6bc53dd6 PD: Translate attachment task title
Eliminate default title, which is untranslatable.
2024-03-11 18:08:22 +01:00
Chris Hennes
da36c0c1f3 Merge pull request #12066 from 3x380V/time_cleanup
Base: Use std::chrono for time manipulation
2024-03-05 15:47:33 -06:00
Yorik van Havre
1e164f24c0 Translations (#12748)
* Updated ts files

* Merged crowdin translations

* [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-05 08:54:36 -06:00
Ladislav Michl
e4d304f934 Base: Implement TimeElapsed
Some instances of TimeInfo serve the sole purpose of measuring time
duration. Using system time is unfortunate as it returns wall clock,
which is not guaranteed to be monotonic. Replace such a usage with
the new TimeElapsed class based on steady clock.
2024-03-05 12:29:24 +01:00
Chris Hennes
16016e2d2b Part: Correct context for selection filter 2024-03-05 10:39:25 +01:00
Josh Coalson
a8ae56e06a Part: Rename AttachExtension::Support property to AttachmentSupport, to avoid name conflict with base features. Fixes #7052 2024-03-04 18:22:43 +01:00
Chris Hennes
b6c8f8d460 Update translations 2024-02-29 17:25:46 -06:00
Chris Hennes
7f8d6e2bb1 Update translations (#12557)
* Update translations

* [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-02-24 21:38:37 -06:00
wmayer
53b512da1c MSVC: fix compiler warnings 2024-02-25 00:12:34 +01:00
Max Wilfinger
f6f8243b7e [Material] Adjust default material appearance (#12380) 2024-02-17 20:07:44 -06:00
LemonBoy
7f5d89fa19 Part Attacher: Implement 1D intersection for attachments (#12328)
* PD: Implement 1D intersection for attachments

Extract a line from the intersection of two faces.

Closes #6870

* fixup! Use Handle macro

For some reason I don't fully understand yet the CI was failing, let's
see if this fixes the compilation errors.

* fixup! Add missing(?) header

Well, it compiles just fine on my system...

* fixup! Be more specific in error messages
2024-02-13 17:45:01 -03:00