Links

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Links

Post by DeepSOIC »

Thanks, now the crash is gone. But Assembly2 still refuses to work. Problem appears to be here:
assembly2lib.py:

Code: Select all

def getObjectFaceFromName( obj, faceName ):
    face = obj.getSubObject(faceName)
    if face is None:
        raise ValueError("Face {faceName} not found in {obj.Name}".format(**vars()))
    else:
        print ("Face {faceName} fetched from {obj.Name}".format(**vars()))
    return face
Log:

Code: Select all

Face Body.Pad.Face3 fetched from Part_i000
Face Body.Pad.Face3 fetched from Part_i000001
creating axialConstraint01
created object
It is recommended that the assembly 2 module is used with parts imported using the assembly 2 module.
This allows for part updating, parts list support, object copying (shift + assembly2 move) and also tells the solver which objects to treat as fixed.
since no objects have the fixedPosition attribute, fixing the postion of the first object in the first constraint
assembly 2 solver: assigning Part_i000 a fixed position
assembly 2 solver: assigning Part_i000, instance000 of Part a fixed position
UNABLE TO SOLVE CONSTRAINTS! info:Traceback (most recent call last):
  File "C:\Users\User\AppData\Roaming\FreeCAD\Mod\assembly2\assembly2solver.py", line 100, in solveConstraints
    constraintSystem = AxisAlignmentUnion(constraintSystem,  *cArgs, constraintValue = constraintObj.directionConstraint)
  File "C:\Users\User\AppData\Roaming\FreeCAD\Mod\assembly2\constraintSystems.py", line 75, in __init__
    self.init2()
  File "C:\Users\User\AppData\Roaming\FreeCAD\Mod\assembly2\constraintSystems.py", line 307, in init2
    self.a1_r = vM.rotateUndo( self.obj1Name, self.getAxis(self.obj1Name, self.subElement1), vM.X0 )
  File "C:\Users\User\AppData\Roaming\FreeCAD\Mod\assembly2\constraintSystems.py", line 172, in getAxis
    return getSubElementAxis(obj, subElement)
  File "C:\Users\User\AppData\Roaming\FreeCAD\Mod\assembly2\assembly2lib.py", line 450, in getSubElementAxis
    face = getObjectFaceFromName(obj, subElementName)
  File "C:\Users\User\AppData\Roaming\FreeCAD\Mod\assembly2\assembly2lib.py", line 269, in getObjectFaceFromName
    raise ValueError("Face {faceName} not found in {obj.Name}".format(**vars()))
ValueError: Face Body.Pad.Face3 not found in Part_i000
Strangely, the first readout is successful. But the second one returns None. I can't reproduce it in py console so far...
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Links

Post by DeepSOIC »

Assembly2 code:
https://github.com/DeepSOIC/FreeCAD_ass ... ee/AppLink
(branch AppLink)

0. install assembly2 branch AppLink
1. Load:
assembly2-instance-preset.FCStd
(9.41 KiB) Downloaded 54 times
2. switch to Assembly2 wb
3. select two cylindrical faces facing you, click "Axial Constraint"
-> message box pops up, and the above mentioned log is printed to report view.
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Links

Post by DeepSOIC »

Found the reason:

Code: Select all

App.ActiveDocument.Part_i000.getSubObject(u"Body.Pad.Face3")
-> returns None.
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Links

Post by DeepSOIC »

Added workaround in assembly2. It appears to be doing something. So it's ready for first testing!

0. compile realthunder's Link branch
https://github.com/realthunder/FreeCAD/tree/Link
0. get Assembly2 from my branch `AppLink`
https://github.com/DeepSOIC/FreeCAD_ass ... ee/AppLink
1. PartDesign up some Body in a Part.
2. Create some instances of Part (there is a button on PartDesign workbench, as well as in part-o-magic workbench)
3. use assebly2 to add some constraints. You should be able to create constraints between edges of sketches in bodies, in order to get a robust assembly.
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Links

Post by DeepSOIC »

Any ideas on why can't I move App::Links with Draft Move command?
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Links

Post by DeepSOIC »

Random crashing bugs me very much. I can't get any reliable step-by-step crash so far. But here's a backtrace of one:

Code: Select all

.  0  Id: 68b0.6154 Suspend: 1 Teb: 00000041`575f1000 Unfrozen
Child-SP          RetAddr           Call Site
00000041`573832b8 00007ffc`9951c2cf ntdll!ZwWaitForMultipleObjects+0x14
00000041`573832c0 00007ffc`9951c1ce KERNELBASE!WaitForMultipleObjectsEx+0xef
00000041`573835c0 00007ffc`9a3002dc KERNELBASE!WaitForMultipleObjects+0xe
00000041`57383600 00007ffc`9a2ffdf3 KERNEL32!BasepReportFault+0x58c
00000041`57383bb0 00007ffc`9952608b KERNEL32!BasepReportFault+0xa3
00000041`57383bf0 00007ffc`9cc8ed1b KERNELBASE!UnhandledExceptionFilter+0x23b
00000041`57383cf0 00007ffc`9cc76bd6 ntdll!memset+0x239b
00000041`57383d20 00007ffc`9cc8ab9d ntdll!_C_specific_handler+0x96
00000041`57383d90 00007ffc`9cc29913 ntdll!_chkstk+0x11d
00000041`57383dc0 00007ffc`9cc89cba ntdll!RtlImageNtHeaderEx+0x483
00000041`573844c0 00000001`8004b27e ntdll!KiUserExceptionDispatcher+0x3a
00000041`57384bc0 00000001`80330499 coin4d!SoAction::traverse(class SoNode * node = 0x00000000`00000000)+0x2e [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\soaction.cpp @ 948]
00000041`57384c40 00000001`804fd816 coin4d!SoChildList::traverseInPath(class SoAction * action = 0x00000041`573864c0, int numindices = 0n1, int * indices = 0x00000151`25af6150)+0x169 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\sochildlist.cpp @ 300]
00000041`57384c90 00000001`80524984 coin4d!SoGroup::doAction(class SoAction * action = 0x00000041`573864c0)+0x66 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\sogroup.cpp @ 546]
00000041`57384d00 00007ffc`5ef9e99b coin4d!SoSeparator::doAction(class SoAction * action = 0x00000041`573864c0)+0x44 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\soseparator.cpp @ 487]
00000041`57384d30 00000001`8004b2eb FreeCADGui_d!Gui::SoHighlightElementAction::callDoAction(class SoAction * action = 0x00000041`573864c0, class SoNode * node = 0x00000151`1ecf6100)+0x3b [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\sofcunifiedselection.cpp @ 689]
00000041`57384d60 00000001`80330499 coin4d!SoAction::traverse(class SoNode * node = 0x00000151`1ecf6100)+0x9b [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\soaction.cpp @ 956]
00000041`57384de0 00000001`804fd816 coin4d!SoChildList::traverseInPath(class SoAction * action = 0x00000041`573864c0, int numindices = 0n1, int * indices = 0x00000151`25af71d0)+0x169 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\sochildlist.cpp @ 300]
00000041`57384e30 00007ffc`5ef9e99b coin4d!SoGroup::doAction(class SoAction * action = 0x00000041`573864c0)+0x66 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\sogroup.cpp @ 546]
00000041`57384ea0 00000001`8004b2eb FreeCADGui_d!Gui::SoHighlightElementAction::callDoAction(class SoAction * action = 0x00000041`573864c0, class SoNode * node = 0x00000151`1e9565c0)+0x3b [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\sofcunifiedselection.cpp @ 689]
00000041`57384ed0 00000001`803309a2 coin4d!SoAction::traverse(class SoNode * node = 0x00000151`1e9565c0)+0x9b [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\soaction.cpp @ 956]
00000041`57384f50 00000001`803305b0 coin4d!SoChildList::traverse(class SoAction * action = 0x00000041`573864c0, int first = 0n0, int last = 0n0)+0x362 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\sochildlist.cpp @ 393]
00000041`57384fb0 00000001`8052bc84 coin4d!SoChildList::traverse(class SoAction * action = 0x00000041`573864c0, int index = 0n0)+0x80 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\sochildlist.cpp @ 438]
00000041`57384fe0 00007ffc`5ef9e99b coin4d!SoSwitch::doAction(class SoAction * action = 0x00000041`573864c0)+0x2b4 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\soswitch.cpp @ 286]
00000041`57385170 00000001`8004b2eb FreeCADGui_d!Gui::SoHighlightElementAction::callDoAction(class SoAction * action = 0x00000041`573864c0, class SoNode * node = 0x00000151`1e977950)+0x3b [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\sofcunifiedselection.cpp @ 689]
00000041`573851a0 00000001`80330499 coin4d!SoAction::traverse(class SoNode * node = 0x00000151`1e977950)+0x9b [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\soaction.cpp @ 956]
00000041`57385220 00000001`804fd816 coin4d!SoChildList::traverseInPath(class SoAction * action = 0x00000041`573864c0, int numindices = 0n1, int * indices = 0x00000151`25af6f90)+0x169 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\sochildlist.cpp @ 300]
00000041`57385270 00000001`80524984 coin4d!SoGroup::doAction(class SoAction * action = 0x00000041`573864c0)+0x66 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\sogroup.cpp @ 546]
00000041`573852e0 00007ffc`5ef9e99b coin4d!SoSeparator::doAction(class SoAction * action = 0x00000041`573864c0)+0x44 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\soseparator.cpp @ 487]
00000041`57385310 00000001`8004b2eb FreeCADGui_d!Gui::SoHighlightElementAction::callDoAction(class SoAction * action = 0x00000041`573864c0, class SoNode * node = 0x00000151`1e94e950)+0x3b [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\sofcunifiedselection.cpp @ 689]
00000041`57385340 00000001`80330499 coin4d!SoAction::traverse(class SoNode * node = 0x00000151`1e94e950)+0x9b [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\soaction.cpp @ 956]
00000041`573853c0 00000001`804fd816 coin4d!SoChildList::traverseInPath(class SoAction * action = 0x00000041`573864c0, int numindices = 0n1, int * indices = 0x00000151`25af6090)+0x169 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\sochildlist.cpp @ 300]
00000041`57385410 00007ffc`5ef9e99b coin4d!SoGroup::doAction(class SoAction * action = 0x00000041`573864c0)+0x66 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\sogroup.cpp @ 546]
00000041`57385480 00000001`8004b2eb FreeCADGui_d!Gui::SoHighlightElementAction::callDoAction(class SoAction * action = 0x00000041`573864c0, class SoNode * node = 0x00000151`18e3ad60)+0x3b [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\sofcunifiedselection.cpp @ 689]
00000041`573854b0 00000001`803309a2 coin4d!SoAction::traverse(class SoNode * node = 0x00000151`18e3ad60)+0x9b [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\soaction.cpp @ 956]
00000041`57385530 00000001`803305b0 coin4d!SoChildList::traverse(class SoAction * action = 0x00000041`573864c0, int first = 0n0, int last = 0n0)+0x362 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\sochildlist.cpp @ 393]
00000041`57385590 00000001`8052bc84 coin4d!SoChildList::traverse(class SoAction * action = 0x00000041`573864c0, int index = 0n0)+0x80 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\sochildlist.cpp @ 438]
00000041`573855c0 00007ffc`5ef9e99b coin4d!SoSwitch::doAction(class SoAction * action = 0x00000041`573864c0)+0x2b4 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\soswitch.cpp @ 286]
00000041`57385750 00000001`8004b2eb FreeCADGui_d!Gui::SoHighlightElementAction::callDoAction(class SoAction * action = 0x00000041`573864c0, class SoNode * node = 0x00000151`1dd07990)+0x3b [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\sofcunifiedselection.cpp @ 689]
00000041`57385780 00000001`80330499 coin4d!SoAction::traverse(class SoNode * node = 0x00000151`1dd07990)+0x9b [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\soaction.cpp @ 956]
00000041`57385800 00000001`804fd816 coin4d!SoChildList::traverseInPath(class SoAction * action = 0x00000041`573864c0, int numindices = 0n1, int * indices = 0x00000151`25af6030)+0x169 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\sochildlist.cpp @ 300]
00000041`57385850 00000001`80524984 coin4d!SoGroup::doAction(class SoAction * action = 0x00000041`573864c0)+0x66 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\sogroup.cpp @ 546]
00000041`573858c0 00007ffc`5ef9e99b coin4d!SoSeparator::doAction(class SoAction * action = 0x00000041`573864c0)+0x44 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\soseparator.cpp @ 487]
00000041`573858f0 00000001`8004b2eb FreeCADGui_d!Gui::SoHighlightElementAction::callDoAction(class SoAction * action = 0x00000041`573864c0, class SoNode * node = 0x00000151`18991bb0)+0x3b [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\sofcunifiedselection.cpp @ 689]
00000041`57385920 00000001`80330499 coin4d!SoAction::traverse(class SoNode * node = 0x00000151`18991bb0)+0x9b [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\soaction.cpp @ 956]
00000041`573859a0 00000001`804fd816 coin4d!SoChildList::traverseInPath(class SoAction * action = 0x00000041`573864c0, int numindices = 0n1, int * indices = 0x00000151`25af5c70)+0x169 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\sochildlist.cpp @ 300]
00000041`573859f0 00000001`80524984 coin4d!SoGroup::doAction(class SoAction * action = 0x00000041`573864c0)+0x66 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\sogroup.cpp @ 546]
00000041`57385a60 00007ffc`5ef9ab6d coin4d!SoSeparator::doAction(class SoAction * action = 0x00000041`573864c0)+0x44 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\soseparator.cpp @ 487]
00000041`57385a90 00007ffc`5ef9e99b FreeCADGui_d!Gui::SoFCUnifiedSelection::doAction(class SoAction * action = 0x00000041`573864c0)+0x8dd [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\sofcunifiedselection.cpp @ 339]
00000041`57385f00 00000001`8004b2eb FreeCADGui_d!Gui::SoHighlightElementAction::callDoAction(class SoAction * action = 0x00000041`573864c0, class SoNode * node = 0x00000151`1af0e7b0)+0x3b [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\sofcunifiedselection.cpp @ 689]
00000041`57385f30 00000001`80330499 coin4d!SoAction::traverse(class SoNode * node = 0x00000151`1af0e7b0)+0x9b [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\soaction.cpp @ 956]
00000041`57385fb0 00000001`804fd816 coin4d!SoChildList::traverseInPath(class SoAction * action = 0x00000041`573864c0, int numindices = 0n1, int * indices = 0x00000151`25af5fd0)+0x169 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\sochildlist.cpp @ 300]
00000041`57386000 00000001`80524984 coin4d!SoGroup::doAction(class SoAction * action = 0x00000041`573864c0)+0x66 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\sogroup.cpp @ 546]
00000041`57386070 00007ffc`5ef9e99b coin4d!SoSeparator::doAction(class SoAction * action = 0x00000041`573864c0)+0x44 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\soseparator.cpp @ 487]
00000041`573860a0 00000001`8004b2eb FreeCADGui_d!Gui::SoHighlightElementAction::callDoAction(class SoAction * action = 0x00000041`573864c0, class SoNode * node = 0x00000151`1d93ef40)+0x3b [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\sofcunifiedselection.cpp @ 689]
00000041`573860d0 00007ffc`5ef9e953 coin4d!SoAction::traverse(class SoNode * node = 0x00000151`1d93ef40)+0x9b [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\soaction.cpp @ 956]
00000041`57386150 00000001`8004a26b FreeCADGui_d!Gui::SoHighlightElementAction::beginTraversal(class SoNode * node = 0x00000151`1d93ef40)+0x33 [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\sofcunifiedselection.cpp @ 684]
00000041`57386180 00007ffc`5ef9b28b coin4d!SoAction::apply(class SoPath * path = 0x00000151`26426f10)+0x1fb [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\soaction.cpp @ 661]
00000041`57386210 00000001`8050b930 FreeCADGui_d!Gui::SoFCUnifiedSelection::handleEvent(class SoHandleEventAction * action = 0x00000151`1dcb97d0)+0x6eb [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\sofcunifiedselection.cpp @ 419]
00000041`57387550 00000001`8004b2eb coin4d!SoNode::handleEventS(class SoAction * action = 0x00000151`1dcb97d0, class SoNode * node = 0x00000151`1af0e7b0)+0xd0 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\sonode.cpp @ 1055]
00000041`573875a0 00000001`8033083a coin4d!SoAction::traverse(class SoNode * node = 0x00000151`1af0e7b0)+0x9b [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\soaction.cpp @ 956]
00000041`57387620 00000001`80330524 coin4d!SoChildList::traverse(class SoAction * action = 0x00000151`1dcb97d0, int first = 0n0, int last = 0n3)+0x1fa [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\sochildlist.cpp @ 357]
00000041`57387680 00000001`804fd838 coin4d!SoChildList::traverse(class SoAction * action = 0x00000151`1dcb97d0)+0x54 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\sochildlist.cpp @ 427]
00000041`573876b0 00000001`80524984 coin4d!SoGroup::doAction(class SoAction * action = 0x00000151`1dcb97d0)+0x88 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\sogroup.cpp @ 549]
00000041`57387720 00000001`80525b22 coin4d!SoSeparator::doAction(class SoAction * action = 0x00000151`1dcb97d0)+0x44 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\soseparator.cpp @ 487]
00000041`57387750 00000001`8050b930 coin4d!SoSeparator::handleEvent(class SoHandleEventAction * action = 0x00000151`1dcb97d0)+0x32 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\soseparator.cpp @ 816]
00000041`57387780 00000001`8004b2eb coin4d!SoNode::handleEventS(class SoAction * action = 0x00000151`1dcb97d0, class SoNode * node = 0x00000151`1d93ef40)+0xd0 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\nodes\sonode.cpp @ 1055]
00000041`573877d0 00000001`8007a314 coin4d!SoAction::traverse(class SoNode * node = 0x00000151`1d93ef40)+0x9b [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\soaction.cpp @ 956]
00000041`57387850 00000001`80049e13 coin4d!SoHandleEventAction::beginTraversal(class SoNode * node = 0x00000151`1d93ef40)+0x104 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\sohandleeventaction.cpp @ 363]
00000041`57387890 00000001`8033bdb1 coin4d!SoAction::apply(class SoNode * root = 0x00000151`1d93ef40)+0x3b3 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\actions\soaction.cpp @ 571]
00000041`573879d0 00000001`8033b2fc coin4d!SoEventManager::actuallyProcessEvent(class SoEvent * event = 0x00000151`1919e9e0)+0x141 [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\soeventmanager.cpp @ 367]
00000041`57387a20 00007ffc`5f093810 coin4d!SoEventManager::processEvent(class SoEvent * event = 0x00000151`1919e9e0)+0x9c [e:\clbundler\workspace\build_vc12_x64\coin-4.0.0a\src\misc\soeventmanager.cpp @ 316]
00000041`57387a80 00007ffc`5f09e5a4 FreeCADGui_d!SIM::Coin3D::Quarter::QuarterWidget::processSoEvent(class SoEvent * event = 0x00000151`1919e9e0)+0x60 [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\quarter\quarterwidget.cpp @ 1015]
00000041`57387ac0 00007ffc`5f0f68a2 FreeCADGui_d!SIM::Coin3D::Quarter::SoQTQuarterAdaptor::processSoEvent(class SoEvent * event = 0x00000151`1919e9e0)+0x194 [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\quarter\soqtquarteradaptor.cpp @ 703]
00000041`57387b50 00007ffc`5f0b8eb6 FreeCADGui_d!Gui::View3DInventorViewer::processSoEventBase(class SoEvent * ev = 0x00000151`1919e9e0)+0x32 [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\view3dinventorviewer.cpp @ 1760]
00000041`57387b80 00007ffc`5f0cea2b FreeCADGui_d!Gui::NavigationStyle::processSoEvent(class SoEvent * ev = 0x00000151`1919e9e0)+0x36 [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\navigationstyle.cpp @ 1387]
00000041`57387bb0 00007ffc`5f0b50b4 FreeCADGui_d!Gui::GestureNavigationStyle::processSoEvent(class SoEvent * ev = 0x00000151`1919e9e0)+0x1bbb [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\gesturenavigationstyle.cpp @ 590]
00000041`57387ee0 00007ffc`5f0f65f6 FreeCADGui_d!Gui::NavigationStyle::processEvent(class SoEvent * ev = 0x00000151`1919e9e0)+0x264 [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\navigationstyle.cpp @ 1368]
00000041`57387f70 00007ffc`5f087099 FreeCADGui_d!Gui::View3DInventorViewer::processSoEvent(class SoEvent * ev = 0x00000151`1919e9e0)+0x136 [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\view3dinventorviewer.cpp @ 1755]
00000041`57387fd0 00000000`5b4faa2a FreeCADGui_d!SIM::Coin3D::Quarter::EventFilter::eventFilter(class QObject * obj = 0x00000151`1da3a4a0, class QEvent * qevent = 0x00000041`57388640)+0x319 [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\quarter\eventfilter.cpp @ 172]
00000041`573880b0 00000000`5b8abbd6 QtCored4!QBuffer::qt_static_metacall+0x249f03
00000041`57388100 00000000`5b8a6f26 QtGuid4!QAbstractItemView::qt_metacast+0x4a7ec
00000041`57388150 00007ffc`5ec12e62 QtGuid4!QAbstractItemView::qt_metacast+0x45b3c
00000041`573888d0 00000000`5b4fa1ca FreeCADGui_d!Gui::GUIApplication::notify(class QObject * receiver = 0x00000151`1dc851b0, class QEvent * event = 0x00000041`57389180)+0x142 [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\guiapplication.cpp @ 91]
00000041`57388c60 00000000`5b5c3a6c QtCored4!QBuffer::qt_static_metacall+0x2496a3
00000041`57388cd0 00000000`5b8adac6 QtCored4!QBuffer::qt_static_metacall+0x312f45
00000041`57388d10 00000000`5b99877f QtGuid4!QAbstractItemView::qt_metacast+0x4c6dc
00000041`57388dc0 00000000`5b993991 QtGuid4!QAbstractItemView::qt_metacast+0x137395
00000041`57389220 00007ffc`9a181c24 QtGuid4!QAbstractItemView::qt_metacast+0x1325a7
00000041`57389d60 00007ffc`9a1817bb USER32!CallWindowProcW+0x4f4
00000041`57389ec0 00007ffc`87d2a85e USER32!CallWindowProcW+0x8b
00000041`57389f10 00007ffc`9a181c24 OPENGL32!glDebugEntry+0x1055e
00000041`57389f90 00007ffc`9a18156c USER32!CallWindowProcW+0x4f4
00000041`5738a0f0 00000000`5b54eef8 USER32!DispatchMessageW+0x1bc
00000041`5738a170 00000000`5b99c875 QtCored4!QBuffer::qt_static_metacall+0x29e3d1
00000041`5738d510 00000000`5b4f5f24 QtGuid4!QAbstractItemView::qt_metacast+0x13b48b
00000041`5738d550 00000000`5b4f6207 QtCored4!QBuffer::qt_static_metacall+0x2453fd
00000041`5738d5b0 00000000`5b4f824c QtCored4!QBuffer::qt_static_metacall+0x2456e0
00000041`5738d660 00000000`5b8a61c8 QtCored4!QBuffer::qt_static_metacall+0x247725
00000041`5738d6d0 00007ffc`5eac0767 QtGuid4!QAbstractItemView::qt_metacast+0x44dde
00000041`5738d700 00007ff7`e68e35c5 FreeCADGui_d!Gui::Application::runApplication(void)+0x24c7 [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\gui\application.cpp @ 1814]
00000041`5738ee10 00007ff7`e68f32d1 FreeCAD_d!main(int argc = 0n1, char ** argv = 0x00000151`15868a40)+0x9a5 [t:\_vt\dev\pc\qt\freecad\freecad-ellipse\src\main\maingui.cpp @ 239]
00000041`5738fbd0 00007ff7`e68f1391 FreeCAD_d!WinMain+0xb1
00000041`5738fc40 00007ff7`e68f110e FreeCAD_d!__tmainCRTStartup(void)+0x271 [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c @ 618]
00000041`5738fcc0 00007ffc`9a2e8364 FreeCAD_d!WinMainCRTStartup(void)+0xe [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c @ 466]
00000041`5738fcf0 00007ffc`9cc470d1 KERNEL32!BaseThreadInitThunk+0x14
00000041`5738fd20 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   1  Id: 68b0.938 Suspend: 2 Teb: 00000041`575f9000 Unfrozen
Child-SP          RetAddr           Call Site
00000041`579fc3c8 00007ffc`9951c2cf ntdll!ZwWaitForMultipleObjects+0x14
00000041`579fc3d0 00007ffc`9a18e1fb KERNELBASE!WaitForMultipleObjectsEx+0xef
00000041`579fc6d0 00000000`5b54f071 USER32!MsgWaitForMultipleObjectsEx+0x15b
00000041`579fc7b0 00000000`5b4f5f24 QtCored4!QBuffer::qt_static_metacall+0x29e54a
00000041`579ffb50 00000000`5b4f6207 QtCored4!QBuffer::qt_static_metacall+0x2453fd
00000041`579ffbb0 00000000`5b31e395 QtCored4!QBuffer::qt_static_metacall+0x2456e0
00000041`579ffc60 00000000`5b31e2c3 QtCored4!QBuffer::qt_static_metacall+0x6d86e
00000041`579ffce0 00000000`5b32404f QtCored4!QBuffer::qt_static_metacall+0x6d79c
00000041`579ffd10 00007ffc`6a89a105 QtCored4!QBuffer::qt_static_metacall+0x73528
00000041`579ffd90 00007ffc`6a89a357 MSVCR120D!_callthreadstartex(void)+0x25 [f:\dd\vctools\crt\crtw32\startup\threadex.c @ 376]
00000041`579ffde0 00007ffc`9a2e8364 MSVCR120D!_threadstartex(void * ptd = 0x00000151`17bfe180)+0xe7 [f:\dd\vctools\crt\crtw32\startup\threadex.c @ 359]
00000041`579ffe20 00007ffc`9cc470d1 KERNEL32!BaseThreadInitThunk+0x14
00000041`579ffe50 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   2  Id: 68b0.5514 Suspend: 2 Teb: 00000041`57414000 Unfrozen
Child-SP          RetAddr           Call Site
00000041`586ffa08 00007ffc`974c28c0 ntdll!ZwWaitForMultipleObjects+0x14
00000041`586ffa10 00007ffc`9a2e8364 WINMM!PlaySoundW+0xfc0
00000041`586ffb90 00007ffc`9cc470d1 KERNEL32!BaseThreadInitThunk+0x14
00000041`586ffbc0 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   3  Id: 68b0.66cc Suspend: 2 Teb: 00000041`5741c000 Unfrozen
Child-SP          RetAddr           Call Site
00000041`58aff538 00007ffc`9cc1352e ntdll!NtWaitForWorkViaWorkerFactory+0x14
00000041`58aff540 00007ffc`9a2e8364 ntdll!RtlReleaseSRWLockExclusive+0x1ade
00000041`58aff940 00007ffc`9cc470d1 KERNEL32!BaseThreadInitThunk+0x14
00000041`58aff970 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   4  Id: 68b0.68c8 Suspend: 2 Teb: 00000041`5741e000 Unfrozen
Child-SP          RetAddr           Call Site
00000041`58bff658 00007ffc`9cc1352e ntdll!NtWaitForWorkViaWorkerFactory+0x14
00000041`58bff660 00007ffc`9a2e8364 ntdll!RtlReleaseSRWLockExclusive+0x1ade
00000041`58bffa60 00007ffc`9cc470d1 KERNEL32!BaseThreadInitThunk+0x14
00000041`58bffa90 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   5  Id: 68b0.5604 Suspend: 2 Teb: 00000041`57420000 Unfrozen
Child-SP          RetAddr           Call Site
00000041`58cff978 00007ffc`9cc1352e ntdll!NtWaitForWorkViaWorkerFactory+0x14
00000041`58cff980 00007ffc`9a2e8364 ntdll!RtlReleaseSRWLockExclusive+0x1ade
00000041`58cffd80 00007ffc`9cc470d1 KERNEL32!BaseThreadInitThunk+0x14
00000041`58cffdb0 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   6  Id: 68b0.5e84 Suspend: 2 Teb: 00000041`57422000 Unfrozen
Child-SP          RetAddr           Call Site
00000041`58dff5c8 00007ffc`9cc1352e ntdll!NtWaitForWorkViaWorkerFactory+0x14
00000041`58dff5d0 00007ffc`9a2e8364 ntdll!RtlReleaseSRWLockExclusive+0x1ade
00000041`58dff9d0 00007ffc`9cc470d1 KERNEL32!BaseThreadInitThunk+0x14
00000041`58dffa00 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   7  Id: 68b0.685c Suspend: 2 Teb: 00000041`5743c000 Unfrozen
Child-SP          RetAddr           Call Site
00000041`59affe78 00007ffc`9a18e8f5 win32u!NtUserGetMessage+0x14
00000041`59affe80 00007ffc`974c3214 USER32!GetMessageA+0x45
00000041`59affeb0 00007ffc`9a2e8364 WINMM!timeGetTime+0x1b4
00000041`59afff50 00007ffc`9cc470d1 KERNEL32!BaseThreadInitThunk+0x14
00000041`59afff80 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   8  Id: 68b0.5524 Suspend: 2 Teb: 00000041`5744a000 Unfrozen
Child-SP          RetAddr           Call Site
00000041`5a1ff6f8 00007ffc`9cc1352e ntdll!NtWaitForWorkViaWorkerFactory+0x14
00000041`5a1ff700 00007ffc`9a2e8364 ntdll!RtlReleaseSRWLockExclusive+0x1ade
00000041`5a1ffb00 00007ffc`9cc470d1 KERNEL32!BaseThreadInitThunk+0x14
00000041`5a1ffb30 00000000`00000000 ntdll!RtlUserThreadStart+0x21

   9  Id: 68b0.4084 Suspend: 2 Teb: 00000041`5744c000 Unfrozen
Child-SP          RetAddr           Call Site
00000041`5a2ff8c8 00007ffc`9cc1352e ntdll!NtWaitForWorkViaWorkerFactory+0x14
00000041`5a2ff8d0 00007ffc`9a2e8364 ntdll!RtlReleaseSRWLockExclusive+0x1ade
00000041`5a2ffcd0 00007ffc`9cc470d1 KERNEL32!BaseThreadInitThunk+0x14
00000041`5a2ffd00 00000000`00000000 ntdll!RtlUserThreadStart+0x21

  10  Id: 68b0.c9c Suspend: 2 Teb: 00000041`5744e000 Unfrozen
Child-SP          RetAddr           Call Site
00000041`5a3ff5c8 00007ffc`9cc1352e ntdll!NtWaitForWorkViaWorkerFactory+0x14
00000041`5a3ff5d0 00007ffc`9a2e8364 ntdll!RtlReleaseSRWLockExclusive+0x1ade
00000041`5a3ff9d0 00007ffc`9cc470d1 KERNEL32!BaseThreadInitThunk+0x14
00000041`5a3ffa00 00000000`00000000 ntdll!RtlUserThreadStart+0x21

# 11  Id: 68b0.4714 Suspend: 1 Teb: 00000041`57472000 Unfrozen
Child-SP          RetAddr           Call Site
00000041`5b5ffe38 00007ffc`9ccb19ba ntdll!DbgBreakPoint
00000041`5b5ffe40 00007ffc`9a2e8364 ntdll!DbgUiRemoteBreakin+0x4a
00000041`5b5ffe70 00007ffc`9cc470d1 KERNEL32!BaseThreadInitThunk+0x14
00000041`5b5ffea0 00000000`00000000 ntdll!RtlUserThreadStart+0x21
EDIT: it happened after I closed a sketch, and then tried selecting it.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: Links

Post by triplus »

Doesn't work for me:

Code: Select all

Plane constraint requires a selection of either
- 2 planes, or
- 1 plane and 1 vertex 

Selection made:
 - PartDesignLink:Body.Box.Face3
 - Box:Face3 <Plane object>
P.S. Link feature has an additional Placement property of the Base object. Is that really needed? Is the term Link/Instance set in stone or could the term Copy or Clone work better for the end users?
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: Links

Post by triplus »

Actually the problem was on my side as i didn't checkout AppLink branch (Assembly 2):
Link.png
Link.png (11.05 KiB) Viewed 1985 times
Part -> Body -> Box and 4 Links created from Part. Assembled by using plane constraints from Assembly 2 workbench (AppLink branch).

Looking good!

P.S. When i try to run DOF animation:

Code: Select all

AttributeError: 'App.Link' object has no attribute 'Shape'
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Links

Post by DeepSOIC »

shape? hmm, why would it need shape. I'll take a look.

I have very little experience using assembly2, so my testing of it was close to none at all (I only tried that some constraint works, that's it :mrgreen: )
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Links

Post by DeepSOIC »

It uses shape.boundbox for determining the amplitude of animation. Since App::Link has no shape, it fails. I need to come up with a way to set this amplitude. Determiming the visual bounding box sounds like the easiest. Alternative is to pick a value based on camera zoom.
Post Reply