I know you also have certain problems with angles constraints (something with avoiding 0°or 180°).
Just to show you this problem with A2. Maybe it helps with solving things with AS2:
This plate is connected to a hole in a plate in the colomb with a circular edge constraint with 2,5mm offset.
Then I have created an angular constraint and changed the angular offset a few times. The first efforts no error appears. But a few attempts more and... error.
Python console:
Code: Select all
>>> FreeCAD.getDocument("Unnamed").getObject("angleConstraint01").angle = 0.00
>>> FreeCAD.getDocument("Unnamed").getObject("angleConstraint01").angle = 8.00
>>> FreeCAD.getDocument("Unnamed").getObject("angleConstraint01").angle = -8.00
>>> FreeCAD.getDocument("Unnamed").getObject("angleConstraint01").angle = 0.00
>>> FreeCAD.getDocument("Unnamed").getObject("angleConstraint01").angle = -8.00
>>> FreeCAD.getDocument("Unnamed").getObject("angleConstraint01").angle = 0.00
>>> FreeCAD.getDocument("Unnamed").getObject("angleConstraint01").angle = 8.00
Code: Select all
UNABLE TO SOLVE CONSTRAINTS! info:<AngleUnion System V0_16_A2_SAM_Statief_kolom_Ophangplaat_01:Face18-Flat_panel_statief_kolom_200x100_01:Face19 heirachy 10> abs( self.constraintEq_value(self.X) ) > tol [1.142230e+00 > 1.000000e-09]. Constraint Tree:
<AngleUnion System V0_16_A2_SAM_Statief_kolom_Ophangplaat_01:Face18-Flat_panel_statief_kolom_200x100_01:Face19 heirachy 10>
<PlaneOffsetUnion System V0_16_A2_SAM_Statief_kolom_Ophangplaat_01:Edge71-Glijstrip_TV55inch_beugel_kolom_zijde_01:Edge10 heirachy 9> 1 degrees of freedom:
<AxisRotation DegreeOfFreedom V0_16_A2_SAM_Statief_kolom_Ophangplaat_01 axis:[ -1.00000000e+00 1.47525983e-08 -1.51093658e-08] value:0.128660>
<AxisDistanceUnion System V0_16_A2_SAM_Statief_kolom_Ophangplaat_01:Edge71-Glijstrip_TV55inch_beugel_kolom_zijde_01:Edge10 heirachy 8> 2 degrees of freedom:
<AxisRotation DegreeOfFreedom V0_16_A2_SAM_Statief_kolom_Ophangplaat_01 axis:[ -1.00000000e+00 1.47525983e-08 -1.51093658e-08] value:0.128660>
<LinearMotion DegreeOfFreedom V0_16_A2_SAM_Statief_kolom_Ophangplaat_01 direction:[ -1.00000000e+00 1.47525983e-08 -1.51093658e-08] value:-0.000013>
<AxisAlignmentUnion System V0_16_A2_SAM_Statief_kolom_Ophangplaat_01:Edge71-Glijstrip_TV55inch_beugel_kolom_zijde_01:Edge10 heirachy 7> 4 degrees of freedom:
<Placement DegreeOfFreedom V0_16_A2_SAM_Statief_kolom_Ophangplaat_01-x value:-0.000001>
<Placement DegreeOfFreedom V0_16_A2_SAM_Statief_kolom_Ophangplaat_01-y value:-108.716164>
<Placement DegreeOfFreedom V0_16_A2_SAM_Statief_kolom_Ophangplaat_01-z value:835.951091>
<AxisRotation DegreeOfFreedom V0_16_A2_SAM_Statief_kolom_Ophangplaat_01 axis:[ -1.00000000e+00 1.47525983e-08 -1.51093658e-08] value:0.128660>
<FreeObjectSystem V0_16_A2_SAM_Statief_kolom_Ophangplaat_01> 6 degrees of freedom:
<Placement DegreeOfFreedom V0_16_A2_SAM_Statief_kolom_Ophangplaat_01-x value:-0.000001>
<Placement DegreeOfFreedom V0_16_A2_SAM_Statief_kolom_Ophangplaat_01-y value:-108.716164>
<Placement DegreeOfFreedom V0_16_A2_SAM_Statief_kolom_Ophangplaat_01-z value:835.951091>
<Placement DegreeOfFreedom V0_16_A2_SAM_Statief_kolom_Ophangplaat_01-azimuth value:1.570796>
<Placement DegreeOfFreedom V0_16_A2_SAM_Statief_kolom_Ophangplaat_01-elavation value:0.709122>
<Placement DegreeOfFreedom V0_16_A2_SAM_Statief_kolom_Ophangplaat_01-rotation value:3.141593>
<PlaneOffsetUnion System Glijstrip_TV55inch_beugel_kolom_zijde_01:Face1-Flat_panel_statief_kolom_200x100_01:Face24 heirachy 6> 0 degrees of freedom:
<AxisAlignmentUnion System Glijstrip_TV55inch_beugel_kolom_zijde_01:Face1-Flat_panel_statief_kolom_200x100_01:Face24 heirachy 5> 1 degrees of freedom:
<LinearMotion DegreeOfFreedom Glijstrip_TV55inch_beugel_kolom_zijde_01 direction:[ -4.44089210e-16 1.00000000e+00 0.00000000e+00] value:-10.000000>
<PlaneOffsetUnion System Glijstrip_TV55inch_beugel_kolom_zijde_01:Face2-Flat_panel_statief_kolom_200x100_01:Face31 heirachy 4> 1 degrees of freedom:
<LinearMotion DegreeOfFreedom Glijstrip_TV55inch_beugel_kolom_zijde_01 direction:[ -4.44089210e-16 1.00000000e+00 0.00000000e+00] value:-10.000000>
<AxisAlignmentUnion System Glijstrip_TV55inch_beugel_kolom_zijde_01:Face2-Flat_panel_statief_kolom_200x100_01:Face31 heirachy 3> 2 degrees of freedom:
<LinearMotion DegreeOfFreedom Glijstrip_TV55inch_beugel_kolom_zijde_01 direction:[ -1.00000000e+00 1.22464680e-16 0.00000000e+00] value:-97.500000>
<LinearMotion DegreeOfFreedom Glijstrip_TV55inch_beugel_kolom_zijde_01 direction:[ -1.83697020e-16 -1.00000000e+00 0.00000000e+00] value:10.000000>
<PlaneOffsetUnion System Glijstrip_TV55inch_beugel_kolom_z�Unhandled Base::Exception caught in GUIApplication::notify.
The error message is: Nested recomputes of a document are not allowed
I am not asking for a solution about this problem. Maybe someone sees what is going on, learns from it and makes sure it does not appear as a bug in A2P