View Issue Details

IDProjectCategoryView StatusLast Update
0001137FreeCADBugpublic2013-08-25 13:35
Reporterpeepsalot Assigned Towmayer  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Versiontrunk 
Fixed in Version0.14 
Summary0001137: Incomplete slices when using Part.slice on a torus
DescriptionI am writing a script for slicing parts into pieces to be cut on a lasercutter.

The test script is attached to this bug. It creates a torus and then attempts to slice it along an arbitrary plane normal. It does this by finding the bounding box of the part, and calculating the maximum and minimum plane offsets that would bound the object. Then iterates from the min to the max offset by some amount of spacing. The resulting wires are then displayed.

The problem is that not all the slices of the torus seem to be calculated correctly. Some slices are completely missing, while some only slice one "side" of the torus.

An image of the output: http://i.imgur.com/aZkk7ow.png
Additional InformationOS: Ubuntu 13.04
Platform: 64-bit
Version: 0.14.2127 (Git)
Branch: master
Hash: b45c1dbb8462b7dc1f3bb0130cb642987d2b9ce1
Python version: 2.7.4
Qt version: 4.8.4
Coin version: 3.1.3
SoQt version: 1.5.0
OCC version: 6.5.0
TagsNo tags attached.
FreeCAD Information

Relationships

related to 0001228 closedwmayer Cross section of Torus in Part Workbench fails or give wrong results 

Activities

2013-05-24 03:12

 

Slicer.py (Attachment missing)

wmayer

2013-05-24 07:36

administrator   ~0003177

That's a problem of the cad kernel. I don't think we can do much for you.

peepsalot

2013-05-30 22:48

reporter   ~0003185

I;m afraid I don't know enough about opencascade itself to produce a meaningful bug report for them. Do you know what opencascade functions are being called by freecad in this instance?

Jriegel

2013-06-26 12:38

administrator   ~0003250

Why do you use a torus?
Is it the same on more common shapes?

wmayer

2013-08-25 13:34

administrator   ~0003518

BRepAlgoAPI_Section fails on more complicated shapes. There are two tricks that work pretty well:
+ create a half-space out of the section plane and perform a boolean cut
+ do a boolean intersection of the section plane and the shape

The input shape must be a solid therefore.

wmayer

2013-08-25 13:35

administrator   ~0003519

git show 348fcef

Issue History

Date Modified Username Field Change
2013-05-24 03:12 peepsalot New Issue
2013-05-24 03:12 peepsalot File Added: Slicer.py
2013-05-24 07:36 wmayer Note Added: 0003177
2013-05-30 22:48 peepsalot Note Added: 0003185
2013-06-26 12:38 Jriegel Note Added: 0003250
2013-06-26 12:39 Jriegel Status new => feedback
2013-08-24 11:06 wmayer Relationship added related to 0001228
2013-08-25 13:32 wmayer Status feedback => assigned
2013-08-25 13:32 wmayer Assigned To => wmayer
2013-08-25 13:34 wmayer Note Added: 0003518
2013-08-25 13:35 wmayer Note Added: 0003519
2013-08-25 13:35 wmayer Status assigned => closed
2013-08-25 13:35 wmayer Resolution open => fixed
2013-08-25 13:35 wmayer Fixed in Version => 0.14