string cx = MonitorElementAttributeHelper.GetAttributeInitValue("cx", initValue);
string cy = MonitorElementAttributeHelper.GetAttributeInitValue("cy", initValue);
Parser parser = new Parser(Parser.EBaseType.tpDOUBLE);
ParserVariable varInitValueX = new ParserVariable(Convert.ToDouble(cx));
ParserVariable varInitValueY = new ParserVariable(Convert.ToDouble(cy));
ParserVariable varPointValue = new ParserVariable(Convert.ToDouble(pointValue));
ParserVariable varDistance = new ParserVariable(seriesMoveType.Distance); //最大移动距离
ParserVariable varValueMax = new ParserVariable(seriesMoveType.ValueMax); //测点最大值
ParserVariable varValueMin = new ParserVariable(seriesMoveType.ValueMin); //测点最小值
parser.DefineVar("InitValueX_var", varInitValueX);
parser.DefineVar("InitValueY_var", varInitValueY);
parser.DefineVar("PointValue_var", varPointValue);
parser.DefineVar("Distance_var", varDistance);
parser.DefineVar("ValueMax_var", varValueMax);
parser.DefineVar("ValueMin_var", varValueMin);
double dblResult;
PropertyItem propertyItem = new PropertyItem();
switch (seriesMoveType.Direction)
{
case Models.Enum.EnumDirection.LeftToRight:
//从左到右移动,x的初始值加测点计算后的值即可
parser.SetExpr("InitValueX_var+((PointValue_var-ValueMin_var)/(ValueMax_var-ValueMin_var))*Distance_var");
dblResult = parser.Eval();
propertyItem.PropertyName = "cx";
propertyItem.PropertyValue = dblResult.ToString();
break;
}
需要引用cs和dll文件,上传到资源文件
645

被折叠的 条评论
为什么被折叠?



