Commit Graph

2075 Commits

Author SHA1 Message Date
mosfet80
96e8a9e83c Remove old GCC<=8 (#20508)
GCC version is always greater than 8
2025-03-29 12:21:36 +01:00
Joao Matos
faabc3d7d6 Part: Remove XML binding files.
This PR removes the Part XML API bindings files now that we have
equivalent Python binding files.
2025-03-25 21:28:52 +01:00
Joao Matos
6083315b04 Part: Convert XML bindings to Python (Part 2) 2025-03-25 19:55:36 +01:00
Joao Matos
e825ebe99d Part: Clean up XML bindings (Part 2)
This cleans up the XML bindings for Part in preparation for an upcoming
migration to Python bindings model.
2025-03-25 17:51:32 +01:00
tritao
ce8a545fb6 Part: Convert XML bindings to Python API bindings model. 2025-03-24 12:00:16 -05:00
tritao
d5a1098add Part: Remove Py_UNICODE usage from Part.makeWireString and FT2FC. 2025-03-23 22:49:13 +01:00
Chris Hennes
69bbee9583 Part: Ensure ShapeHistory is fully initialized
Coverity issue 515690
2025-03-22 07:15:15 +01:00
Chris Hennes
5aa1842dcc Part: Remove inefficient vector reserve()
Coverity issue 356645
2025-03-22 07:15:15 +01:00
Chris Hennes
0bfc459298 Part: Don't cast time_t to a potentially 32-bit type
Coverity (and possibly other static analyzers) detect when we attempt to use a time_t as what might be a 32-bit value, warning about Y2K38 safety. It is irrelevant in this case, but make the change to avoid the warning (so it doesn't hide any real problems).
2025-03-22 07:15:15 +01:00
mosfet80
3dd7a1cc52 Remove support to oldest occ <7.5 (#20084)
* remove support to oldest occ <7.5

The  os ubuntu 22.04 not supported use occ 7.5.1.
There is a lot of code implemented to support even older versions.
The patch removes support for versions lower than occ 7.5.0

* .

* move include library

#pieterhijma  change request :

* removed deprecated functions

get/setAngle functions has been removed with OCC 7.5
2025-03-21 13:06:47 +01:00
tritao
6c2c6847eb CMake: Cleanup targets with transitive dependencies 2025-03-17 12:12:06 +00:00
Chris Hennes
5f623390fb Merge pull request #20142 from bofdahof/ranges
Apply C++20 std::ranges (mainly to std::find)
2025-03-17 03:08:27 -05:00
Chris Hennes
4fcdac28fb Merge pull request #19583 from hyarion/refactor/base-type
Refactor Base::Type
2025-03-17 00:03:22 -05:00
bofdahof
de16fe094a Part: apply std::ranges 2025-03-16 17:17:37 -05:00
Chris Hennes
c9e88a31f2 Merge pull request #19911 from jffmichi/fix_boolean_cut
Part: fix infinite recursion in boolean cut
2025-03-11 21:03:03 +00:00
jffmichi
abacccb690 Part: fix infinite recursion in boolean cut 2025-03-06 02:33:56 +01:00
Chris Hennes
7f1c43a335 Merge pull request #19636 from kadet1090/color-in-base
Base: Move App::Color to Base
2025-03-02 16:36:40 -06:00
mosfet80
5375025e8b Clean AppPartPy.cpp
Python version is always greater than 3.9
2025-03-02 16:13:55 -06:00
Benjamin Bræstrup Sayoc
755229df23 Build: suppress warnings from 3rd party libraries
Warnings from 3rd parties are not relevant and are only polluting the warning output. Marking these libraries as SYSTEM suppresses warning.

https://gcc.gnu.org/onlinedocs/cpp/Invocation.html#index-I
https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html
2025-02-25 14:39:05 +00:00
André Althaus
84d850afc9 Always update the element map version if it's not valid or unknown
_Ver can contain "?" after loading and in some circumstances this is not
cleared (often by setValue()) before saving (MultiPattern children or empty Part::Feature).
When saved the same "?" is then written again to the file causing the
recomputing dialog to pop up again and again.

This not only checks for an empty _Ver but also explicitly for "?" and
then regenerating the version if necessary.
2025-02-24 17:00:18 +00:00
Joao Matos
cc6ffb44de Core: Move PyCXX library to src/3rdParty. 2025-02-24 16:36:06 +00:00
Andrew
0aed23ca81 fixes #19582 Sketcher - cannot project BSpline from another sketch (#19700)
Also fixes some other types of external geo

---------

Co-authored-by: Andrew Shkolik <andrew.shkolik@selerix.com>
Co-authored-by: realthunder <realthunder.dev@gmail.com>
2025-02-24 10:17:24 -06:00
Benjamin Nauck
211b3209ac Part: Use constant for Type::BadType instead Type::badType() 2025-02-24 08:30:18 +01:00
Benjamin Nauck
2c966f5020 Part: Use isBad() instead of comparing types with == 2025-02-24 08:30:18 +01:00
Kacper Donat
12a69fe296 Base: Add isNullOrEmpty string helper
This adds isNullOrEmpty string helper that cheks if string is... well
null or empty. It is done to improve readability of the code and better
express intent.
2025-02-21 15:04:43 +01:00
Benjamin Bræstrup Sayoc
dda05369c4 Base: remove unneeded includes 2025-02-18 11:07:57 -06:00
Kacper Donat
a72a63232a Base: Move App::Color to Base
Every basic data type is stored in Base module, color is standing out as
one that does not. Moving it to Base opens possibilities to integrate it
better with the rest of FreeCAD.
2025-02-17 21:10:26 +01:00
tritao
cc21acb325 Part: Clean up XML bindings. 2025-02-17 10:18:01 -06:00
Joao Matos
27ebc68a11 CMake: Modernize build files using outdated Python variables. 2025-02-16 10:21:26 -06:00
Andrea
de9bd5e1ce change MIN_boost_version
ubuntu version 20.04 is no longer supported.
The minimum boost version used for freecad is now 1.74 (ubuntu 22.04) https://launchpad.net/ubuntu/jammy/+package/libboost-system-dev
2025-02-15 13:33:32 -06:00
Chris Hennes
7412fce041 Merge pull request #19468 from hyarion/AIRCAP_fixCompoundCuts
Part: OCCWrapper: Fix compound cuts
2025-02-14 14:16:17 -06:00
tritao
9636068460 Base: Move zipios library to 3rdParty folder. 2025-02-14 13:08:28 -06:00
Chris Hennes
4dc8b26e8d Merge pull request #18791 from CalligaroV/toponaming-ElementMapVersion-code-from-LS3
[Toponaming] Import code releted to _ElementMapVersion from LS3
2025-02-14 10:54:38 -06:00
Chris Hennes
2086d297c6 Part(toponaming): Remove support for OCCT 6.x 2025-02-14 10:54:13 -06:00
Benjamin Nauck
1d89f9c23c CAM: Fix finish passes by avoiding fuzzy in Area.cpp (#19525) 2025-02-14 10:31:32 -06:00
Chris Hennes
0bf76de638 Part: Add comment explaining element map version string 2025-02-12 14:19:37 -06:00
Benjamin Nauck
a1c5767643 Mod: Use new addObject<T>(...) using regex 2025-02-10 18:35:38 +01:00
Benjamin Nauck
7c4ff290a8 Mod: Fix mistakes in type system class names 2025-02-10 18:33:00 +01:00
tritao
10513144d9 Base: Standardize on Py::Long type for Python bindings. 2025-02-08 13:14:22 +00:00
Benjamin Nauck
dbbd07510f Fix lint issues 2025-02-07 20:53:59 +01:00
mwganson
a85756b1c9 [Mesh Python] Mesh.show() returns python object, update documentation for Mesh.show(), Part.show(), and Points.show() 2025-02-03 18:27:21 +01:00
mwganson
d5b0f686e1 [Part TopoShapeExpansion] move shape transform from make element copy into ruled surface function since it does not work well when copying vertex objects 2025-02-03 18:17:14 +01:00
tritao
65466d580b Gui: Reorganize the selection files into a top Selection folder. 2025-02-03 17:56:57 +01:00
Benjamin Nauck
45c997f40a Manual changes to improve isDerivedFrom usage 2025-01-27 16:08:19 +01:00
Benjamin Nauck
dd6aa9f3c7 Prefer to use BaseClass's isDerivedFrom<T> over non template or Base::Type's
Regex based changes, manually verified
2025-01-27 16:08:18 +01:00
Benjamin Nauck
5e72f6e5e1 Export subclasses of Part::Feature 2025-01-27 16:08:18 +01:00
JULIEN MASNADA
df1334fad4 SH3DImporter: Miscellaneous improvements (#19178)
* Fixed documentation and confusing variable name

* Prepare for joined wall fix

* Fixed invalid Part::Sweep on certain joined walls

* Calculate the Length in case of a curved segment

* Adding Arch::Space for each room, and group furnitures in these spaces

* Fixed baseboard import

* Add baseboard to Space and wall to Space.Boundaries

* Fixed space attribution when importing furniture as Arch::Equipment

* Adding site properties

* Allow creation of reference ground mesh

* Make sure get_space takes level into account

* Added sh3dCreateGroundMesh preferences

* Sensible ordering for import preferences

* Move furniture at least up to the floor upper facewq

* Avoid gap between floors. Adjusted wall height and furniture placement

* Preparing to allow model_rotation attribute in furniture

* Fixed tipo in model_rotation

* Make space upper face does exists

* Use Facebinder to paint walls. do not offset by floor thickness.

* Use Draft.make_facebinder()

* Workaround for issue #19172. Refreshing the list of Faces and removing the extra '?' character
2025-01-22 10:08:46 +01:00
wmayer
034ad6582a Part: Fix wrong attachment of datum lines
Fixes #19113
2025-01-20 16:40:46 -06:00
Chris Hennes
115cd050bc Merge pull request #19019 from hyarion/refactor/countObjectsOfType
Refactor countObjectsOfType in selection and document
2025-01-14 16:05:12 -06:00
wmayer
cb4dd89d55 Fix several compiler warnings 2025-01-14 13:34:18 -06:00