Commit Graph

245 Commits

Author SHA1 Message Date
Kevin Martin
8b36716bf8 Remove reference to a trademarked name 2023-03-27 09:11:52 -04:00
Kevin Martin
375e94dc3a Fix encoding error for import from older DXF files
The C++ importer incorrectly treated the contents of all TEXT and MTEXT
objects as beind encoded as UTF-8, but this is not true for DXF files
before AutoCAD 2007, where the encoding is "plain ASCII" plus some in-band
\U+dddd encoding. This would cause errors if the text contained non-ASCII
characters such as the Degree Sign.

This change causes the correct encoding to be used.
2023-03-27 07:14:07 -04:00
Kevin Martin
aaec21965a [Import] DXF: correction to documentation
Correction to documentation comment noticed while addressing these issues.
The comment for readDXF did not document its fourth option_source argument.
2023-03-24 23:03:52 +01:00
wmayer
6b498d82cc Import: issue #8884: C++ DXF importer never imports text (annotations
This reverts commit 877f6c09817
2023-03-22 20:09:20 +01:00
Kevin Martin
ad8483d320 Issue 8968: Correct C++ DXF importer to get all of long MTEXT text
If the MTEXT exceeds 250 characters, the contents are broken up into
several records in the DXF file. The C++ importer has been changed
to collect all these pieces into a single string containing all the text.
2023-03-20 11:48:47 -04:00
wmayer
38a100962c Import/Part: [skip ci] restore some comments 2023-03-14 21:47:41 +01:00
Andrew
6e9817025e Clean mod/import folder
Clean mod/import folder

fix code not removed.
2023-03-14 16:02:01 +01:00
Abdullah Tahiri
ee0c3ad5c1 Console/ILogger: Refactor and extension
=======================================

Refactor:
 - Substitute the use of variadic templates with parameter packs.
 - Use recently incorporated external library "fmt" to handle printf like formating.
 - Extensive cleaning of pragmas and unnecessary forward declarations.
 - Parameter packs and libfmt provide a much stronger type checking now, so
   conversions that are by standard implicit as bool to int need an explicit static_cast
   to avoid compilation warnings.

Extension:
 - Include a notifier field, so that the originator of the message can be provided. E.g. Document#DocumentObject
 - Include a new type of message called CriticalMessage, this message is intended to have
   special behaviour in the future. Namely, it will be used to notify forward compatilibity issues.
   It will be used to substitute the current signal/slot mechanism.
 - Include two new types of messages for user notifications (Notification and TranslatedNotification). This messages
   will be use to convey UI notifications intended for the user (such as non-intrusive message about the usage of a tool). There
   are two versions to mark whether the string provided as a message is already translated or not. When using the console system for
   notifications, these notifications may originate from the App or the Gui. In the former, it is generally the case that the strings
   of messages are not (yet) translated (but they can be marked with QT_TRANSLATE_NOOP). In the latter, often the messages to be provided
   are already translated.

Python support for CriticalMessage, Notification and TranslatedNofification, including shortcuts:

    Crt = FreeCAD.Console.PrintCritical
    Ntf = FreeCAD.Console.PrintNotification
    Tnf = FreeCAD.Console.PrintTranslatedNotification
2023-03-07 16:13:23 +01:00
wmayer
c770e1b677 Mod: catch exception raised by Rotation::setValue 2023-03-01 18:43:15 +01:00
wmayer
fb4af78cdc Import: enable multi-threading support of RWGltf_CafWriter for OCCT 7.7 2023-02-26 13:30:44 +01:00
wmayer
6df33e89fb Import: [skip ci] fix some minor Lint issues 2023-02-26 09:04:26 +01:00
wmayer
2d629d7e1e Import: support to export to glTF file in headless mode 2023-02-26 09:04:26 +01:00
luzpaz
fa3841774e Fix various trailing whitespace issues and typos 2023-02-19 10:59:14 -06:00
luz paz
056d1aea87 Fix various typos and grammatical issues 2022-11-30 12:45:29 +01:00
luz paz
452008f65d Fix header uniformity for various workbenches/directories
Also includes some trailing whitespace fixes
2022-11-29 04:48:57 +01:00
wmayer
478b50096e Import: [skip ci] fix warning about trailing whitespaces, fix parsing errors 2022-11-25 11:55:51 +01:00
wmayer
0d05f49057 Import: fix build failure 2022-11-25 10:28:13 +01:00
Uwe
f340176f1c [Import] remove unused includes
- also some sorting
2022-11-25 04:34:44 +01:00
Kuzemko Alexsandr
2eb55d48c7 [App] Fix of untranslated first document's name (#7156)
* Change no need function newDocument("Unnamed") call to variant without parameter. "Unnamed" set in App newDocument function instead.
* Refactor New Document command to run without parameter.
* Translate new document's userName. Internal name = "Unnamed".
* Crowdin Add to updatets.py App.ts. Create new file App.ts
* Fix error where document name is set with one function parameter. In this situation set internal and user name to string variable. For default function call (without parameter) set internal name to Unnamed, userName = translate ("Unnamed")
2022-10-20 21:35:09 -05:00
wmayer
afdf499e46 Part: use ImportExportSettings in client code 2022-10-04 12:32:47 +02:00
wmayer
918fc83cd3 Part: implement wrapper class around Interface_Static 2022-10-03 19:03:32 +02:00
wmayer
8522b9c813 Import: make API more flexible 2022-10-03 17:26:32 +02:00
marioalexis
d9793ec45a Import: Replace C cast 2022-09-18 11:06:51 -05:00
wmayer
bff8a73ba6 Mod: modernize C++: replace 'typedef' with 'using' 2022-08-29 16:21:46 +02:00
berniev
180edfa3cc Mod: Single arg ctors must be explicit 2022-08-24 16:55:20 +02:00
wmayer
ff38f8b8e8 CMake: [skip ci] remove trailing whitespaces 2022-08-24 07:46:07 +02:00
Jonas Bähr
46cee50bd5 Fix build on MacOS-X 10.14: missing Xerces include dir
This undoes most of the Xerces related part of the commits listed below.
The issue resolved here is that the Xerces include dir *is* set in the
CMakeLists.txt of src/Base, but it got removed from various App and Gui
dirs in src/Mod. If those now include a header from src/Base, which
itself includes xercesc, the build fails using Apple clang version 11.0.0
(clang-1100.0.33.17) on Mojave, configured using cmake 3.22.1, with
errors like the following:

In file included from .../src/Mod/Part/App/FeaturePartBoolean.cpp:34:
In file included from .../src/App/Application.h:33:
.../src/Base/Parameter.h:54:10: fatal error: 'xercesc/util/XercesDefs.hpp' file not found
 #include <xercesc/util/XercesDefs.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Finally, a full list of the commits that introduced this spurious include
dir optimization for reference:
- Drawing: commit f4411478d106ba9f4827754a50efa53bd7767a66
- Image: commit e3476815c04c571199779bd1e444b950e6398025
- Import: commit b7b264e52c8fd97e83987c4ce42ce563170c8918
- Inspection: commit 1f64d8b1b8fcabe983c6e5e624d65766b4429ea0
- Mesh: commit 5a8fed0720d681cdbb9fedc840d2532c4f2f6042
- Part: commit 26bb65f11f4b51e5e47b65b2d6049ece10705a83
- PartDesign: commit f4e49f2aecf08f2337e84510ed019b7fa4b685a3
- Path: commit e3d9cc98577d2073297d55ffd8de28dd50f8444c
- Points: commit 09f3e867cdccd31294cced4e3c73015d3add3f4a
- Raytracing: commit 7b92dedc53f09e2ce8365408f3003e5700aebfc8
- ReverseEnginering: commit eeacc51ad0cd82e5f17d63207f78f79eb20bf9a9
- Robot: commit 4d06684cbd0328e4f43c78b5dab7e7fcebab148d
- Sketcher: commit 079125665495a08a7e2e2a4f01da406128dca625
- Spreadsheet: commit 514097954e95c04a7ec9d7e8ec1afc3aac3dd8d
- Start: commit 2ea2bb0dc393d7b8b41e9137c6d4ae40ce29719d
- Surface: commit 272268dd6c0b460ae9aeecdf371495ea26aa044d
- TechDraw: commit c70fdc3e0aa6b409626a6fa6b7266d05f3338c6d
- Test: commit 49a07b121e08e9bf3fef0f414a8da5602533592e
- Web: commit a93a23d7e4da13b2d5c37ac087b2dcf41aae197d
2022-08-24 07:40:04 +02:00
berniev
71dc5ead2f Mod: Use override etc 2 2022-08-09 12:52:26 +02:00
berniev
f4ffd15864 Mod: redundant void 2 2022-08-08 10:27:50 +02:00
berniev
53ba98d636 Mod: use empty 2022-08-06 19:30:13 +02:00
wmayer
d887c2d77b Import: use Part::ImportExportSettings to access parameters 2022-07-23 21:58:51 +02:00
Uwe
8b99abd81b [Image] [Inspection] remove superfluous nullptr checks 2022-07-18 01:54:09 +02:00
wmayer
d64963d337 Import: do not export the entire class but only its public methods.
This fixes the warning C4251 for the template classes std::string or std::vector
Forum thread: https://forum.freecadweb.org/viewtopic.php?f=10&t=70317
2022-07-17 13:49:27 +02:00
wmayer
76c8dfa452 Import: replace PyObject_IsTrue with Base::asBoolean 2022-07-16 13:37:12 +02:00
wmayer
b55de64840 Import: if PyArg_ParseTuple() returns false PyErr_Clear() must be called first before calling PyArg_ParseTuple() again 2022-07-16 11:19:13 +02:00
wmayer
260d1e5ecc Import: [skip ci] change path to user config in Import.readDXF() 2022-07-16 10:59:06 +02:00
Benjamin Alterauge
ecfe912d97 PreCompiled fix
Preventive action to avoid problems with MSVC.
2022-07-16 10:55:24 +02:00
Benjamin Alterauge
b5ad86ae07 Code Cleaning - pragma
#pragma once or define. Not both.
2022-07-16 10:55:24 +02:00
Benjamin Alterauge
fead475d64 Group dxf relevant files in one folder 2022-07-16 10:55:24 +02:00
andrea
c66aadeb60 removed references to OCC<7 2022-06-25 14:29:24 +02:00
marioalexis
44da7b7c0b Import: Use PyObject_IsTrue in combination with conditional ternary operator 2022-06-22 19:50:03 -04:00
Uwe
9cca501eea [CMake] remove traces of assembly module
the assembly module was removed for FC 0.20 but it appears still in CMake as build option.

This PR tries to remove the remaining traces (maybe more needs to be done?)
2022-05-23 19:06:32 +02:00
Chris Hennes
a9c33d8f58 Import: PR6497 move return statement to new line 2022-03-29 12:36:18 -05:00
wmayer
1048176fc3 Import: include header with export macros 2022-03-24 20:44:34 +01:00
wmayer
d21a60b294 All: modernize C++11
* replace deprecated headers
2022-03-23 22:44:18 +01:00
wmayer
84f5b40789 Import: modernize C++11
* use nullptr
2022-03-23 19:26:15 +01:00
Uwe
bfb9b66d21 [Import] remove unused includes and Xerces 2022-03-20 22:19:08 +01:00
wmayer
e4d1ed8366 Base: rename BaseExceptionFreeCADError to PyExc_FC_GeneralError 2022-03-17 14:45:48 +01:00
wmayer
1f12dca2b4 Py: replace BaseExceptionFreeCADError with more suitable exception types 2022-03-17 13:54:23 +01:00
wmayer
0f9768fb33 Fix coverity issue:
* CID 332682: Resource leak
* CID 350607: Resource leak
* CID 332677: Resource leak
2022-03-14 11:35:04 +01:00