Commit Graph

3584 Commits

Author SHA1 Message Date
wmayer
a58eebd903 Gui: Move texture handling to view provider extension
It should be avoided to add all stuff to the base class when it's only needed in one sub-class
2024-06-11 11:55:44 +02:00
bgbsww
d467236564 Guard all uses of basic_random_generator for thread safety 2024-06-10 11:10:57 -05:00
wmayer
954d2c1ac3 Gui: Refactor DlgMaterialPropertiesImp
Because a PropertyMaterialList property is used now it makes no sense any more to pass a list of view providers to the dialog
as it's impossible to set the material at a certain index.
Therefore the dialog has been simplified and setting the material property must be done by the calling instance.
2024-06-10 10:50:46 -05:00
Mihail Dumitrescu
417e6559b4 Add ParallelPlane attachment mode.
It results in an attachment similar to ObjectXY but with the XY plane translated to pass through a selected vertex.

It is most useful to place sketches: pick a plane (XY, XZ, YZ) or another sketch then select a vertex to automatically translate the sketch in the Z-direction. In contrast to the Translate mode it does not change the origin.
2024-06-10 10:47:00 -05:00
FEA-eng
f5486bca3e Part: Add Sketcher_NewSketch to Part toolbar (#14318)
* Update Workbench.cpp

* Part: Update InitGui.py
2024-06-10 10:36:39 -05:00
wmayer
d4325a6bd8 Part: Add FaceMakerMode of type PropertyEnumeration
This is added to conveniently change the face maker type of an extrusion object.

Hint: A new property is used to avoid to break project files when opening it with an older version.
2024-06-03 11:29:01 -05:00
Florian Foinant-Willig
309dd6e30d PD Extrude up to multiple faces or shape 2024-06-03 11:26:19 -05:00
wmayer
04cf749a4a Part: Add AttacherEngine of type PropertyEnumeration
This is added to conveniently change the attacher type of a Part object.

Hint: A new property is used to avoid to break project files when opening it with an older version.

See also forum thread: https://forum.freecad.org/viewtopic.php?t=87891
2024-06-03 11:24:09 -05:00
VM4Dim
2df0f3631d Part: Not needed translation for STEP (file format name) 2024-06-03 11:16:26 -05:00
Chris Hennes
696196d8f0 Update translations 2024-06-03 11:04:42 -05:00
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
ffad1e0c34 Mod: Fix several compiler warnings 2024-05-30 08:55:11 +02: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
7d3f6e2ad1 Materials: Editor UI enhancements
When creating a new material, assigning the basic
rendering model to the material resulted in an all
black color. This will now be assigned the default
color as specified in the preferences.

The name of the material Properties tab has been
changed to Physical for improved consistency in
the user interface.
2024-05-27 11:35:00 -05: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
bgbsww
db48a78d5a Toponaming used mapped index to find shape. fix #14194 2024-05-23 23:48:34 -05:00
Konstantinos Melissaratos
35e9756389 Update FeaturePartFuse.cpp
Fixed typo error
2024-05-23 11:31:37 +02:00
Konstantinos Melissaratos
ead8ad8339 Adding parallel running to the multi_fuse operation 2024-05-23 11:31:37 +02:00
bgbsww
1eac717f8f Toponaming: replace MultiFuse implementation to fix face colors 2024-05-20 12:40:43 -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
Chris Hennes
1b0dba3241 Merge pull request #13906 from Rexbas/align-camera
Align camera to faces and edges
2024-05-20 11:28:24 -05:00
Kacper Donat
3f2d5b83b5 Gui: Add ability to disable single-solid rule by default 2024-05-20 12:25:36 -04:00
Kacper Donat
f8c47b55cb PartDesign: Introduce ability to disable single-solid rule
This adds "SingleSolidRuleMode" enum that controls if PartDesign will
enforce singular solid. By default the single-solid is enforced so
nothing changes for the user, it must be explicitly disabled by setting
new Allow Compound boolean property on a given body.

Default for this value is controled using user parameter under
Mod/PartDesign/AllowCompoundDefault
2024-05-20 12:25:36 -04:00
Chris Hennes
8157504bdd Merge pull request #14004 from wwmayer/prop_item
Gui: move to new-style connect() in createEditor()
2024-05-20 10:45:54 -05: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
bgbsww
9decb98c71 Toponaming: adjust tests 2024-05-18 14:12:04 -05:00
bgbsww
2657bbee4d Minor test tweaks, and small fixes to pass tests 2024-05-17 19:14:01 -05:00
bgbsww
7f4d7a20f1 Simplify offset tests 2024-05-17 08:10:43 -04:00
bgbsww
b72a8c4222 Toponaming: Bring in Chamfer, Fillet code and add tests (#14035)
* Toponaming: bring in missing code fragments in Sketcher

* Toponaming: Fix infinite recursion, remove debug cruft, rough in fillet test

* Bring in missing code; fix chamfers

* Toponaming: Add code for fillets and test
2024-05-15 19:43:30 -04:00
wmayer
f3327475b9 Gui: move to new-style connect() in createEditor() 2024-05-14 15:58:44 +02:00
Bas Ruigrok
fb1539f48e Part: Implement getCameraAlignmentDirection() for PartFeature
Returns normal of a face or direction of an edge
2024-05-13 19:03:56 +02:00
bgbsww
84ae6b9b7b Toponaming: bring in missing code fragments in Part 2024-05-12 23:08:06 -04:00
Chris Hennes
e703615603 Update translations 2024-05-12 17:06:56 -05:00
bgbsww
45c4aefaae Rework makeElementChamfer to match current parms, and add PartDesign code for Chamfers 2024-05-12 13:28:20 -05:00
wmayer
82101ac890 Part: Fix memory leaks 2024-05-08 20:01:54 +02:00
bgbsww
71d96bccac Fix tests, slip in TNP defense 2024-05-07 13:42:21 -04:00
bgbsww
8fff92618c Toponaming/Part: Fix fillet/pad bug, add tests 2024-05-07 09:40:48 -04:00
Chris Hennes
a2b0941540 Update translations
Also removes Web from translation scripts.
2024-05-06 18:17:53 +02:00
Martin Rodriguez Reboredo
9759da82e4 Fixups with Qt6 enums (#13611)
* Python PySide enums to C++ converter

* Python IntFlags to C++ int in getStandardButtons

* Remove int conversion in mods Python sources
2024-05-06 18:02:18 +02:00
wmayer
1febe5cde8 Part: Create CompSolid/Compound/Shell if null before adding a sub-shape
Creating a shape with Part.CompSolid(), Part.Compound() or Part.Shell() is a null shape. In order to allow to append sub-shapes with the add()
method a valid shape must be created beforehand.

This fixes #13208
2024-05-06 17:45:58 +02:00
bgbsww
ad0cb61656 Toponaming/Part: unify revolution changes 2024-05-02 18:50:02 -05:00
tomate44
c7c07f28c6 add unit test for edge split method 2024-05-01 22:15:09 +02:00
tomate44
2a07bce5b5 Preserve pcurves in TopoShapeEdge.split 2024-05-01 22:15:09 +02:00
wmayer
56f84c8042 Fix various compiler warnings:
* fix -Wunused-parameter
* fix -Wunused-function
* fix -Wunused-private-field
* fix -Wunused-variable
* fix -Winconsistent-missing-override
2024-04-30 16:59:31 +02:00
wmayer
9e4def7104 Part: Remove cyclic dependency to Measure module
Although there is no cyclic dependency between the shared libraries it's still odd to have it on source files
2024-04-30 16:23:23 +02:00
hlorus
7ff4da5a27 [Part/PD] Remove measure tools 2024-04-29 09:27:22 -04:00