Commit Graph

1899 Commits

Author SHA1 Message Date
Chris Hennes
d733fe0b34 Merge pull request #14766 from wwmayer/import_options
Import: Avoid modal dialog inside ImportGui.open()
2024-06-24 11:10:31 -05:00
mosfet80
5f38b52114 [MOD:PART] removed unused parameter (#14252)
d variable are never used

Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2024-06-24 10:41:39 -05:00
wmayer
06b464a9b0 Import: Simplify handling of Resource_FormatType
The type Resource_FormatType already exists since 2015. So, its usage doesn't require pre-processor macros everywhere.
2024-06-21 12:00:38 -05:00
wmayer
d49303a5dc Import: Move options handling to ImportGui.importOptions
Currently a modal dialog is used directly in ImportGui.open()/ImportGui.insert() that makes it impossible to use the functions in a
script because they will be blocked
2024-06-21 12:00:38 -05:00
wmayer
127f935711 Fix several compiler warnings
* -Wmaybe-uninitialized
* -Wunused-parameter
* -Wunused-variable
* -Wnonnull
* -Wstringop-truncation
* -Wstringop-overflow
2024-06-19 21:14:23 -05:00
Ladislav Michl
2bb41bd1e7 Part: Fix AttachmentSupport when loading files from previous versions
Commit 6b6ff58d3c4a ("Part: Rename AttachExtension::Support property to
AttachmentSupport...") provided code to convert property name when loading
files saved with previous versions. Unfortunately a41f176f596a
("Toponaming: bring in missing code fragments in Part") was based on
at the time obsolete code which did not contain before mentioned tweak,
so AttachmentSupport ended unassigned.

Fixes: a41f176f596a ("Toponaming: bring in missing code fragments in Part")
2024-06-17 11:32:13 -05:00
Jolbas
8fe547df94 Part: Handle zero scale in TopoShape::_makeTransform
With this commit the TopoShape::_makeTransform() use makeGTransform() if scale is zero to avoid crash. Fixes #14562
2024-06-17 11:17:27 -05:00
hlorus
5222e14534 Measure: Fix MeasureLength failure when measuring circles/arcs 2024-06-17 11:52:38 -04:00
Kuzemko Alexsandr
173733750b Select code page during STEP Import (#14416)
* [STEP Import]
Added the ability to select the encoding of the source file when importing.
Requires OCCT version 7.8.0 and higher

* fix compile error for OCCT < 7.8.0

* Also hide label "CodePage" for OCCT < 7.8.0

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

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

* Fix error

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

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

* Fix error on Ubuntu 20-04

* Fix error on Ubuntu 20-04

---------

Co-authored-by: Kuzma30 <kuzemkoa@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-06-17 10:47:28 -05:00
bgbsww
42eb4fdda6 Guard all uses of basic_random_generator for thread safety 2024-06-10 11:10:57 -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
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
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
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
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
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
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
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
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
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
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
bed703a6f9 [Measure] Add features, viewproviders and preferences for unified measurement facility 2024-04-29 09:27:22 -04:00
hlorus
eb59021118 [Part] Add handlers for unified measurement facility 2024-04-29 09:27:22 -04:00
hlorus
8524ed6daf [Part] Move VectorAdapter into own file in PartGui 2024-04-29 09:27:22 -04:00
bgbsww
7961e82c66 Toponaming/Part: Fix all getBaseTopoShape calls. Tests and missing code. 2024-04-26 21:15:11 -05:00
tomate44
efc6fd87a4 Part: fix shape projection of complex BSpline curves 2024-04-19 20:47:51 +02:00
Chris Hennes
b985f6339e Base/Toponaming: Correct string hasher output 2024-04-18 13:25:57 -05:00
bgbsww
0d8631973e Toponaming/Part: Fix hashing, hasher mismatches, and adjust test results to match 2024-04-15 23:00:27 -05:00
bgbsww
459644be31 TopoShape/Part: Bug fixes; pass Hasher parms, OCCT 7.8 compatibility, ElementMaps correct item count 2024-04-14 13:56:07 -04:00
bgbsww
9ebb23f234 Toponaming/Part: Initialize the hasher so that it operates 2024-04-13 22:41:57 -05:00
Zheng, Lei
01498d92d5 Bring in missing code 2024-04-11 18:20:26 -04:00
bgbsww
942ebd58f0 Toponaming/Part: Add deprecation comments, clean up code 2024-04-09 21:17:08 -04:00
Zheng, Lei
231a638fc7 TopoShape/Part: Bring in PartDesign dependencies 2024-04-09 21:17:08 -04:00
wmayer
384902c26c 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
ba20441935 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