public override void CreateExp(double x, int xNumber, double y, int yNumber, bool zDatum) { base.CreateDefault(zDatum); ExpressionUtils.EditExp(ExpressionUtils.GetExpByName("moveX"), "-(xNCopies-1)*xPitchDistance/2"); if (zDatum) { ExpressionUtils.EditExp(ExpressionUtils.GetExpByName("moveX"), "-(xNCopies-2)*xPitchDistance/2"); ExpressionUtils.EditExp(ExpressionUtils.GetExpByName("moveBoxX"), "-(xNCopies)*xPitchDistance/2"); } }
public static void SetAttrExp() { ExpressionUtils.SetAttrExp("PitchX", "PitchX", NXObject.AttributeType.Real); ExpressionUtils.SetAttrExp("PitchXNum", "PitchXNum", NXObject.AttributeType.Integer); ExpressionUtils.SetAttrExp("PitchY", "PitchY", NXObject.AttributeType.Real); ExpressionUtils.SetAttrExp("PitchYNum", "PitchYNum", NXObject.AttributeType.Integer); ExpressionUtils.SetAttrExp("PreparationX", "Preparation", NXObject.AttributeType.Integer, 0); ExpressionUtils.SetAttrExp("PreparationY", "Preparation", NXObject.AttributeType.Integer, 1); ExpressionUtils.EditExp(ExpressionUtils.GetExpByName("xNCopies"), "PitchXNum"); ExpressionUtils.EditExp(ExpressionUtils.GetExpByName("yNCopies"), "PitchYNum"); ExpressionUtils.EditExp(ExpressionUtils.GetExpByName("xPitchDistance"), "PitchX"); ExpressionUtils.EditExp(ExpressionUtils.GetExpByName("yPitchDistance"), "-PitchY"); }
private static void SetMoveExpForNoDatum(double anlge) { Expression moveXExp = ExpressionUtils.CreateExp("moveX=0", "Number"); Expression moveYExp = ExpressionUtils.CreateExp("moveY=0", "Number"); ExpressionUtils.CreateExp("moveZ=0", "Number"); ExpressionUtils.EditExp(moveXExp, "-(xNCopies-1)*xPitchDistance/2"); if (UMathUtils.IsEqual(anlge, Math.PI)) { ExpressionUtils.EditExp(moveYExp, "(yNCopies-1)*yPitchDistance/2"); } else { ExpressionUtils.EditExp(moveYExp, "-(yNCopies-1)*yPitchDistance/2"); } }
public override void CreateExp(double x, int xNumber, double y, int yNumber, bool zDatum) { base.CreateDefault(zDatum); ExpressionUtils.EditExp(ExpressionUtils.GetExpByName("moveX"), "-(xNCopies-1)*xPitchDistance/2"); ExpressionUtils.EditExp(ExpressionUtils.GetExpByName("moveY"), "-(yNCopies-1)*yPitchDistance/2"); if (zDatum) { double[] pre = GetPreparation(x, xNumber, y, yNumber, zDatum); if (pre[0] >= pre[1]) { ExpressionUtils.EditExp(ExpressionUtils.GetExpByName("moveX"), "-(xNCopies-2)*xPitchDistance/2"); ExpressionUtils.EditExp(ExpressionUtils.GetExpByName("moveBoxX"), "-(xNCopies)*xPitchDistance/2"); } else { ExpressionUtils.EditExp(ExpressionUtils.GetExpByName("moveY"), "-(yNCopies-2)*yPitchDistance/2"); ExpressionUtils.EditExp(ExpressionUtils.GetExpByName("moveBoxY"), "-(yNCopies)*yPitchDistance/2"); } } }
private static void SetMoveExpForZDatum(int[] pre, double anlge) { Expression moveXExp = ExpressionUtils.CreateExp("moveX=0", "Number"); Expression moveBoxXExp = ExpressionUtils.CreateExp("moveBoxX=0", "Number"); Expression moveBoxYExp = ExpressionUtils.CreateExp("moveBoxY=0", "Number"); Expression moveYExp = ExpressionUtils.CreateExp("moveY=0", "Number"); ExpressionUtils.CreateExp("moveZ=0", "Number"); ExpressionUtils.CreateExp("moveBoxZ=0", "Number"); if (pre[0] > pre[1]) { ExpressionUtils.EditExp(moveXExp, "-(xNCopies-2)*xPitchDistance/2"); ExpressionUtils.EditExp(moveBoxXExp, "-(xNCopies)*xPitchDistance/2"); if (UMathUtils.IsEqual(anlge, Math.PI)) { ExpressionUtils.EditExp(moveYExp, "(yNCopies-1)*yPitchDistance/2"); } else { ExpressionUtils.EditExp(moveYExp, "-(yNCopies-1)*yPitchDistance/2"); } } else { ExpressionUtils.EditExp(moveXExp, "-(xNCopies-1)*xPitchDistance/2"); if (UMathUtils.IsEqual(anlge, Math.PI)) { ExpressionUtils.EditExp(moveYExp, "(yNCopies-2)*yPitchDistance/2"); ExpressionUtils.EditExp(moveBoxYExp, "(yNCopies)*yPitchDistance/2"); } else { ExpressionUtils.EditExp(moveYExp, "-(yNCopies-2)*yPitchDistance/2"); ExpressionUtils.EditExp(moveBoxYExp, "-(yNCopies)*yPitchDistance/2"); } } }