Commit Graph

2136 Commits

Author SHA1 Message Date
Uwe
74e473d162 [Part] ViewProvider2DObject: remove unused includes
- also sort them
2022-02-18 04:03:10 +01:00
wmayer
59ffad387c Part: in ViewProviderAttachExtension check if feature has the AttachExtension 2022-02-17 19:26:11 +01:00
wmayer
b6ebeef6f3 Part: fix regression by commit 289a9bcc8
* Standard_Version.hxx is required for the OCC version check macro
* group sorted header includes by library
2022-02-17 11:09:35 +01:00
Uwe
289a9bcc87 [Part] ViewProviderExt: remove unused includes
- also sort them
2022-02-17 05:00:17 +01:00
Uwe
aa02ab5c66 [Part] add context menu icon for color face
- the other context menu entries have icons and we use this icon already in the View menu

- also sort the includes
2022-02-17 03:20:31 +01:00
wmayer
95f583a677 Part: fix typos in make* functions 2022-02-16 12:48:02 +01:00
Uwe
df3569b799 [Part] Bullseye whitespace fixes 2022-02-16 03:40:07 +01:00
wmayer
a5e561b31d Base: fix Matrix4D::hasScale
* If all column vectors of the 3x3 sub-matrix are equal the function incorrectly claims that it's uniform scaling.
* Detect also non-uniform scaling and if was applied from the left or right side
* Replace the int with an enum and expose it to Python
* Add several new unit tests
2022-02-15 21:05:11 +01:00
marioalexis
f9c4c88768 Part: Part_SectionCut command active only if view is View3DInventor class 2022-02-15 10:19:15 +01:00
Uwe
ccbc0863a9 [Part] remove unused precompiled headers 2022-02-15 05:57:27 +01:00
Uwe
f0f30b47f6 [Part] try to fix compilation error without precompiled headers 2022-02-15 05:46:40 +01:00
Uwe
ab6ac65455 [Part] more simplification of SectionCut code 2022-02-15 05:06:14 +01:00
Uwe
217af3d0e0 [Part] fix signal blocking in SectionCut code
- add missing signal blockSignals
- assure the desired UI objects get blocked
2022-02-15 04:47:47 +01:00
Uwe
8e1cf21208 [Part] improve SectionCut code
- get rid of potentially unsafe static_casts
- fix logic mistake
2022-02-15 04:30:08 +01:00
Uwe
098b773208 [Part] simplify a but the SectionCut code 2022-02-15 02:49:05 +01:00
Uwe
a3b6c272ed [Part] add icon for sectionCut feature 2022-02-15 01:49:34 +01:00
wmayer
58a70cbbe5 Part: define Part_SectionCut as permanent menu item 2022-02-14 16:48:09 +01:00
Uwe
7250097f39 [Part] improve SectionCutting code
all changes as suggested in 05a9c88ab2
2022-02-14 14:09:53 +01:00
Yorik van Havre
19b89b1085 Merged crowdin translations 2022-02-14 12:31:57 +01:00
Uwe
68a5c7e438 [PD, Part] bring section cutting feature back to the View menu
As discussed here:
https://github.com/FreeCAD/FreeCAD/pull/6213#issuecomment-1033696604
the feature makes not much sense when only available from within the Part menu.

For now, bring it at least back to the View menu for Part and PD
2022-02-14 01:34:55 +01:00
wmayer
5cb2c315a2 Part: section cut window is not bound to 3d viewer widget 2022-02-13 19:33:19 +01:00
wmayer
09a05a9cd0 Part: Circle variable name change to create consistency
Change variable names of the Circle from Angle0 to Angle1 to create consistency with all other named angle variables
2022-02-11 18:28:58 +01:00
wmayer
ce40cbe2aa Part: handle to load old project files with Part::Ellipse 2022-02-11 17:25:28 +01:00
Sebastian
2158eebc88 Ellipse variable name change to create consistency
Change variable names of the Ellipse from Angle0 to Angle1 to create consistency with all other named angle variables
2022-02-11 17:22:45 +01:00
Sebastian
2a5bc84410 Update PrimitiveFeature.cpp
Correct upper case words equal to other tool tip hints.
2022-02-08 21:54:20 +01:00
0penBrain
aed8864cd9 Modernize signal/slot connection for real :) 2022-02-08 17:51:36 +01:00
marioalexis
fc6e870a67 Part: Move Part_SectionCut command to Part menu item list 2022-02-08 12:09:09 +01:00
wmayer
6a9a3cb08f Part: [skip ci] add Part unit tests to test Geom2dCircle::getCircleCenter 2022-02-05 16:26:12 +01:00
wmayer
18579134b5 Part: fix possible creation of NaN in Geom2dCircle::getCircleCenter 2022-02-05 16:16:59 +01:00
wmayer
3dc91fa2b8 Part: expose Geom2dCircle::getCircleCenter to Python and fix a regression 2022-02-05 16:07:00 +01:00
Uwe
d938733eaf [Part] SectionCutting: remove another unused variable
strangely MSVC did not report me these, the CI does
2022-02-05 14:45:34 +01:00
Uwe
819f89941b [Part] SectionCutting: remove unused variable 2022-02-05 14:09:13 +01:00
Uwe
9fa035ba22 [Part] Extrusion: reduce angle step size
tapered extrudes are mainly used for molds etc, so only a few degrees. The angle step in the properties was already 1° and also Pad/Pocket uses 1° steps
2022-02-05 05:39:40 +01:00
Uwe
bb204842f2 [Part] feature to make persistent section cut views (#4118)
* [Part] feature to make persistent section cut views

* one aim is to have a feature to make real cuts, not hollow ones like with clipping
* the second one is to have a persistent view, so an object in the tree that can be further exported, meshed etc.

For a detailed description with examples see https://forum.freecadweb.org/viewtopic.php?f=17&t=52441
2022-02-05 01:57:57 +01:00
edi271
df7d235fc6 Update Geometry2d.cpp
I tested. It works using Precision::Confusion(). Thank you.
2022-02-02 08:35:34 -05:00
edi271
049889b72f add accuracy to getCircleCenter method 2022-02-02 08:35:34 -05:00
Uwe
cfdf334b7f [PD] add option to create tapered Pad / Pocket
This PR adds the same functionality as provided by Part Extrude.
The used code parts are sorted out to a new helper function that is used by Part and PartDesign.
2022-02-02 01:04:06 +01:00
Yorik van Havre
b0b1c0afbb Merged crowdin translations 2022-02-01 12:59:42 +01:00
Uwe
5bf2f91feb [Part] whitespace only in CMake file 2022-02-01 02:59:53 +01:00
Uwe
4c2dc83202 [Part] sort includes
to keep the overview and to reduce diff of a pending PR

also uniform the include path specification
2022-02-01 02:51:41 +01:00
Uwe
3cd760961b [Part] fix a comment 2022-02-01 02:34:51 +01:00
Uwe
065e87f313 [Part] Extrusion: stop if intermediate shape is Null
besides the error message, we need to raise an error

- also fine-tune the wording
2022-01-31 01:07:33 +01:00
Uwe
d455783ebe [Part] Extrusion: fix logic issue
has actually no influence on the output but is important to understand the logic of the code
2022-01-31 00:23:33 +01:00
Uwe
647b54302f [Part] Extrusion: fix CI compiler warning
fixes "warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int'"
2022-01-30 22:46:07 +01:00
Uwe
754fc5f9ae [Part] Extrusion: code simplification and documentation
- in order for the pending PR to add tapered padding/pocketing
2022-01-30 19:37:41 +01:00
Uwe
7c55db58d1 [Part] Extrusion: handle also complex nested structures
- there can be strange cases with structures all intersecting each other. Their extrusion has no practical use case but we must avoid that such structures results either in an infinite loop or in an invalid geometric result.
2022-01-30 18:43:11 +01:00
Uwe
55f71f4015 [Part] Extrude: fix a thinko introduced by previous commit
- the handling of all inner wires must be done within the recursion
2022-01-30 17:41:40 +01:00
Uwe
29997d5e71 [Part] Extrusion: simplify code by using full recursion
- the recursion can be done completely by one void
- also add a brief description of this void
2022-01-30 16:53:44 +01:00
Uwe
8eab4a397e [Part] Extrusion: code optimizations
kudos to @marioalexis84
2022-01-30 06:02:37 +01:00
Uwe
63c864c5b6 [Part] Extrusion: taper nested wires properly
addendum to commit cce730c79

Now also wires nested by more than one level are supported.
The possible nesting is infinite.
2022-01-30 05:52:43 +01:00