Editing early sketches not effecting part

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
clytle374
Posts: 172
Joined: Wed Nov 06, 2013 3:58 am

Editing early sketches not effecting part

Post by clytle374 »

So I'm trying to get the hang of ver 17 and don't know if this is my fault or a bug.
safetyboxlid.fcstd
(40.04 KiB) Downloaded 29 times
OS: Linux
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.7678 (Git)
Build type: Unknown
Branch: master
Hash: ee9452a8eec89b76e55a52573eee2e0b06ddc754
Python version: 2.7.10
Qt version: 4.8.6
Coin version: 3.1.3
OCC version: 6.6.0

So at the end of a export a stl and the holes are way to small, now when I go back and edit sketch002 and increase the hole sizes I find that it doesn't update the end result. I was able to do this before. Thanks
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Editing early sketches not effecting part

Post by NormandC »

Hi,

I recommend you display the Report view (View --> Panels menu) then go to Edit --> Preferences / General / Output window and tick both "Redirect internal python messages/errors..."

Upon opening your file, I get this error message:
Can't find Origin for "Body"
Can't find Origin for "Body"
After editing Sketch002, the Report view prints the following:
Document::recompute: The graph must be a DAG.
Document::recompute: The graph must be a DAG.
Quickly after, I get the following error dialog:
Gathering all dependencies failed, probably due to circular dependencies. Error: The graph must be a DAG.
A quick look at the Dependency graph shows that both Pocket and Pocket001 are based on Sketch001. I haven't had time to test 0.17 and keep up with its development, but I think this is not allowed. At least it wasn't in 0.16.

Off topic but:
clytle374 wrote:OCC version: 6.6.0
Your OCC version is 3 years old. The latest OCC version compatible with FreeCAD is 6.9.0. Work is being done to port FreeCAD to OCC 7.0, released a couple months ago.

OS: Ubuntu 14.04.4 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.7677 (Git)
Build type: None
Branch: master
Hash: 33c9b9d0ddd234e43b9bcaafacc870e11f94a7ca
Python version: 2.7.6
Qt version: 4.8.6
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
clytle374
Posts: 172
Joined: Wed Nov 06, 2013 3:58 am

Re: Editing early sketches not effecting part

Post by clytle374 »

Okay, that's more than I was hoping for, thanks for looking at it. I still have little understanding of the body concept, I do some searching tomorrow. And the DAG error.

As far as dependency graph and OCC I'll try and upgrade OCC soon(limited bandwidth) but it wants to down grade my nvidia drivers of some dependency. Graphviz was a problem to install on my system, but I just got it.

I am getting his
/SparseQR not supported by you current version of Eigen. It requires Eigen 3.2.2 or higher. Falling back to Dense QR
Upgrading Eigen from 3.1.3:3 to 3.2.8, will see what happens there as git is currently broken and it appears a rebuild is required.

As far a circular dependencies: I don't understand that either. I need to watch a bunch of videos or something (limited bandwidth) but I thought the only way they were circular was that I had used "create an edge linked to external geometries" in sketch001. When I deleted them the problem went away and I could resize the holes. Now I realize I don't understand what that is for either. I have gotten frustrated several times and given up on this, but now that I have a 3D printer, I'm much more motivated. But it seems like when you are trying to get a something designed you should be able to locate holes from a pocket, and not have to change 4 or 5 sketches for a small change. I realized I can't use a sketch twice, but what does purpose does "create an edge linked to external geometries" serve if I can't do that with it?
Thanks Again
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Editing early sketches not effecting part

Post by DeepSOIC »

clytle374 wrote:... I realized I can't use a sketch twice,...
You can!
use-sketch-twice.png
use-sketch-twice.png (145.25 KiB) Viewed 1723 times
use-sketch-twice.FCStd
(22.01 KiB) Downloaded 30 times
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Editing early sketches not effecting part

Post by DeepSOIC »

There is a loop in dependency graph:
safetyboxlid-depgraph.png
safetyboxlid-depgraph.png (103.22 KiB) Viewed 1722 times
FreeCAD is confused by this, as it cannot figure out, in what order to recompute features.

I don't know, how did you manage to arrive to this loop, as the loop creation should be screened off by Sketcher when creating external geometry links. There might be a fault in that logic (and I am responsible for creating it :oops: ).
clytle374
Posts: 172
Joined: Wed Nov 06, 2013 3:58 am

Re: Editing early sketches not effecting part

Post by clytle374 »

Thanks. As far as fault in the logic, it is Safe to assume that the fault lies with me. I am often not sure how I got from point a to point b. I do remember a 'that was dumb' moment in those first couple sketches , and swapped something. I probably linked to external geometry and then used the child as the parent.

Good to know that I can use a sketch twice.

Can someone point me to some documents on part body and it's origin? I went back and I don't see how to set it. Also where to find a definition of DAG so I might figure out what the error is about.

Thanks for the help, I hope to upgrade next weekend when I have good internet.

I very much appreciate the effort you all go to to provide help and the major effort to make freecad what it is. It is a great project
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Editing early sketches not effecting part

Post by DeepSOIC »

clytle374 wrote:Can someone point me to some documents on part body and it's origin?
If you are concerned about those "can't find origin" errors - relax. These are internal problems, and don't seem to affect anything, I have them too, every time I open a document with Parts/Bodies.
clytle374 wrote:Also where to find a definition of DAG so I might figure out what the error is about.
You should have easily googled that out. DAG stands for Directed Acyclic Graph (DAG is good; non-DAG is the problem; the error message is a little bit funny, because it states a requirement instead of what's wrong). In FreeCAD, if you see this error - it means there is a dependency loop.
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Editing early sketches not effecting part

Post by DeepSOIC »

clytle374 wrote:I am getting his
/SparseQR not supported by you current version of Eigen. It requires Eigen 3.2.2 or higher. Falling back to Dense QR
This can also be ignored. It merely causes a bit of slowdown, that you probably won't notice till you start working with really complicated/large sketches, which isn't recommended anyway.
clytle374
Posts: 172
Joined: Wed Nov 06, 2013 3:58 am

Re: Editing early sketches not effecting part

Post by clytle374 »

Thanks. I was able to Google DAG, just didn't understand what to do about it.

I got Eugene upgraded, and open cascade too... now trying to sort out a built problem I picked up in the system updates that got a little ugly in the process.

Thanks for the help and the efforts
User avatar
fosselius
Posts: 381
Joined: Sat Apr 23, 2016 10:03 am
Contact:

Re: Editing early sketches not effecting part

Post by fosselius »

Also got the same issue when editing old sketches, almost always fails, so removes all pads and start padding again from start each time i have to go back. if i where smart i would base all sketches on planes instead, but i am to lazy to be efficient..

My circular dependency got more paths then yours! ^_^

Blue = path
Red = alternative path
circularFreeCAD2.png
circularFreeCAD2.png (104.49 KiB) Viewed 1447 times
Post Reply