Commit Graph

3466 Commits

Author SHA1 Message Date
Furgo
1c865c0f95 Draft toggle grid as a toggle button to indicate grid visibility (#14452)
Makes the button for the Draft_ToggleGrid command act as a real toggle button to provide visual feedback of the grid visibility state.

---------

Co-authored-by: Syres916 <46537884+Syres916@users.noreply.github.com>
2024-06-13 15:31:29 +02:00
Roy-043
eaa67e1bfe Draft: _get_shapes in shape2dview.py did not handle null shapes (#14646)
Null shapes do not have a ShapeType (strange IMO). The function did not take that into account.

Forum topic:
https://forum.freecad.org/viewtopic.php?t=88397
2024-06-13 15:27:47 +02:00
Roy-043
a7c38eab09 Draft: Fix two Layer warnings (#14506)
There are two unnecessary Layer warnings:
1. A 'might break' warning when deleting an object nested in a layer.
2. An 'out of scope' warning for objects also nested in f.e. a Std_Part.

To avoid them the Group property type was changed to `App::PropertyLinkListHidden`.
2024-06-06 15:53:49 +02:00
Chris Hennes
6404de9c21 Update translations 2024-06-03 11:04:42 -05:00
Yorik van Havre
bf1d579724 Draft: Fixed ghosts vanishing when using mouse delay - issue #12624 (#14358) 2024-05-30 22:41:54 +02:00
wmayer
560cab6f31 clang/gcc: Add build option FREECAD_WARN_ERROR to force to make warnings into errors 2024-05-29 13:37:07 +02:00
paul
0261ab8977 [ArchWall] Add Offset per Edge Feature (#14277)
* [ArchWall] Add Offset per Edge Feature

ArchWall.py - Add Override Offset property & ground work for Multi-Layer Wall
Offsets.py - Add offset per edge support to ArchWall

Forum Discussion :
- https://forum.freecad.org/viewtopic.php?p=759634#p759634

* [ArchWall]  Fix bug found by unit test

'off' is no longer used, 'offsets' is used.
2024-05-28 10:39:21 +02:00
Roy-043
f7d8af592b Draft: fix _get_shapes in shape2dview.py (#14319)
Fixes #14312.

The `new _get_shapes` function could return the original object shape. This caused a problem if `sh.reverse()` executed.

Note that the file in the linked issue does not produce the error as it does not contain a shape with a negative volume.
2024-05-28 09:45:48 +02:00
Roy-043
0557bac0d3 Draft: Draft_Layer new Material handling (#13949)
Discussion: #13657.

This PR adds  the ShapeAppearance view property to Draft Layers.

The DefaultShapeColor is used for the DiffuseColor of the ShapeAppearance material. Other material properties are not based on the preferences when a layer is created.

The old ShapeColor and Transparency properties remain (ShapeColor as a hidden property) and are kept in synch with the ShapeAppearance. This is consistent with how ShapeAppearance is implemented in Core.

The gui_layers.py and make_layer.py files do not have to be changed. They manipulate the vobj via the mentioned old properties.
2024-05-28 09:45:05 +02:00
Yorik van Havre
a9b0b1f534 Draft: Enable TPN in SelectPlane - fixes #14196 2024-05-27 11:29:29 -05:00
Roy-043
5eeaeed104 Draft: update fuse behavior in facebinder.py
Fixes #14242.

In the current dev fusing an empty shape with a face or solid no longer works (probably introduced with #14169). The reason for starting with an empty shape was the assumption that the end result would then always have a default placement. But that is only correct if multiple objects are fused.

In the new version of the code fusing no longer starts with an empty shape. The default placement issue is solved by always returning a compound.

Additionally the value for the Area property is now taken after offsetting and fusing the faces.
2024-05-27 12:16:24 +02:00
Chris Hennes
73ae4102e6 Update translations
Arch->BIM is a WIP
2024-05-25 19:11:51 -05:00
Roy-043
69d405b011 Draft: Draft_Hatch workaround for TD edge length limit (#14114)
Edges longer than ca. 10m are considered 'crazy' in the TD Workbench. Hatch patterns are also checked. As a workaround some intermediate scaling is applied.

Addionally: `transformShape` instead of `transformGeometry`. The latter results in B-splines.
2024-05-18 11:39:08 +02:00
Roy-043
df49763d3f Draft: improved IsActive behavior (#14103)
Related issue: #14061.
2024-05-18 11:38:38 +02:00
Furgo
c55e84c6b0 Update grid size nomenclature (#13093)
* Update grid nomenclature to major/minor. Closes #13090
2024-05-16 22:24:04 +02:00
Roy-043
b5aa0d757a Draft: Draft_Split fix unhandled exception (#14059)
Fixes #13951.

Regression introduced by #12261.
2024-05-16 22:02:56 +02:00
Roy-043
012b1179c6 Draft: Draft_Slope input did not obey Decimals pref (#14060)
Forum topic:
https://forum.freecad.org/viewtopic.php?t=87686
2024-05-16 22:02:25 +02:00
Chris Hennes
c05111cb59 Merge pull request #13914 from Roy-043/Draft-Draft_SetStyle-new-Material-handling
Draft: Draft_SetStyle new Material handling
2024-05-13 11:22:11 -05:00
marcuspollio
a3d0713911 Update Draft WB icons (#13585)
* Update Draft WB icons

* Also make all icons 64px based

* keep inner white outline and small tweaks

* Tweaks following review

* Further tweaks following feedback

* Tweak more icons for consistency with light/dark themes

* Update following PR 13865, save as Plain SVG and remove unused ressources

Update texts for visibility

Some more cleanup

Use consistent FreeSans font
2024-05-13 11:20:42 -05:00
wmayer
41a707dcfe Draft: refactor TestDraftGeomUtils 2024-05-13 09:15:35 +02:00
Chris Hennes
9fead3682d Update translations 2024-05-12 17:06:56 -05:00
Roy-043
3dc1de6acf Draft: minor refactor of layer code (#13948) 2024-05-12 09:49:04 +02:00
Roy-043
30b3fcd045 Draft: Update v0.22 references to v1.0 (#13934) 2024-05-12 09:47:51 +02:00
Roy-043
81436e833a get_appearance_material -> get_view_material
Also removed the ret_default argument.
2024-05-11 10:11:16 +02:00
Roy-043
4c87e22b7f Draft: Add "legacy importer only" to DXF option (#13638)
* Draft: Clarify "legacy only" DXF options in the preferences

Fixes #13598.
2024-05-09 11:12:19 +02:00
Roy-043
1b2ef7831f Draft: Draft_SetStyle new Material handling
Discussion: #13657.
2024-05-09 10:49:19 +02:00
Chris Hennes
a5d8aaa21c Update translations
Also removes Web from translation scripts.
2024-05-06 18:17:53 +02:00
Martin Rodriguez Reboredo
51987dc1ab Fixups with Qt6 enums (#13611)
* Python PySide enums to C++ converter

* Python IntFlags to C++ int in getStandardButtons

* Remove int conversion in mods Python sources
2024-05-06 18:02:18 +02:00
Roy-043
1e49201b6c Clean up... 2024-05-06 11:07:23 +02:00
Roy-043
543f758f23 More files are involved... 2024-05-06 11:07:23 +02:00
Roy-043
6c2bdabc3d Draft: Do not show temporary line object in tree (additional)
#13778 introduced `self.obj.ViewObject.ShowInTree = False` to hide the temporary object. But objects that are hidden in the tree are displayed in the tree when they are selected in the 3D view. This selection occurs during commands that take more than 2 points. The solution is to change `self.obj.ViewObject.Selectable` on mouse button up/down.

Fixes #13700.
2024-05-06 11:07:23 +02:00
Roy-043
a10062caa4 Merge pull request #13778 from yorikvanhavre/draft-hide-templine
Draft: Do not show temporary line object in tree
2024-05-02 22:28:11 +02:00
Yorik van Havre
aee2afdca7 Draft: Do not show temporary line object in tree - fixes #13700 2024-05-02 11:04:15 +02:00
Roy-043
66f36fd7d2 Draft: update Draft Point viewprovider to account for ShapeAppearance
Without this mod there is an error when opening a V0.21 file with a Draft Point. As well as when creating a Draft Point in V0.22.
2024-05-02 10:09:28 +02:00
Dov Grobgeld
e66e90b512 Fix run time errors with python3.12 and pyside6 (#13337)
* Change pyopen=open expression to from builtins import open as pyopen

---------

Co-authored-by: Adrián Insaurralde Avalos <36372335+adrianinsaval@users.noreply.github.com>
2024-04-30 00:28:01 -04:00
Roy-043
30536de9a8 Only imported modules can be reloaded 2024-04-29 16:15:58 +02:00
Roy-043
4e908ee9bd Draft: legacy DXF importer: downloaded libs should be reloaded
Otherwise old versions will still be used in the current FreeCAD session.
2024-04-29 16:15:58 +02:00
Roy-043
9325a1cd5a Draft: legacy DXF importer fix group and layer behavior
Fixes #13621.

Currently the legacy DXF importer creates a main group with the DXF name if a DXF is imported into an existing FreeCAD document. For each DXF layer it then creates a sub-group (or Draft Layer) inside that main group. Objects are nested in the sub-groups (or Draft Layers).

This does not make sense for Draft Layers as they should be nested in the LayerContainer, which should be in the root of the FreeCAD document.

Both for Draft Layers and sub-groups there is the issue that if mutliple DXF files are imported in the same FreeCAD document, exising Draft Layers and sub-groups are not taken into account. For each DXF a new "0" group/layer is created (with a Label that is not "0" and therefore not recognized), and if there are objects on that layer a new group/layer is created for each object (labelled "0001", "0002", "0003", etc).

To solve this the main group with the DXF name is no longer created in the revised code and the layers variable is initialized with the groups/layers that already exist in the FreeCAD document.

Additionally the formatObject function should not format objects that are in Draft Layers. Its action conflicts with the layer mechanism resulting in the last imported object having an incorrect color.
2024-04-29 16:15:16 +02:00
Roy-043
4d2e124f11 Merge pull request #13633 from Roy-043/Draft-revert-Draft-WB-changes-from-13294
Draft: revert Draft WB changes from #13294
2024-04-26 10:46:05 +02:00
Roy-043
8c19516da2 Merge pull request #13612 from cjmayo/draft-byteCount
Draft: Fix QImage object has no attribute 'byteCount'
2024-04-25 09:20:10 +02:00
Roy-043
152d642b60 Draft: revert Draft WB changes from #13294
Revert the Draft WB related changes of #13294.
2024-04-24 21:27:04 +02:00
Chris Hennes
ead426c6eb Update translations
Note: Web and Start omitted
2024-04-24 13:58:21 -05:00
Chris Mayo
170f8baa29 Draft: Fix QImage object has no attribute 'byteCount'
'PySide6.QtGui.QImage' object has no attribute 'byteCount'
load_texture: unable to load texture
2024-04-23 19:35:54 +01:00
wwmayer
dd9da969e9 PySide6: Fixes #13533: QSvgWidget is not a child of QtSvg in PySide6 (#13554)
* Create a compatibility module QtSvgWidgets.py to handle PySide2 & PySide6
* In the Arch and Material modules use the QtSvgWidgets module
* Since Qt6 the method QFont.setWeight() doesn't accept an int any more but requires an enum. Since the call of QFont.setBold(True) sets
  a weight of 75 the extra calls of QFont.setWeight(75) can be safely removed

Co-authored-by: Adrián Insaurralde Avalos <36372335+adrianinsaval@users.noreply.github.com>
2024-04-22 18:35:33 -04:00
WandererFan
c9498235ae Merge pull request #13489 from yorikvanhavre/draft-axes-colors
Draft: Use preference-stored colors for axes colors
2024-04-22 12:08:17 -04:00
Roy-043
cd1f520788 Draft: Move MouseDelay pref to General group and set max value
* The MouseDelay pref does not belong in the "Grid and snapping" pref group.
* Max. value was missing. Without it the spinbox only goes to 100.
* The 3600 suggestion was removed from the tooltip as it is an unworkable value. But entering it is possible now.
2024-04-21 20:05:29 +02:00
Roy-043
6ad75fb315 Draft: Fix error when deleting first digit of input
Fixes #13150.
2024-04-19 19:16:13 +02:00
Roy-043
11903d2d1b Draft: Draft_ToggleGrid should update the grid
Fixes #13530.
2024-04-19 15:42:28 +02:00
Chris Hennes
e7069e6797 Update translations. 2024-04-17 16:50:38 -05:00
Roy-043
062b7d4c94 Draft: FIx issue with get_shape_normal
Forum topic: https://forum.freecad.org/viewtopic.php?t=86817
2024-04-16 15:04:49 +02:00