Commit Graph

301 Commits

Author SHA1 Message Date
WandererFan
cc45b58dad [Import]fix linkage warning on linux/gcc (#12071)
* [Import]fix linkage warning on linux/gcc


https://stackoverflow.com/questions/41167119/how-to-fix-a-wsubobject-linkage-warning

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-01-22 14:37:33 -03:00
wandererfan
80c2942c22 [Import]fix rounding errors in dxf export 2024-01-17 11:33:50 -05:00
bgbsww
8abd09398a Add support for OCCT 7.8.0 (#11909) 2024-01-09 19:47:25 -06:00
pre-commit-ci[bot]
a930658000 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-01-09 20:07:57 -05:00
wandererfan
e42e9a4096 [Import]Flatten sketch before dxf export. 2024-01-09 20:07:57 -05:00
Kevin Martin
2c0bc89f62 Streamline scaling for DXF import
Eliminate m_measurement_inch to clean up logic for priority of MEASUREMENT and INSUNITS.
Save the actual scaling factor rather than the scaling enum so a switch statement is not executed for each call to mm()
Add to CDxfRead the work to handle dxfScaling option, ImpExpDxfRead just has to set it up now.
Get the scaling factor from a lookup table rather than a switch statement
Display a message explaining what the scaling factor is and where it comes from
Remove large amount of Lint.
2024-01-08 18:01:21 +01:00
luzpaz
e9f9e441fc Fix typos 2023-12-22 13:35:23 +00:00
pre-commit-ci[bot]
cba09aac50 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-12-14 15:47:56 +01:00
Yorik van Havre
65f5fd350f Fix DXF importer wrongly prioritizes the MEASUREMENT variable 2023-12-14 15:47:56 +01:00
Kevin Martin
abd411f934 Add color on DXF import, refactor code
Colors as assigned to imported drawing entities if they are not merged
with other entities.
The code has been refactored to remove much duplication in reading of
attributes.
The code gives brief messages on the Python console about unsupported
DXF festures and also issues some new errors.
There is no support yet for making colors 1-9 and 250-255 contrast with
the creeen background color. Colors are generated by code rather than a
lookup table; this code can eventually modify the colors it generates to
contrast with a specific background color.
2023-12-14 10:15:17 +01:00
Kevin Martin
fd5b4076b8 Add hooks so Gui classes can be seen by DXF importer 2023-12-14 10:15:17 +01:00
André Caldas
560898907b Avoids using getNameInDocument() to test if DocumentObject is attached to a Document.
This patch substitutes by isAttachedToDocument() (almost) everywhere where
getNameInDocument() is used for this purpose.

The very few places not touched by this patch demand a (just a little) less trivial change.
When we change the returning type of getNameInDocument() to std::string,
those places will be easily found, because they shall generate a compiler error
(converting std::string to bool).

Rationale:
The fact that getNameInDocument() return nullptr to indicate
that the object is not attached to a document is responsible for lots of bugs
where the developer does not check for "nullptr".

The idea is to eliminate all those uses of getNameInDocument() and, in the near future,
make getNameInDocument() return always a valid std::string.
2023-12-11 17:37:58 +01:00
wmayer
559a746507 MSYS: fix build failure with MinGW & gcc 2023-11-28 16:16:34 +01:00
pre-commit-ci[bot]
91dc7285e1 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-11-20 18:25:29 +01:00
Kevin Martin
4e12621954 Use PyObject_CallObject rather than interpreting generated code
Rather than generating Python code and interpreting it, which, in C++, is fraught with issues of creating the correct syntax for a str token when the text contains certain special characters like double-quote and backslash, the modified code makes call(s) to PyObject_CallObject which takes the C++ string and makes the appropriate conversion itself. The steps in building the Position passed to make_text are also done using c++ objects until the final Python Placement object is needed.
2023-11-20 18:25:29 +01:00
Florian Foinant-Willig
0193e20b26 Import: modernize type checking 2023-10-23 18:08:53 +02:00
Yorik van Havre
55292e9041 Import: Support DXF text rotation (#11001)
* Import: Support DXF text rotation - fixes #10882

- Reads and supports text rotation in builtin DXF import
- Makes the builtin DXF import produce Draft texts instead of App::Annotations
- Extends the arguments of Draft make_text()

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

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

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-10-11 17:05:31 +02:00
wmayer
fe79eed98f Import: fix -Wunused-private-field 2023-10-11 15:12:42 +02:00
wmayer
057469c225 Import: fixes #10983: Crash when trying to import a DXF file with Polish letters in the name 2023-10-10 12:58:47 +02:00
wmayer
b42b2c85b4 Import: Support of colors of the glTF format 2023-10-03 15:42:30 +02:00
wmayer
826194e0bc Imoprt: move ExportOCAF2 to own source files
and move global functions to Tools class
2023-10-03 08:13:27 +02:00
Chris Hennes
6d37ef6609 Merge pull request #10844 from ppphp/remove_redundant_definition
[cmake] some definitions do not matter now
2023-10-02 14:20:49 -05:00
wmayer
74e658c78c Import: improve new STEP/IGES/glTF export function to support colors per face in headless mode
Fixes #10861
2023-10-02 17:10:34 +02:00
wmayer
83921f5f07 Import: fix legacy STEP/IGES/glTF export function to support colors per face
See issue #10861
2023-10-02 17:10:34 +02:00
wmayer
1cbd96f3cf Import: code-refactoring and clean-up
* Add new method ExportOCAF::exportObjects() to avoid code duplication
* Simplify handling of arguments passed to Python handler
* Fix several lint warnings
* Move ImportOCAFExt to the corresponding source files
2023-10-01 22:23:57 +02:00
liukaiwen
18af697795 Merge remote-tracking branch 'origin/master' into remove_redundant_definition 2023-10-02 01:42:37 +08:00
wmayer
c87860922c Import: fix lint warnings
* Make constructors explicit
* Fix a regression from PR 10783
2023-10-01 08:01:41 +02:00
wmayer
70ca90f46f Import: move IGES reader & writer to own classes 2023-10-01 00:18:11 +02:00
wmayer
4092677f24 Import: move STEP reader & writer to own classes 2023-10-01 00:18:11 +02:00
liukaiwen
4f8fe8fd4a [cmake] some definitions do not matter build now 2023-09-27 18:17:14 +08:00
wmayer
37e477d3e7 Import: fixes #8666: Enable support to read glTF files 2023-09-25 13:02:59 +02:00
wmayer
0aa9ea99b4 Import: move glTF writer to its own source files 2023-09-25 13:02:59 +02:00
pre-commit-ci[bot]
222a2520b1 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-12 13:02:35 -04:00
wmayer
3fa218c7a6 Import: move several .py files that black fails to re-format to a new directory and exclude it 2023-09-11 00:48:18 +02:00
pre-commit-ci[bot]
e887b8a843 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2023-09-10 19:23:47 +02:00
wmayer
b5d0950211 Import: Apply clang format 2023-09-10 19:23:47 +02:00
Chris Hennes
08cf226263 Import: Wrap PyArg_ParseTupleAndKeywords 2023-08-25 15:34:26 -05:00
andrea
58b5cb16ae removed unused files 2023-08-25 16:06:42 +02:00
wmayer
a0882fe64a Import: modernize C++: use default member init 2023-08-23 00:55:03 +02:00
wmayer
a3057e946b Mod: modernize C++: use equals default 2023-08-22 11:16:49 +02:00
wmayer
7402ac7a26 Import: modernize C++: return braced init list 2023-08-19 11:35:41 +02:00
wmayer
664a08043e Import: modernize C++: use range-based for loop 2023-08-15 01:09:53 +02:00
Roy-043
beaf4ccb71 Import: Avoid dictionary.keys() where possible 2023-08-09 10:10:35 +02:00
Benjamin Bræstrup Sayoc
33384cff9c [Everywhere] FileInfo::hasExtension for multiple values (#9774)
* [Base] Add hasExtension for multiple values

* [Gui] Use hasExtension for multiple values

* [Drawing] Use hasExtension for multiple values

* [Fem] Use hasExtension for multiple values

* [Import] Use hasExtension for multiple values

* [Mesh] Use hasExtension for multiple values

* [Part] Use hasExtension for multiple values

* [TechDraw] Use hasExtension for multiple values
2023-08-07 09:55:19 -06:00
wmayer
2a88c7c7df modernize C++: use bool literals 2023-08-06 01:35:39 +02:00
wmayer
d244dcf2da modernize C++: use nullptr 2023-08-05 11:23:12 -06:00
wmayer
39e53e5eb0 Mods: modernize C++: redundant void arg 2023-08-05 16:50:31 +02:00
andrea
170c2b9957 removed old OCC <7 references
removed OCC <7 references
2023-08-04 21:22:40 -06:00
Syres916
15e9b45691 [Import] Dxf Fix regression from https://github.com/FreeCAD/FreeCAD/commit/1f6fd1b
See discussion https://forum.freecad.org/viewtopic.php?t=80040&sid=9937b585c8681fe5a2d27f37dcd3f163
2023-08-01 11:04:22 +02:00
Syres916
ca4bc401f7 Merge branch 'master' into patch-80 2023-06-12 14:24:58 +01:00