It replaces the older `Draft_Array` command, and provides
a task panel to select the properties, similar to the
`Draft_PolarArray` and `Draft_CircularArray` commands.
It can also create `App::Links` directly from this task
panel, so it also replaces the `Draft_LinkArray`
introduced by the LinkMerge.
See: https://forum.freecadweb.org/viewtopic.php?f=23&t=43228
It fixes the following issue:
Allow the use of sketches for Structure which follow a Tool. Currently, sketches are only accepted as structure Base when there is no Tool set. If I select the sketch and press the Structure button, the structure is computed correctly. But when I set the Tool property, the message "Structure has no solid" is reported and the Structure is not updated.
Also other small fixes: cleanup for getting the icon
of the workbench; translation of some strings;
cleanup of comments, printing functions, and PEP8 style.
while fixing a SVG export issue for techDraw I noticed that some SVG files have program-dependent (and thus not clean) code in it. These are traces of the programs Sodipodi and Inkscape, like e.g. this line:
inkscape:export-filename="/home/yorik/PartDesign_Groove.png
This is unnecessary and FC should not use program-dependent code in the SVG but use instead plain SVG strictly following the SVG specification.
This PR transforms the few affected SVGs to a plain version.
getSubVolume() -
- When Windown is a Clone, HoleWire in Clone is tested
- However, if HoleWire is not set, no further check if HoleWire in Original is set
- The original code direclty check the Base's Wires BoundBox as HoleWire
getSubVolume() -
- When Windown is a Clone, no base is set
- When HoleDepth is set, no further check if there is a Clone to set its base to Clone's base
- The original code return None when no base is set
Per Edge Align Feature
- add OverrideAlign attribute to wall
- to know exactly which Sketch edge sorted into final Wires, so as to know each edge's width / align / etc.
> sort Sketch edges by sorting Sketch.Geometry instead of Sketch.Shape Edge
> this ensure consistency in sorting result
- pass widths, align, normal info to revised DraftGeomUtils.py and revised routine to get 2 wires from a basewires
Enabling works
- enable base objects to provide width and align per edge information by getWdiths() and getAligns() methods
- this enable base objects e.g. Sketch, DWire (functions being added) to store per edge info e.g. align, widths etc
(already can do in SketchObjectPython)
According to the standard, entities of type IfcSpatialStructureElement
should not be related to other spatial structure elements through
IfcRelContainedInSpatialStructure but through IfcRelAggregates.