Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does not want to move objects to groups #56

Closed
tiket18 opened this issue Oct 22, 2020 · 3 comments
Closed

Does not want to move objects to groups #56

tiket18 opened this issue Oct 22, 2020 · 3 comments

Comments

@tiket18
Copy link

tiket18 commented Oct 22, 2020

Снимок экрана от 2020-10-23 00-36-19
OS: Arch Linux (GNOME/gnome-xorg)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 2020.10.22.22739 +2688 (Git) AppImage
Build type: Release
Branch: LinkStage3
Hash: d4401f2
Python version: 3.8.6
Qt version: 5.12.9
Coin version: 4.0.0
OCC version: 7.4.0
Locale: Russian/Russia (ru_RU)

00:36:02  Loading PathDressup... done
00:36:02  Loading PathDrillingGui... done
00:36:02  Loading PathEngraveGui... done
00:36:02  Loading PathFixture... done
00:36:02  Loading PathHelixGui... done
00:36:02  Loading PathHop... done
00:36:02  Loading PathMillFaceGui... done
00:36:02  Loading PathPocketGui... done
00:36:02  Loading PathPocketShapeGui... done
00:36:02  Loading PathPost... done
00:36:02  Loading PathProbeGui... done
00:36:02  Loading PathProfileFacesGui... done
00:36:02  Loading Mesh module... done
00:36:02  Loading PathSimulator module.... done
00:36:02  Loading PathSimulator Gui... done
00:36:02  Loading PathSlotGui... done
00:36:02  Loading PathStop... done
00:36:02  Loading PathVcarveGui... done
00:36:03  4.61e-07 <App> Document.cpp(3439): The graph must be a DAG.
00:36:03  0.0155358 <App> Document.cpp(3439): The graph must be a DAG.
00:36:13  10.3524 <App> Document.cpp(3404): Dependency cycles: 
00:36:13  10.3524 <App> Document.cpp(3434): 

_________________________________#Sketch, _________________________________#Spreadsheet, _________________________________#Sketch005, 

00:36:13  <Exception> Document.cpp(3435): Cyclice dependency detected.
Please check Report View for more details.

[GCC 7.5.0] on linux
Type 'help', 'copyright', 'credits' or 'license' for more information.
>>> Gui.runCommand('Std_Workbench',0)
>>> Gui.runCommand('Std_ViewStatusBar',1)
>>> Gui.runCommand('Std_ViewStatusBar',0)
>>> ### Begin command Std_Open
>>> FreeCAD.openDocument('/home/memfis/H/A_w/\u0422\u0435\u043c\u044b/2017/rozetka/\u0441\u0432\u0435\u0442\u0438\u043b\u044c\u043d\u0438\u043a-\u0432\u0438\u0442\u0440\u0430\u0436.FCStd')
>>> # App.setActiveDocument("_________________________________")
>>> # App.ActiveDocument=App.getDocument("_________________________________")
>>> # Gui.ActiveDocument=Gui.getDocument("_________________________________")
>>> ### End command Std_Open
>>> # Gui.Selection.addSelection('_________________________________','Job')
>>> # Gui.Selection.addSelection('_________________________________','Job001')
>>> # Gui.Selection.addSelection('_________________________________','Job002')
>>> # Gui.Selection.clearSelection()
>>> # Gui.Selection.addSelection('_________________________________','Job002')
>>> # Gui.Selection.addSelection('_________________________________','Job')
>>> # Gui.Selection.addSelection('_________________________________','Job001')
>>> # Gui.Selection.clearSelection()
>>> # Gui.Selection.addSelection('_________________________________','____________001')
>>> App.getDocument('_________________________________').getObject('Job').adjustRelativeLinks(App.getDocument('_________________________________').getObject('____________001'))
>>> App.getDocument("_________________________________").getObject("____________001").addObject(App.getDocument("_________________________________").getObject("Job"))
>>> Gui.runCommand('Std_WhatsThis',0)
>>> Gui.runCommand('Std_About',0)
>>> 

ewvfew.FCStd.zip

@realthunder
Copy link
Owner

The error is cause by dependency loop, as shown in the error message. The loop is formed by three object,

Sketch, Spreadsheet, Sketch005

Sketch reference Spreadsheet in its constraint
Spreadsheet reference Sketch005.Shape.Edge2.Length in B17
Sketch005 reference Sketch in its external (i.e. imported) geometry.

There is a way to work around the cyclic dependency reference. Use the href() function, href stands for hidden reference. Be warned though, this is an advanced feature. The dependency loop will cause unexpected recomputation problems, because of unstable recomputation order.

href(Sketch.Shape.Edge2.Length)

Also beware that direct referencing to Sub-element of a Shape will get you in trouble with topological renaming when the shape is modified. Use the following syntax for more robust referencing,

href(Sketch.<<Edge2>>._shape.Length)

@realthunder
Copy link
Owner

Forgot to mention. The recommended way of solving dependency loop here is to split the Spreadsheet into two if possible.

@luzpaz
Copy link
Collaborator

luzpaz commented Jan 19, 2022

@realthunder anything left to do here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants