Commit Graph

149 Commits

Author SHA1 Message Date
Roy-043
093368a6ad Draft+Arch: Fix crash related to SoBrepEdgeSet 2022-09-28 17:32:12 +02:00
Roy-043
bafe141745 Arch: Housekeeping: import translate from correct file 2022-07-21 10:17:03 +02:00
Yorik van Havre
e916f8afbb Arch: Fixed test to work without the Drawing module 2022-06-30 11:38:22 +02:00
Roy-043
f89f032231 Arch: ArchSectionPlane always showed plan symbols of windows 2022-06-10 22:32:45 +02:00
marioalexis
aec0ae2d39 Arch: Replace Drawing functions with TechDraw functions 2022-02-21 13:17:09 -03:00
Chris Hennes
06a0e1e923 [Arch] Fix LGTM warnings 2021-09-28 10:29:45 -05:00
Yorik van Havre
5b32b806f6 Arch: Added Depth property to SectionPlanes 2021-07-01 13:46:24 +02:00
Matthijs Kooijman
f0c99c16f6 Arch: Do not draw draft-like groups twice in section view
When drawing a section view, first a list of objects to draw is made.
Starting with the objects selected by the section plane, any groups or
group-like objects are recursively expanded. The resulting list contains
all contained objects, but also the expanded groups themselves (due to
Draft.get_group_contents with addgroups set).

This list of objects is then further categorized and processed. In this
categorization, there was already an exception for DocumentObjectGroup
instances, which were omitted from the resulting `nonspaces` list
(presumably since there is no point in drawing the groups themselves
when their contents are already in the list).

However, any groups that only contain flat objects would be caught by
`looksLikeDraf()` and added to the `drafts` list, before this exception
could ignore them.

This causes these groups to be processed by Draft.get_svg, which does so
by calling itself recursively on the group contents. Effectively, this
means that the contents of such groups is drawn on the section view
twice. Even more, since Draft.get_svg does not do a visibility check
like Arch.getSVG does, this causes invisible objects to show up when not
intended.

This commit fixes this by moving the DocumentObjectGroup exception a bit
further up, so all these objects should be dropped.

An alternative fix might be to pass addgroups=False to
Draft.get_group_contents (in getSectionData), but that also prevents
group-like objects (Building, BuildingPart, Space, Site) from being
returned, but those likely need to be returned so they can be sectioned
if needed (though if just spaces are needed, then
Draft.get_group_contents also have a spaces argument to return just
those).
2021-05-09 17:19:05 +02:00
Yorik van Havre
6dcb1686f2 Merge pull request #4453 from regularfry/lgtm-arch-unused-imports
Arch: removes unused imports
2021-03-26 11:22:11 +01:00
Yorik van Havre
deaf74856b Arch: Fixed SectionPlane outside objects bug in ArchSectionPlane - Fixes #4549 2021-03-01 16:49:31 +01:00
Alex Young
79449b8ce9 Arch: removes unused imports
Removes unused imports as reported by LGTM.

There are exceptions: `import Arch_rc` is shown as an alert, but has side effects.  It's not clear what the best thing to do in those cases is, so I've left them for now.
2021-02-14 16:27:06 +00:00
paul lee
f05cc354b1 [ArchSectionPlane] Fix Swing Symbol for Windows(Doors) Link in ArchView/TechDraw
Forum Discussion  :  [ Link in Arch/BIM -- 4 ] Link of Door : Swing Not Shown in ArchView/TechDraw
- https://forum.freecadweb.org/viewtopic.php?f=23&t=55526
2021-02-14 03:13:36 +08:00
Yorik van Havre
d7692e359e Arch: Fixed wrong section fill when using archvrm module 2021-01-05 16:52:56 +01:00
Yorik van Havre
799a2e1f5d Reverting files wrongly committed with 5a974f824 2020-12-23 15:21:43 +01:00
Yorik van Havre
5a974f824c Updated ts files 2020-12-23 14:51:04 +01:00
Yorik van Havre
cd8af3656a Arch: Added Text settings to SectionPlanes 2020-10-29 18:28:35 +01:00
vocx-fc
587475fc8a Arch: use new name of the icon Part_3D_object
It is defined in the Part Workbench. Before, it was called `Tree_Part`.
2020-10-22 15:11:45 +02:00
Yorik van Havre
0d511d0551 Arch: Added SectionColor property to Arch Materials 2020-10-20 14:43:33 +02:00
Yorik van Havre
27053d90b0 Arch: Fixed backwards compatibility issues 2020-10-16 12:40:09 +02:00
vocx-fc
f799717f4d Arch: consider DraftText objects in the section plane for compatibility
After the reorganization of the Draft Workbench,
the `'DraftText'` objects are now of Proxy.Type `'Text'`.
In the `DraftAnnotation` class the `__setstate__` method
was defined to automatically migrate the Type.

The `Arch SectionPlane` only handles `'Text'` objects. If for
some reason there is still an old `'DraftText'` object
which has not been migrated to the new Type, it won't be found.
This is corrected by adding `'DraftText'` to the list of objects
to process.
2020-10-12 11:43:37 +02:00
Yorik van Havre
69fa329223 Arch: Added 'Show Label' view property to section planes 2020-10-01 10:30:09 +02:00
Vanuan
61f7347235 [Arch/TechDraw] Clean up _ArchDrawingView: remove getDXF
Properties and method were removed in 54a8e856cc
2020-09-09 14:18:23 +02:00
vocx-fc
5cf799dd85 Draft: rename svg parameter to fillspaces (lowercase) 2020-09-09 12:53:54 +02:00
vocx-fc
7627d0b81a Draft: move getSVG to draftfunctions submodule
Small fixes where the `get_svg` function is used, for example,
in the (obsolete) `DrawingView` class and `Arch_SectionPlane`.

Also update the unit tests accordingly.
2020-09-09 12:53:54 +02:00
Vanuan
074064486c [Arch] [TD] Fix #4392: ArchView invisible objects should be show for Coin* render modes 2020-07-13 14:37:50 +02:00
Vanuan
ba1d2846ea [Arch] [TD] Bug 4392: ArchSection and hidden objects for Render mode 2020-07-13 14:37:50 +02:00
vocx-fc
a5aa9646b0 Arch: update some functions that come from the Draft workbench
In particular `getGroupContents` was renamed to `get_group_contents`
in the Draft workbench, so the function name is updated accordingly.
2020-07-13 14:35:38 +02:00
carlopav
05c250d7b5 Arch: fix regression in SectionPlane 2020-05-18 12:18:36 +02:00
luz.paz
8fb5c65736 Arch: [skip ci] fix header uniformity
This PR fixes header uniformity across all Arch files
2019-12-26 18:24:06 +01:00
Zheng, Lei
a3e88a399f Arch: relax Part::Feature type checking
For supporting Link inside Arch.
2019-11-17 13:03:42 -03:00
luz.paz
95af9ed202 Arch: ArchSectionPlane.py LGTM incorrect variable fix [skip ci]
LGTM reported `For loop variable 'objs' is not used in the loop body.`
2019-10-25 10:23:24 -03:00
carlopav
1d0bf0e5bc [Arch] Add Section plane context menu for CutView
Added Section plane context menu to toggle cutview property
2019-10-17 17:37:59 -03:00
Yorik van Havre
cf9bbe14fb Arch: small bugfix 2019-09-03 19:58:38 -03:00
luz.paz
f22ae848ea Fix misc. typos, whitespace, and http:// to https:// issues 2019-09-03 11:11:43 -03:00
Yorik van Havre
ed0eff0248 TechDraw/Arch: Added new Coin Mono rendering mode to TD ArchViews 2019-08-24 19:41:57 -03:00
Yorik van Havre
93b5481c68 Arch: Optimization in SVG generation code 2019-08-21 19:56:25 -03:00
Yorik van Havre
f93a986b5a Arch/TD: Added Coin mode to TD arch views 2019-08-21 18:44:02 -03:00
Yorik van Havre
c168a7d14b Arch/TD: Support for Arch BuildingParts in TD ArchView 2019-08-16 19:03:49 -03:00
furti
ce943982ec Arch: Fix missing cache value for SectionPlane
When the Arch SectionPlane was rendered via TechDraw in Solid mode, the
last parameter "fillSpaces" was not set for the svgcache.
So the next render operation threw an exeption because there where only
4 instead of 5 elements in the cache list.
2019-08-14 14:43:13 -03:00
Yorik van Havre
3c68d1e0c3 Arch: Fixed some flat objects not appearing in techdraw 2019-05-13 13:10:36 -03:00
Yorik van Havre
8b4d6c0e64 Arch: Better behaviour and tooltips on section plane task panel buttons - fixes #3643 2019-05-09 11:42:22 -03:00
Yorik van Havre
9a64f3fad9 Arch: Added 'Clip' property to section planes to clip the rendered contents to the plane limits 2019-04-28 17:29:19 -03:00
Yorik van Havre
ea0c7694cd Arch/TechDraw: TD Arch views now have a 'fillSpaces' property to show Arch spaces as color-filled areas 2019-04-19 18:20:33 -03:00
furti
09731554c2 Add option to fill cut shapes with material colors
Previously when setting the "Show Fill" property of the TechDraw Arch
Section View to true, the areas where always filled with a default grey
color.

This commit adds a property called "UseMaterialColorForFill" to the
ArchSectionPlane. When set to true, it will use the objects material
color to fill the cut shapes and fall back to the default color
when no Material is found.
2019-03-22 10:36:07 -03:00
Yorik van Havre
21dc8c5054 Arch: Fixed remaining encoding problems - issue #3827 2019-02-19 20:03:51 -03:00
furti
27a467a44b Fix missing DWG imports in ArchSectionPlane.getSVG
When a DWG file is imported into FreeCAD it gets imported as a Part
object with a compound shape. One would imagine, that such an object
should be rendered like a symbol inside a TechDraw View. But when the
imported shape is inside a SectionPlane that also contains solids, the
shape is not included in the SVG.

The problem is, that getCutShapes only uses solid shapes, when a volume
was cut before. But the imported DWG is a flat 2D object and has no solids
inside.

To fix it, the getSVG method will check if an object looks like a draft
object, meaning:
 - It has a shape
 - It has no solids
 - It has no volume

When it finds such a shape, it will treat it like a draft object. So
it is displayed like a symbol in the resulting SVG.

https://forum.freecadweb.org/viewtopic.php?f=3&t=34079
2019-02-09 19:53:54 -02:00
furti
cce889b21c Fix missing door symbols in getSVG
The ArchSectionPlane has a built in SVG Cache. But the door symbols and
a few other things are not inside the cache. This things not inside the
cache rely on the presence of a cutface. But this cutface was only built
when the cache is not available.

So the First invocation after the cache was cleared added the symbols.
The next invocations of the method, with a cached SVG did not calculate
the symbols again, because the cutfaces where missing.

This commit fixes it by calculating the cutfaces independent from the
cache.

Reported in https://forum.freecadweb.org/viewtopic.php?f=3&t=33987
2019-02-08 11:05:17 -02:00
Yorik van Havre
b56598428d Arch: Disabled children claiming for Section Planes for now (buggy) 2018-11-08 15:17:22 -02:00
George Shuklin
3391a5ea4b Initial work, only text (no lines) 2018-10-26 19:25:44 -03:00
Yorik van Havre
b11ed19f8d Arch: Make section planes claim their children in the tree 2018-10-25 12:13:16 -03:00