Access Violation when creating fillet from SliceApart'd body

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
Post Reply
jperoutek
Posts: 4
Joined: Tue Sep 08, 2020 8:36 pm

Access Violation when creating fillet from SliceApart'd body

Post by jperoutek »

I was following along with a tutorial for designing a 3x3 Rubik's cube, and ran into a problem applying fillets to the pieces after creating them.

Overall, the steps I took are here:
  1. In PartDesign, create a square sketch centered on the origin
  2. Pad(symmetric) the square to make a cube (centered on the origin).
  3. Sketch the cut profile on one of the principal planes
  4. Using Part::Revolve, make a Surface from the cut profile
  5. Using Part::Mirror, make another Surface parallel to the previous one.
  6. Create a compound of the two surfaces using Part::MakeCompound
  7. Use Draft::PolarArray, create two more instances of the Compound cut surfaces, rotating around a datum axis going through two opposite cube corners
  8. Explode the Array of surfaces into 3 parts.
  9. Using Part::SliceApart, slice the cube into 27 segments.
  10. Selecting a corner piece of the cube, Use PartDesign::MakeBody to create a body for a corner piece. Repeat for Edge and Center pieces.
This is where I got stuck. I was trying to apply a 3 mm fillet to the edges indicated in the image below.
Image

And I got an Access Violation error. It is my understanding that this is due to problems with the OCCT kernel.

How can I proceed with making fillets on the edges of this piece? Both the PartDesign and Part fillets give me the same error.

I've attached my file here, if that helps at all.

System Info:

OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.22284 (Git)
Build type: Release
Branch: master
Hash: bf1e8e48389f5e9e25bd77b67fe98da4213e797c
Python version: 3.8.5
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: English/United States (en_US)
Attachments
puzzle_cube_test.FCStd
(211.82 KiB) Downloaded 13 times
kisolre
Veteran
Posts: 4166
Joined: Wed Nov 21, 2018 1:13 pm

Re: Access Violation when creating fillet from SliceApart'd body

Post by kisolre »

Hello and welcome to the forum :)
The problem seems to be that the OCCT kernel fails because of the many edges that continue from the internal edge point - it cant compute resulting surface at the bottom of the fillet. I tried refining the shape from your file but it did not work probably because at some point those surfaces from the sphere were converted to B-splines and are not recognized as the same surface any more.
So I made another model with generally same shape, just constructed differently, where the spherical surface is a single one and those edges chamfer just fine:
CuePiece.JPG
CuePiece.JPG (58.77 KiB) Viewed 443 times
jperoutek
Posts: 4
Joined: Tue Sep 08, 2020 8:36 pm

Re: Access Violation when creating fillet from SliceApart'd body

Post by jperoutek »

That is a similar result to @blitzkraft on the IRC channel. Is there a way I can merge the 6 faces on the spherical portion (or just remove the unnecessary edges)?
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Access Violation when creating fillet from SliceApart'd body

Post by DeepSOIC »

Looks like we really need OCC refinement algorithm for this case.
FreeCAD's refiner only supports planes and cylinders, it can't join spheres.
jperoutek
Posts: 4
Joined: Tue Sep 08, 2020 8:36 pm

Re: Access Violation when creating fillet from SliceApart'd body

Post by jperoutek »

DeepSOIC wrote: Wed Sep 09, 2020 12:33 pm Looks like we really need OCC refinement algorithm for this case.
FreeCAD's refiner only supports planes and cylinders, it can't join spheres.
Is the algorithm already present in the OCCT kernel? Would this simply be a process of adding a FreeCAD wrapper to it, or would it be a much more involved process?
User avatar
Vincent B
Veteran
Posts: 4741
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: Access Violation when creating fillet from SliceApart'd body

Post by Vincent B »

From your file, to avoid the issue. ;)
when fillet or chamfer meet 4 curves, he usually not like that. :roll:
Attachments
aa.FCStd
(17.68 KiB) Downloaded 11 times
Post Reply