The problem is that the behavior changes for the original object and the simple copy, after i did the refine. Please compare the results of your tool at 0:30 and at 1:20.tanderson69 wrote:Check doesn't show anything, because a compsolid isn't necesarily an error. You never posted that the file in the video prior to the model refine. I can't do anything with a file that has already been corrupted.shoogen wrote:OK, i reproduced the problem with the check not showing anything.
corrupted models
Re: corrupted models
- Attachments
-
- main.fcstd
- (396.2 KiB) Downloaded 73 times
- tanderson69
- Veteran
- Posts: 1624
- Joined: Thu Feb 18, 2010 1:07 am
Re: corrupted models
Now that I have a relevant file, I am with you. Yes, I can repeat what you show in the video. I am pretty sure we are dealing with more than one problem.
I am getting the following output in the terminal, working with your file. Do you get this and what does it mean to you?
I am getting the following output in the terminal, working with your file. Do you get this and what does it mean to you?
Code: Select all
<unknown exception traceback><type 'exceptions.AttributeError'>: 'module' object has no attribute 'CGALFeature'
<unknown exception traceback><type 'exceptions.AttributeError'>: 'module' object has no attribute 'CGALFeature'
<unknown exception traceback><type 'exceptions.AttributeError'>: 'module' object has no attribute 'CGALFeature'
<unknown exception traceback><type 'exceptions.AttributeError'>: 'module' object has no attribute 'CGALFeature'
<unknown exception traceback><type 'exceptions.AttributeError'>: 'module' object has no attribute 'CGALFeature'
X Error: BadWindow (invalid Window parameter) 3
Major opcode: 31 (X_GrabKeyboard)
Resource id: 0x0
<unknown exception traceback><type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'execute'
hull003: 'NoneType' object has no attribute 'execute'
<unknown exception traceback><type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'execute'
hull: 'NoneType' object has no attribute 'execute'
<unknown exception traceback><type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'execute'
hull001: 'NoneType' object has no attribute 'execute'
<unknown exception traceback><type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'execute'
hull002: 'NoneType' object has no attribute 'execute'
<unknown exception traceback><type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'execute'
hull004: 'NoneType' object has no attribute 'execute'
Re: corrupted models
tanderson69 wrote:Now that I have a relevant file, I am with you. Yes, I can repeat what you show in the video. I am pretty sure we are dealing with more than one problem.
I am getting the following output in the terminal, working with your file. Do you get this and what does it mean to you?
Code: Select all
<unknown exception traceback><type 'exceptions.AttributeError'>: 'module' object has no attribute 'CGALFeature'
Code: Select all
X Error: BadWindow (invalid Window parameter) 3
Major opcode: 31 (X_GrabKeyboard)
Resource id: 0x0
Code: Select all
<unknown exception traceback><type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'execute'
hull003: 'NoneType' object has no attribute 'execute'
Re: corrupted models
Hi Tanderson69
IS this one useful? Its a step file in this topic starting here
viewtopic.php?f=22&t=5739
by page 4 here, I have a list of various combinations of FreeCAD and OCC/OCE
viewtopic.php?f=22&t=5739&start=30#p47457
It seems, from my limited testing, that you need the latest OCE and a recent FreeCAD, for Part Check Geometry to find the errors
this is the file while writing this I see icby has replied
Jim
IS this one useful? Its a step file in this topic starting here
viewtopic.php?f=22&t=5739
by page 4 here, I have a list of various combinations of FreeCAD and OCC/OCE
viewtopic.php?f=22&t=5739&start=30#p47457
It seems, from my limited testing, that you need the latest OCE and a recent FreeCAD, for Part Check Geometry to find the errors
this is the file while writing this I see icby has replied
so this post is now probably a waste of time? I will leave it here just in case it is useful in some way.Jim is right: this functionality was added recently by tanderson with commit git commit f51ffa and it uses a new feature from occ6.7 (oce0.15).
Jim
- tanderson69
- Veteran
- Posts: 1624
- Joined: Thu Feb 18, 2010 1:07 am
Re: corrupted models
No I don't have that commit. But I am not worried about it now as I have the condition isolated outside of openscad. Too be continued.shoogen wrote:The proxy for a FeaturePython Object can't be attached. Does your branch include the commit 0e6b7a629d0790971f69a6b4719380450851839c ?
- tanderson69
- Veteran
- Posts: 1624
- Joined: Thu Feb 18, 2010 1:07 am
Re: corrupted models
Shoogen:
I traced this into the OCC::BRepLib_FuseEdges. I created a bug report on oce.https://groups.google.com/forum/#!topic ... Mau4GTySlU. Hopefully something will happen.
I think we can work around this problem. I will create a bug report on mantis. issue #1450
I traced this into the OCC::BRepLib_FuseEdges. I created a bug report on oce.https://groups.google.com/forum/#!topic ... Mau4GTySlU. Hopefully something will happen.
I think we can work around this problem. I will create a bug report on mantis. issue #1450
Re: corrupted models
That good news. But it only explains the broken shape, not the behavior of the check command, or does it?
- tanderson69
- Veteran
- Posts: 1624
- Joined: Thu Feb 18, 2010 1:07 am
Re: corrupted models
That is good question. IMHO: OCC uses a "copy on write" strategy. So even though you are making copies the corruption carries through. If you are curious to test this:shoogen wrote:That good news. But it only explains the broken shape, not the behavior of the check command, or does it?
experiment 1:
load your problem file.
make a simple copy.
make a simple copy of the simple copy.
refine the last copy.
check geometry on each shape and see the corruption cascade all the way to original. (this is just like your video).
experiment 2:
load your problem file.
make a simple copy.
save the file.
close the file.
open the file.
make a simple copy of the simple copy.
refine the last copy.
check geometry on each shape and see the corruption doesn't make it all the way to the original.
this happens because Freecad serializes each document objects TopoDS_Shape separately. So shape copies at runtime are linked by OCC, but after a save and load the links are gone. This is how I see it this week. Ask me again next week.

Re: corrupted models
copy on write is nice. And i think FreeCAD should do some deduplication on shapes as well (to reduce the file size).
But we are not talking about an OCC operation giving one bad result. This means the the copy on write does not protect other shapes from corruption, if the algorithm of a geometric operations goes wrong.
That's surly the worst bug in OCC I've ever heard about.
But we are not talking about an OCC operation giving one bad result. This means the the copy on write does not protect other shapes from corruption, if the algorithm of a geometric operations goes wrong.
That's surly the worst bug in OCC I've ever heard about.
Re: corrupted models
i got a new file.
please refine the top level object.
please refine the top level object.
- Attachments
-
- airtripper-intact.fcstd
- (80.63 KiB) Downloaded 77 times