Commit Graph

1461 Commits

Author SHA1 Message Date
tetektoza
f93fafdae6 TechDraw: Fix centerlines being double Y-axis transformed
As the title says. Currently when user exports to DXF, centerlines and
cosmetic edges appeared offset below their correct positions. The offset
was visible when opening exported DXF file in CAD software - centerlines
were displaced downward where they should be.

The issue was that cosmetic edges are already stored with the correct Y
orientation and should not be mirrored during export, so this caused
centerlines to be mirrored when they shouldn't be, resulting in
incorrect Y position.

So this is just a small modification to cosmetic edge export to skip the
Y-axis mirroring step.
2025-10-26 17:24:58 -05:00
wandererfan
22d8813c89 [TD]use unit and text from schema 2025-10-20 08:55:44 -05:00
WandererFan
489e3ca6fc TechDraw: fix leader positioning (snapping) (#24468)
* [TD]specialize leader snap handling

* [TD]fix leader live update regression

* [TD]QGTracker code clean-up
2025-10-13 18:21:31 +02:00
wandererfan
2df371f50f [TD] Use isProjectGroupItem() in remaining cases
- isDerivedFrom<DrawProjGroupItem>() is no longer reliable due to smart
  view creation changes.
2025-09-30 13:56:45 -05:00
wandererfan
98f50c218a [TD]fix dimension not exported to dxf 2025-09-30 13:36:30 -05:00
Markus Reitböck
63ab3de853 TechDraw: use CMake to generate precompiled headers on all platforms
"Professional CMake" book suggest the following:

"Targets should build successfully with or without compiler support for precompiled headers. It
 should be considered an optimization, not a requirement. In particular, do not explicitly include a
 precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
 generated precompile header on the compiler command line instead. This is more portable across
 the major compilers and is likely to be easier to maintain. It will also avoid warnings being
 generated from certain code checking tools like iwyu (include what you use)."

Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
2025-09-23 00:50:59 +02:00
Ryan Kembrey
1a681e1e69 TechDraw: Fix projection groups not recursively deleting 2025-09-15 09:36:42 +02:00
Markus Reitböck
496b31b087 do not use precompiled header for setting global compiler definitions and to disable compiler warnings
only 4 of these warnings are still relevant, CMake shall be used to disable them

Compiler definitions:

  NOMINMAX:
    * is already globally defined in SetGlobalCompilerAndLinkerSettings.cmake

  WIN32_LEAN_AND_MEAN:
    * use CMake target_compile_options on relevant targets

Warnings that still occur:

  C4251, C4273, C4275: all related to dllimport / export
    * use CMake target_compile_options on relevant targets

  C4661: no suitable definition provied for explicit template instantiation request
    * triggered in Mesh because of Vector3D in Base - not all functions are defined in header
    * use CMake target_compile_options on relevant targets

Warnings that are Currently not triggered (fix code if they appear again):

  C4005: macro redefinition

  C4244: argument conversion, possible loss of data

  C4267: conversion from size_t to type, possible loss of data

  C4305: truncation from type1 to type2
    * only occurrence disabled in Reader.cpp

  C4522: multiple assignment operator specified

  C5208: unnamed class in typedef name

Obsolete Compiler warnings:

  C4181: not mentioned in Microsoft docs anymore

  C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow)
    * throw(optional_type_list)  deprecated in C++17

  C4482: nonstandard extension used: enum 'enumeration' used in qualified name
    * not generated for compilers that support C++11

  C4503: 'identifier': decorated name length exceeded, name was truncated
    * obsolete since Visual Studio 2017

  C4786: not mentioned in Microsoft docs anymore
2025-09-11 20:21:04 -05:00
Ryan Kembrey
ddaa841036 TechDraw: Fix spreadsheet incorrect render due to cell merges 2025-09-10 22:28:20 -05:00
wmayer
ac51455a0a CMake: Replace include_directories with target_include_directories 2025-09-08 19:04:34 +02:00
Chris Hennes
b699349e9b Merge pull request #23521 from z0r0/python-interface-bindings-final
Core: Python interface bindings cleanup
2025-09-08 10:58:15 -05:00
Ian 'z0r0' Abreu
78ec52f1a8 updating docblock locations. 2025-09-02 08:28:47 -04:00
Ian 'z0r0' Abreu
b1c551026e reverting author metadata 2025-09-02 08:25:37 -04:00
Ian 'z0r0' Abreu
b0b9f8fc35 Adding license documentation to interface class docblocks. 2025-09-01 21:50:59 -04:00
wmayer
ae2e71b153 TD: Fix loading project files
With PR 19941 there is a regression where parts of the document
won't be restored. This is caused by overriding the virtual method
handleChangedPropertyType() but not calling the method of the base class.

While searching for a fix another problem showed up where (due to the
incomplete loading) exceptions are thrown but not handled within TD.
Therefore the method recompute() is overridden in DrawView to also handle
OCC exceptions.
2025-09-01 14:11:52 +02:00
wandererfan
500a089062 [TD]fix ISOLineSpacing preference not applied 2025-09-01 00:26:22 -05:00
Ian 'z0r0' Abreu
963757d9ba Finalizing Python interface bindings for TechDraw. 2025-08-31 15:43:50 -04:00
WandererFan
e256ff3c3d [TD]Fix no delete of cosmetic in clip group (#22838)
* [TD]Fix no delete of cosmetic in clip group

* [TD]lint clean up
2025-08-24 20:55:55 -05:00
theo-vt
b6c96c51bb TechDraw: Fix balloon annotation unlinked after undo-redo (#22805)
* TechDraw: remove then add balloon annotation when changing the SourceView

* Use fixSceneDependencies
2025-08-18 10:37:02 -05:00
luzpaz
a5a59ff2e3 Fix various typos 2025-08-12 12:18:23 -05:00
Chris Hennes
956f7eb38f Merge pull request #22466 from WandererFan/ComplexSection3
TechDraw: ComplexSection fixes
2025-08-11 11:01:47 -05:00
wandererfan
d0faf2a6b4 [TD]Ensure changed expression value is processed 2025-08-11 10:35:12 -05:00
Ryan Kembrey
bbfbb6e059 TechDraw: Update UI strings for consistency
Closes: #22143
2025-08-04 20:26:04 +02:00
wandererfan
cc3fb04e2b [TD]more stringent test for bsplines as circles 2025-08-04 10:49:27 -05:00
Ian Abreu
7c86817cbb Core: Generation of python bindings for Techdraw (#22565)
* first working interfaces..

* adding the rest.

* updated all pyi files.

* running black for formatting.

* removing unused imports

* removing empty comments

* fixing typing declarations.

* removing inline comments.

* fixing pyObjectBase in CosmeticEdgePy

* removing erroneous tags.

* running black.

* fixing CenterLinePy

* fixing import issues.

* Fixing tuple.

* Enabling CosmeticEdge compilation.

* fixing comments, removing unused imports.

* fixing ordering
2025-08-04 10:36:32 -05:00
wandererfan
2ee64c1732 [TD]light changes for style and clarity 2025-07-28 18:15:18 +02:00
wandererfan
0f676140d0 [TD]fix BrokenView does not handle shells
- or faces, wires, edges that are not part of another shape
2025-07-28 18:14:21 +02:00
Chris Hennes
ab52946257 TD: Remove incorrect allocation failure handler 2025-07-22 09:57:49 +02:00
Chris Hennes
8b10c035d0 TD: Switch to non-buffer-based format string interpretation 2025-07-22 08:59:49 +02:00
mosfet80
fb47a0d014 Remove unnecessary “using std::numbers::pi” 2025-07-18 20:30:44 +02:00
wandererfan
3dc2f7b3e9 [TD]Revert property type changes 2025-07-14 17:57:28 +02:00
Syres916
0f4d25f8c6 [TechDraw] fix regression from PR19502 2025-07-14 15:55:50 +02:00
wandererfan
c3037ac127 [TD]ComplexSection fixes
- fix handling of non-ortho profiles
- fix profile not on same plane as section normal
- fix direction of arrows on section line
2025-07-13 12:08:15 -04:00
wandererfan
e29836a9ad [TD]property type changes 2025-07-13 12:00:10 -04:00
WandererFan
51184b99d5 [TechDraw]Detail highlight drag (fix #21828) (#22036)
* [TD]add preferences for detail highlight snapping

* [TD]fix highlight drag issues

* Update src/Mod/TechDraw/Gui/TaskDetail.cpp

minor format change from benj5378.

Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>

---------

Co-authored-by: Benjamin Bræstrup Sayoc <benj5378@outlook.com>
2025-06-23 11:13:27 -05:00
wandererfan
9a18895cd0 [TD]fix bad element name in Vertex::Restore 2025-06-10 13:46:57 -05:00
WandererFan
8d0e9be09b [TD]Cosmetic vertex tag save/restore fail (fix #21069) (#21374)
* [TD]fix tag handling on Save/Restore

* [TD]fix linter messages

* [TD]remove c-style cast x4

* [TD]do not write VertexTag element in Vertex::Save
2025-06-09 17:48:00 +02:00
Chris Hennes
dd4599c459 Merge pull request #21558 from WandererFan/PyRoutineInvertY
[TD]Return QT or Conventional coords for geometry in Py routines (fix #21473)
2025-06-02 10:41:29 -05:00
theo-vt
1a0a68ae69 PartDesign: Fix hole centered on point edge case (#21257)
* Light refactor of getTopoShape function

* Fix hole edge case

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

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

* Update src/Mod/Part/App/PartFeature.cpp

Co-authored-by: Kacper Donat <kadet1090@gmail.com>

* Update src/Mod/Part/App/PartFeature.cpp

Co-authored-by: Kacper Donat <kadet1090@gmail.com>

* Update src/Mod/Part/App/PartFeature.cpp

Co-authored-by: Kacper Donat <kadet1090@gmail.com>

* Update src/Mod/Part/App/PartFeature.cpp

Co-authored-by: Kacper Donat <kadet1090@gmail.com>

* Refactor simplifyCompound()

* Use Base::Flags<GetShapeOption>

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

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

* Shorten enum name and move it from class scope to namespace scope

* [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>
Co-authored-by: Kacper Donat <kadet1090@gmail.com>
2025-05-29 22:37:54 +02:00
WandererFan
009754581e [TD] fix small angle dims (fix #21114) (#21208)
* [TD]fix handling of very small angle dimensions

- also remove test for too small format specifier

* [TD]lint messages

* [TD]apply review comments.
2025-05-26 17:19:19 +02:00
wandererfan
8289f84e0c [TD]fix hidden vertex not created 2025-05-24 14:57:44 -04:00
wandererfan
4d3d0d78e4 [TD]fix vertex visible attribute not restored 2025-05-24 14:57:44 -04:00
wandererfan
053e745f44 [TD]return Qt or conventional coords 2025-05-24 14:57:44 -04:00
Chris Hennes
4cc069eb0a TD: Remove unused variable 2025-05-19 09:36:13 +02:00
Luz Paz
ee4fa234c9 Fix various typos
Missed by the codespell CI not being functional for a period of time.
2025-05-15 10:59:48 -05:00
Chris Hennes
952485dcbb Merge pull request #19907 from benj5378/getAttribute
Base: make getAttribute template
2025-05-12 10:39:55 -05:00
Benjamin Bræstrup Sayoc
2b6e73c29d Everywhere: clean up getAttribute conversions 2025-05-09 15:54:57 +02:00
Benjamin Bræstrup Sayoc
2b1aec0041 Base: make getAttribute template 2025-05-09 15:54:57 +02:00
Chris Hennes
6a458b5ed0 TD: Fix capitalization of Console calls 2025-05-08 21:08:45 +02:00
WandererFan
3cabb3f7b8 [TD]Allow non-shape views to have children (#20768) (#21099)
* [TD]Allow non-shape views to have children (#20768)

* Update src/Mod/TechDraw/App/DrawView.cpp

Review comment

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>

* Update src/Mod/TechDraw/App/DrawView.cpp

review comment

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>

* Update src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp

review comment

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>

* Update src/Mod/TechDraw/Gui/ViewProviderDrawingView.cpp

review comment

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>

---------

Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-05-08 09:18:09 -05:00