Why does my release graph display like this? The values i use is below.
robapp.Project.Structure.Nodes.NonlinearLinks.Remove(robapp.Project.Structure.Nodes.NonlinearLinks.Find("AHMyD"))
KnlL = robapp.Project.Structure.Nodes.NonlinearLinks.Create("AHMyD")
KnlL.SetCurveType(I_NLCT_CUSTOM, RobotOM.IRobotNonlinearLinkSemiAxisType.I_NLSAT_POSITIVE)
KnlL.ModelType = RobotOM.IRobotNonlinearLinkModelType.I_NLMT_MOMENT_ROTATION
KnnLP = KnlL.GetParams(RobotOM.IRobotNonlinearLinkSemiAxisType.I_NLSAT_POSITIVE)
n = 0
segments = 13
värdet(1) = -0.629 : vinkel(1) = -0.0654
värdet(2) = -0.555 : vinkel(2) = -0.0582
värdet(3) = -0.465 : vinkel(3) = -0.0515
värdet(4) = -0.375 : vinkel(4) = -0.0463
värdet(5) = 0 : vinkel(5) = -0.0257
värdet(6) = 0 : vinkel(6) = 0
värdet(7) = 0 : vinkel(7) = 0.0178
värdet(8) = 0.375 : vinkel(8) = 0.0392
värdet(9) = 0.45 : vinkel(9) = 0.0433
värdet(10) = 0.525 : vinkel(10) = 0.048
värdet(11) = 0.6 : vinkel(11) = 0.0631
värdet(12) = 0.7 : vinkel(12) = 0.1079
värdet(13) = 0.706 : vinkel(13) = 0.1116
Solved! Go to Solution.
Solved by marcinrakus. Go to Solution.
Try split definition to negative and positive axes - something like this:
Dim robapp As New RobotApplication
Dim KnlL As RobotNonlinearLink
Dim KnnLP As RobotNonlinearLinkParamsCustom
Dim KnnLS As RobotNonlinearLinkParamsCustomSegment
robapp.Project.Structure.Nodes.NonlinearLinks.Remove (robapp.Project.Structure.Nodes.NonlinearLinks.Find("AHMyD"))
Set KnlL = robapp.Project.Structure.Nodes.NonlinearLinks.Create("AHMyD")
KnlL.SetCurveType I_NLCT_CUSTOM, I_NLSAT_ANY
KnlL.ModelType = RobotOM.IRobotNonlinearLinkModelType.I_NLMT_MOMENT_ROTATION
Set KnnLP = KnlL.GetParams(I_NLSAT_NEGATIVE)
Segments = 13
SegmentsN = 6
Dim värdet(13) As Double
Dim vinkel(13) As Double
värdet(1) = -0.629: vinkel(1) = -0.0654
värdet(2) = -0.555: vinkel(2) = -0.0582
värdet(3) = -0.465: vinkel(3) = -0.0515
värdet(4) = -0.375: vinkel(4) = -0.0463
värdet(5) = 0: vinkel(5) = -0.0257
värdet(6) = 0: vinkel(6) = 0
värdet(7) = 0: vinkel(7) = 0.0178
värdet(8) = 0.375: vinkel(8) = 0.0392
värdet(9) = 0.45: vinkel(9) = 0.0433
värdet(10) = 0.525: vinkel(10) = 0.048
värdet(11) = 0.6: vinkel(11) = 0.0631
värdet(12) = 0.7: vinkel(12) = 0.1079
värdet(13) = 0.706: vinkel(13) = 0.1116
Dim q As Integer
q = 1
For N = SegmentsN To 1 Step -1
Set KnnLS = KnnLP.New
KnnLS.Constant = False
KnnLS.Expression = -1 * värdet(N)
KnnLS.OriginPoint = -1 * vinkel(N)
KnnLP.Set q, KnnLS
q = q + 1
Next
KnlL.SetParams KnnLP, I_NLSAT_NEGATIVE
Set KnnLP = KnlL.GetParams(I_NLSAT_POSITIVE)
For N = 6 To Segments
Set KnnLS = KnnLP.New
KnnLS.Constant = False
KnnLS.Expression = värdet(N)
KnnLS.OriginPoint = vinkel(N)
KnnLP.Set N - 5, KnnLS
Next
KnlL.SetParams KnnLP, I_NLSAT_POSITIVE