View Issue Details

IDProjectCategoryView StatusLast Update
0002042FreeCADBugpublic2015-12-15 13:18
Reportershoogen Assigned Toshoogen  
PrioritynoneSeveritytweakReproducibilityhave not tried
Status closedResolutionsuspended 
Target Version0.16Fixed in Version0.16 
Summary0002042: revise the usage of shape.copy() in Draft.Array
Descriptioncurrently a shape is copied for every instance and then all those copies are fused together.
AFAIK those copies are deep copies, which probably break up sharing of subshapes. The behavior could be changed in to ways.
1. Create one copy, move it around and add it to the result shape for every instance.
2. Create shallow copies
3. Instead of using copies, create a compound to apply the placement.

TagsNo tags attached.
FreeCAD Information

Activities

shoogen

2015-04-08 07:26

developer   ~0005976

The same problem applies to Draft._PathArray.

yorik

2015-04-08 16:06

administrator   ~0005978

I don't really understand what is that bug report meant to fix? Can you give an example?

shoogen

2015-04-12 13:49

developer   ~0006007

I thought that using shape.copy() would create deep copies and undermine the sharing of subshapes. I wanted to reduce the resulting shape size for Draft._Array(s) by using Compounds instead of deep copies. (I wanted to preserve the sharing of subshapes through the booleans)
But it turned out that the difference in the resulting .breps is neglectable.

Issue History

Date Modified Username Field Change
2015-04-08 06:58 shoogen New Issue
2015-04-08 06:58 shoogen Status new => assigned
2015-04-08 06:58 shoogen Assigned To => shoogen
2015-04-08 07:26 shoogen Note Added: 0005976
2015-04-08 16:06 yorik Note Added: 0005978
2015-04-12 13:49 shoogen Note Added: 0006007
2015-04-18 16:12 shoogen Status assigned => closed
2015-04-18 16:12 shoogen Resolution open => suspended
2015-12-15 13:18 yorik Fixed in Version => 0.16