The code that was intended to handle this preference looked inside
Mod/BIM instad of Mod/Draft for the preference. This seems to have been
broken since the preference was first introduced in commit 507c40669d
(Draft: Turned autogroup button into layers selector (added pref option
to restore old groups-based system)).
This also removes a stray "-" that was probably a leftover from a merge
conflict, introduced in commit 68119de02f (Draft: move Draft_AutoGroup to
gui_groups module). Since -True is still true and -False is still false,
this did not actually break the code, though.
See https://forum.freecadweb.org/viewtopic.php?t=42018 for related
discussion.
This uses the default value that can be passed to getattr to simplify
code that uses it. By choosing an appropriate default value, a separate
call to hasattr can be avoided and in some cases duplicate code can be
avoided.
This applies this trick where possible in wire.py and circle.py.
This commit does not change behavior.
I did my best (I'm a programming novice) to understand the code and to improve the IFC export for slabs.
ATM for every slab all contour edges are exported as IFCSTRUCTURALCURVEMEMBER except the last closing one (see forum thread https://forum.freecadweb.org/viewtopic.php?f=39&t=54286).
This changes aim to also add the last closing edge for slabs.
In a few locations, python objects are used without checking if they
exist and are non-null, which throws missing attribute exceptions. The
fix is to simply check first.
the PR fixes the following things:
- change the way centerlines between 2 lines are calculated. The current implementation leads to many bugs and even crashes (e.g. when the 2 selected lines are parallel ones of a square). There are different forum threads from the last 1.5 years.
The new endpoint line sorting is the one described here: https://forum.freecadweb.org/viewtopic.php?f=35&start=20&t=44255&sid=989a668890f954c13ef81e4a04ee6912#p501179
- as consequence the erroneous and misleading line end flipping can go and is removed (only used internally)
- when creating a new centerline, you see it immediately
- when creating a new or editing an existing centerline and press Cancel, the creation/editing is aborted
- fix crash when the 2 selected lines are bot horizontal and one tries to create a vertical centerline
- fix crash when changing the orientation of an existing centerline and the result would be invalid
- cleanup the code a bit