Problems with Self Intersecting Faces in a model

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!
User avatar
luggw1
Posts: 178
Joined: Sun Feb 12, 2017 5:44 am
Location: Colorado
Contact:

Re: Problems with Self Intersecting Faces in a model

Post by luggw1 »

chrisb wrote:You found an error in the "Validate Sketch" tool. Since my first analysis was based on that tool you may want to revisit your first model and neglect all hints mentioning these special tangent constraints. I don't have the time now, if you don't succeed write back and I will have a look tonight.
I decided to proceed with what I previously attached after removing the redundant coincident constraints and examining the sketch for other possible problems of my own making. I mirrored the sketch, added equality and symmetry constraints (very cool when you figure out how they work) and added the connecting line and arc to complete the outline. Validating the sketch produced "20 missing coincidences", one at each location that didn't have a Coincident constraint (the location had either a tangent or a perpendicular constraint applied by the Polyline tool). I didn't bother to have the validation tool fix them. I now see from a post from NormandC that this is a known problem and I should not be concerned about it - even better, he has reported a bug so it will hopefully get fixed.

I next tried both the Pad and the Extrude tools to create BasicCylinderBlock. Both worked and created a solid that passed the Check Geometry tool.

You will note in the attached model four "slabs" called "LeftFrontCutout", RightFrontCutout", "LeftRearCutout" and "RightRearCutout". LeftFrontCutout was modelled from sketches to represent the material to be removed and the sketches are independent of the cylinder block itself (they were not based off any face on the cylinder block). The other three were created using the Draft->Mirror tool. Only the LeftFrontCutout is currently displayed.

When I attempt to Cut the LeftFrontCutout from the BasicCylinderBlock, FreeCAD crashes. I'm kind of stumped at this point as this doesn't seem like it should be that difficult of a thing to accomplish, but I'm currently at an impasse.

Any help would be greatly appreciated.
Bill Lugg
Attachments
up4410_new_cylinders-forum.fcstd
(149.32 KiB) Downloaded 22 times
chrisb
Veteran
Posts: 53920
Joined: Tue Mar 17, 2015 9:14 am

Re: Problems with Self Intersecting Faces in a model

Post by chrisb »

Your Extrude uses negative length. Change it to positive, move it or the left front cutout into position and the cut works.

Why didn't you use the Part Design Pad? The Part Design tools are made to work together, while mixing between Part and part Design should work as well, but sometimes it doesn't.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Problems with Self Intersecting Faces in a model

Post by GeneFC »

NormandC wrote:
GeneFC wrote:It may be best to follow the orthodoxy
I resent the use of this term. It is not orthodoxy, it is based on experience: hand down, the polyline tool is much faster than working with disconnected elements. I am not a competitive person, but I am willing to put it to the test in a contest. Are you?
That term carries absolutely zero negative connotation for me. Sorry I unintentionally offended you.

Gene
User avatar
luggw1
Posts: 178
Joined: Sun Feb 12, 2017 5:44 am
Location: Colorado
Contact:

Re: Problems with Self Intersecting Faces in a model

Post by luggw1 »

chrisb wrote:Your Extrude uses negative length. Change it to positive, move it or the left front cutout into position and the cut works.

Why didn't you use the Part Design Pad? The Part Design tools are made to work together, while mixing between Part and part Design should work as well, but sometimes it doesn't.
Actually, I did use the Pad tool first (had to check the Reversed checkbox), but it produced the same results as the Extrude tool (the crash) so the results of the Extrude are what I included in the attachment.

I tried what you suggested above and then used the Pad tool to create my basic solid and as you state, the cut works,but when I Check Geometry the Self-Intersecting face problem returned. However, when I used the Extrude tool and made all four cuts, checking geometry after each one it seemed to work this time.

What I don't understand is why extruding in a negative direction (or padding reversed for that matter) wouldn't work when extruding (or padding) in the opposite direction does work.

Thanks for the help, that's another one I need to add to my tool chest.
Bill Lugg
User avatar
NormandC
Veteran
Posts: 18587
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Problems with Self Intersecting Faces in a model

Post by NormandC »

Thanks Gene.
chrisb wrote:Your Extrude uses negative length. Change it to positive, move it or the left front cutout into position and the cut works.
Nice catch! It's still very odd that using a negative direction would make the cut fail.
luggw1 wrote:When I attempt to Cut the LeftFrontCutout from the BasicCylinderBlock, FreeCAD crashes.
I get no crash, but the produced Cut turns black and the analyze geometry tool says the compound is invalid.

Doing as Chris suggests fixes it.

I'm using Ubuntu 16.04, and Linux Mint Rosa is based on Ubuntu 14.04 - I assume you installed FreeCAD from our Stable Releases PPA? It's a pity I deleted my Ubuntu 14.04 partition when I installed 16.04, I would have tested for a crash.

Could you open FreeCAD from the terminal, reproduce the crash and paste here the contents of the terminal? Even better would be to generate a backtrace. I think even with a regular build such as the PPA package it may provide useful info.

BTW: since your CylinderBlockOutlineSketch is symmetric, you could have modelled only half of it, padded it then created a Part Mirror then a Part Union. EDIT: just noticed Chris already suggested this.

My freecad version:
OS: Ubuntu 16.04.2 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6707 (Git)
Build type: None
Branch: releases/FreeCAD-0-16
Hash: 5465bc47c95db45e0be85dc0e2872419efadce0f
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
Attachments
up4410_new_cylinders-forum_fixed_normandc1.fcstd
(197.02 KiB) Downloaded 22 times
chrisb
Veteran
Posts: 53920
Joined: Tue Mar 17, 2015 9:14 am

Re: Problems with Self Intersecting Faces in a model

Post by chrisb »

I can confirm both crashes when using negative length for the extrude or when the first pad is reversed.

OS: Mac OS X
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6706 (Git)
Build type: Release
Branch: tag: 0.16.6706
Hash: f86a4e411ff7848dea98d7242f43b7774bee8fa0
Python version: 2.7.11
Qt version: 4.8.7
Coin version: 3.1.3
OCC version: 6.8.0.oce-0.17
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
chrisb
Veteran
Posts: 53920
Joined: Tue Mar 17, 2015 9:14 am

Re: Problems with Self Intersecting Faces in a model

Post by chrisb »

Negative extrude and reversed pad both work in 0.17. So it is fixed!

OS: Ubuntu 14.04.5 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.10665 (Git)
Build type: None
Branch: master
Hash: 47847513a85ff6615774ef628230f79e37471daf
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 7.1.0
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
luggw1
Posts: 178
Joined: Sun Feb 12, 2017 5:44 am
Location: Colorado
Contact:

Re: Problems with Self Intersecting Faces in a model

Post by luggw1 »

NormandC wrote:I'm using Ubuntu 16.04, and Linux Mint Rosa is based on Ubuntu 14.04 - I assume you installed FreeCAD from our Stable Releases PPA? It's a pity I deleted my Ubuntu 14.04 partition when I installed 16.04, I would have tested for a crash.

Could you open FreeCAD from the terminal, reproduce the crash and paste here the contents of the terminal? Even better would be to generate a backtrace. I think even with a regular build such as the PPA package it may provide useful info.

BTW: since your CylinderBlockOutlineSketch is symmetric, you could have modelled only half of it, padded it then created a Part Mirror then a Part Union. EDIT: just noticed Chris already suggested this.
I was able to reproduce it this morning and wrote it all to a log file that is attached. There isn't much there, just a segmentation fault. The backtrace would certainly produce more info, but since chrisb noted that it seems to have been fixed in version 0.17, I think I don't want to spend the time compiling a debug build to chase this any further.

Does anyone know when 0.17 is likely to be released into the wild? I haven't found anything about a release date so far.

I will be taking your suggestion of modelling half of it, mirroring the resulting solid and unioning the two solids at the end as there is still a lot to do to complete the cylinder block. Doing it once instead of twice appeals to me.

Thanks.
Bill Lugg
Attachments
freecad_log.txt
(8.44 KiB) Downloaded 19 times
User avatar
NormandC
Veteran
Posts: 18587
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Problems with Self Intersecting Faces in a model

Post by NormandC »

luggw1 wrote:Does anyone know when 0.17 is likely to be released into the wild? I haven't found anything about a release date so far.
https://forum.freecadweb.org/viewtopic. ... 50#p167849
Post Reply