Commit Graph

3083 Commits

Author SHA1 Message Date
bgbsww
42eb4fdda6 Guard all uses of basic_random_generator for thread safety 2024-06-10 11:10:57 -05:00
wmayer
d53d1c0622 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
0346c94b50 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
f13298dea3 Part: Add Sketcher_NewSketch to Part toolbar (#14318)
* Update Workbench.cpp

* Part: Update InitGui.py
2024-06-10 10:36:39 -05:00
wmayer
8584dd8dff 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
7ffddb6f7d PD Extrude up to multiple faces or shape 2024-06-03 11:26:19 -05:00
wmayer
526cc024ad 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
cb61cb59df Part: Not needed translation for STEP (file format name) 2024-06-03 11:16:26 -05:00
Chris Hennes
6404de9c21 Update translations 2024-06-03 11:04:42 -05:00
marioalexis
a5f4507690 Part: Rename ViewProviderPartExtPy class files 2024-06-03 12:48:15 +02:00
David Carter
5feb963f9d 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
3e23bd759b Mod: Fix several compiler warnings 2024-05-30 08:55:11 +02:00
wmayer
560cab6f31 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
c5df1b3e55 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
a0fdc86948 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
2595cbf06b replace selection filter icon with no filter icon 2024-05-27 10:37:24 -05:00
Chris Hennes
73ae4102e6 Update translations
Arch->BIM is a WIP
2024-05-25 19:11:51 -05:00
bgbsww
60ef70b81e Toponaming used mapped index to find shape. fix #14194 2024-05-23 23:48:34 -05:00
Konstantinos Melissaratos
22a1497c3f Update FeaturePartFuse.cpp
Fixed typo error
2024-05-23 11:31:37 +02:00
Konstantinos Melissaratos
333f2913fe Adding parallel running to the multi_fuse operation 2024-05-23 11:31:37 +02:00
bgbsww
471f0a6ab7 Toponaming: replace MultiFuse implementation to fix face colors 2024-05-20 12:40:43 -05:00
Chris Hennes
40c5d137d2 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
0e0fce5678 Merge pull request #13906 from Rexbas/align-camera
Align camera to faces and edges
2024-05-20 11:28:24 -05:00
Kacper Donat
302706be38 Gui: Add ability to disable single-solid rule by default 2024-05-20 12:25:36 -04:00
Kacper Donat
e4ed0d883f 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
407a572d2f 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
0e8bf744bf Replace remaining yellow Part icons with blue ones 2024-05-19 12:12:48 +02:00
André Althaus
de6fe29d30 Replace the yellow Part primitive toolbar icons with the blue tree icons 2024-05-19 12:12:48 +02:00
bgbsww
6a947afda5 Toponaming: adjust tests 2024-05-18 14:12:04 -05:00
bgbsww
e50ef22e7b Minor test tweaks, and small fixes to pass tests 2024-05-17 19:14:01 -05:00
bgbsww
80d43f51a1 Simplify offset tests 2024-05-17 08:10:43 -04:00
bgbsww
52ed6eb848 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
af3861aa79 Gui: move to new-style connect() in createEditor() 2024-05-14 15:58:44 +02:00
Bas Ruigrok
f7078d13d4 Part: Implement getCameraAlignmentDirection() for PartFeature
Returns normal of a face or direction of an edge
2024-05-13 19:03:56 +02:00
bgbsww
d3c5df86ee Toponaming: bring in missing code fragments in Part 2024-05-12 23:08:06 -04:00
Chris Hennes
9fead3682d Update translations 2024-05-12 17:06:56 -05:00
bgbsww
5054cace46 Rework makeElementChamfer to match current parms, and add PartDesign code for Chamfers 2024-05-12 13:28:20 -05:00
wmayer
5b98af4591 Part: Fix memory leaks 2024-05-08 20:01:54 +02:00
bgbsww
9fc744fbe3 Fix tests, slip in TNP defense 2024-05-07 13:42:21 -04:00
bgbsww
3ee0530ac2 Toponaming/Part: Fix fillet/pad bug, add tests 2024-05-07 09:40:48 -04:00
Chris Hennes
a5d8aaa21c Update translations
Also removes Web from translation scripts.
2024-05-06 18:17:53 +02:00
Martin Rodriguez Reboredo
51987dc1ab 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
44af4555c0 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
20cae6c026 Toponaming/Part: unify revolution changes 2024-05-02 18:50:02 -05:00
tomate44
b17f744ed7 add unit test for edge split method 2024-05-01 22:15:09 +02:00
tomate44
f0a72fbe59 Preserve pcurves in TopoShapeEdge.split 2024-05-01 22:15:09 +02:00
wmayer
2ea6bc17b6 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
6a6fc7eb4d 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
74d055e11a [Part/PD] Remove measure tools 2024-04-29 09:27:22 -04:00
hlorus
bed703a6f9 [Measure] Add features, viewproviders and preferences for unified measurement facility 2024-04-29 09:27:22 -04:00