public void PlotXTicks(float originValue, float step, float transverseOffset = 0.1f, float fontSize = 0.3f, float longwiseCorrection = 0f, float scale = 1) { //построение подписей к оси х //transverseOffset - смещение перпендикулярно оси х вниз //fontSize - размер шрифта //longwiseCorrection - величина, на которую можно сместить текст вдоль оси х List <float> longwiseOffsets = new List <float>(); List <TextBox> labels = new List <TextBox>(); TickConverterDelegate localConverter = x => string.Format("<StyleOverride FontSize='{0}'>{1}</StyleOverride>", fontSize, this.xConverter(x)); this.sketch.Edit(); for (float value = originValue; value *xScale <= length; value += step) { longwiseOffsets.Add(value * xScale); } foreach (float longwiseOffset in longwiseOffsets) { Point2d textPos = transGeom.CreatePoint2d(longwiseOffset + initX - longwiseCorrection, initY - transverseOffset); TextBox label = this.sketch.TextBoxes.AddFitted(textPos, localConverter(longwiseOffset)); label.FormattedText = localConverter(longwiseOffset / xScale + xMin); label.Style.VerticalJustification = VerticalTextAlignmentEnum.kAlignTextUpper; label.Style.HorizontalJustification = HorizontalTextAlignmentEnum.kAlignTextCenter; } this.sketch.ExitEdit(); }
public InventorPlotter(DrawingSketch sketch) { this.sketch = sketch; this.app = (Application)sketch.Application; this.transGeom = this.app.TransientGeometry; this.yArrays = new List <float[]>(); this.initX = 0; this.initY = 0; this.length = 9; this.height = 6; this.xConverter = x => string.Format("{0:0}", x); this.yConverter = y => string.Format("{0:0}", y); colors = new List <Color>(); xlimManual = false; ylimManual = false; }
public void PlotYTicks(float originValue, float step, float transverseOffset = 0.3f, float fontSize = 0.3f, float longwiseCorrection = 0.15f, float scale = 1, String format = ":0") { List <float> longwiseOffsets = new List <float>(); List <TextBox> labels = new List <TextBox>(); TickConverterDelegate localConverter = y => string.Format("<StyleOverride FontSize='{0}'>{1" + format + "}</StyleOverride>", fontSize, y); this.sketch.Edit(); for (float value = originValue; value *yScale <= height; value += step) { longwiseOffsets.Add(value * yScale); } foreach (float longwiseOffset in longwiseOffsets) { Point2d textPos = transGeom.CreatePoint2d(initX - transverseOffset, longwiseOffset + initY + longwiseCorrection); TextBox label = this.sketch.TextBoxes.AddFitted(textPos, localConverter(longwiseOffset)); label.FormattedText = localConverter(longwiseOffset / yScale + yMin); } this.sketch.ExitEdit(); }