04-07-2012 01:18 PM
Hello,
We have been using following piece of code in order to generate application tree diagrams.
It has been working fine with MEGA 2009 SP2 CP3, but does not work anymore with MEGA 2009 SP5 CP6 Release Pack 6.
Link points positions are not saved correctly:
1276,1500
1276,5000
5000,5000
instead of:
2000,2000
2000,4500
4000,4500
Set oApp1 = Application.Create
Set oApp2 = oApp1.GetCollection("Composante").Create
Set oDiagram = oApp1.GetCollection("Description").Create("Nature", "ARBRE-APPLICATIF")
Set oDrawing = oDiagram.Drawing("RW")
Set oAppItem1 = oDrawing.MegaObjectInsert(oApp1)
Set oAppItem2 = oDrawing.MegaObjectInsert(oApp2)
oAppItem1.SetPos 1000, 1000, 3000, 2000
oAppItem2.SetPos 4000, 4000, 6000, 5000
Set oTk = GetRoot.CurrentEnvironment.Toolkit
For Each oLink In oDrawing.DrawingLinks
If oTk.SameId(oLink.DirectLegId, "~isUijEB5i4M3[Composee]") Then
Set oLinkItem = oLink.DrawingItem
Set cLinePoints = oLinkItem.ItemProperty("DrwLine_Points")
While cLinePoints.Count < 3
Call cLinePoints.InsertPointBefore(1,0,0)
Wend
While cLinePoints.Count > 3
Call cLinePoints.RemovePoint(3)
Wend
cLinePoints.Abscissa(0) = 2000
cLinePoints.Ordinate(0) = 2000
cLinePoints.Abscissa(1) = 2000
cLinePoints.Ordinate(1) = 4500
cLinePoints.Abscissa(2) = 4000
cLinePoints.Ordinate(2) = 4500
oLinkItem.ItemProperty("DrwLine_Points") = cLinePoints
Set cLinePoints = oLinkItem.ItemProperty("DrwLine_Points")
For iPoint = 0 To cLinePoints.Count - 1
Print cLinePoints.Abscissa(iPoint) & "," & cLinePoints.Ordinate(iPoint)
Next
Set cLinePoints = Nothing
Set oLinkItem = Nothing
End If
Next
Set oTk = Nothing
Set oAppItem2 = Nothing
Set oAppItem1 = Nothing
oDrawing.Flush
Set oDrawing = Nothing
Set oDiagram = Nothing
Set oApp2 = Nothing
Set oApp1 = Nothing
Is there a way to fix that situation?
Regards,
Sergueï
Solved! Go to Solution.
18-07-2012 05:06 PM
Thank you Jérôme,
Link positions are valid when keeping first and last default points.
I will adjust existing scripts in order to take that piece of advice into account.
Regards,
Sergueï
18-07-2012 03:00 PM
Hello Sergueï
After investigation, this appears to be a known issue.
No change is expected in a future version.
However it possible to secure the code by keeping in the collection the first and the last point.
See also http://community.mega.com/t5/custom/page/page-id/mega-kb-solution?sid=501D00000010cJBIAY
06-07-2012 10:11 AM - edited 14-01-2014 03:01 PM
Hello Sergueï
I confirm change of behaviour.
This issue has been escaladed to MEGA R&D for further investigation (CR 31423).
It has been qualified as a limit of the current platform.