Esempio n. 1
0
        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();
        }
Esempio n. 2
0
 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;
 }
Esempio n. 3
0
        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();
        }