Ejemplo n.º 1
0
        public override void AddShapes()
        {
            //必须重新设置元件大小
            size.X = 60;
            size.Y = 20;
            //定义外部接口的位置
            RelativeInterface.Add(new IntPoint(0, 10));   //左端口
            RelativeInterface.Add(new IntPoint(100, 10)); //右端口
            //左边的导线
            MyShape line1 = new MyShape(MyShape.Shape_Line);

            line1.GetLine().Stroke          = System.Windows.Media.Brushes.Red;
            line1.GetLine().X1              = 0;
            line1.GetLine().Y1              = 10;
            line1.GetLine().X2              = 30;
            line1.GetLine().Y2              = 10;
            line1.GetLine().StrokeThickness = 5;
            shapeSet.AddShape(line1);
            //中间的长方形
            MyShape rectangle = new MyShape(MyShape.Shape_Rectangle);

            rectangle.GetRectangle().Fill   = System.Windows.Media.Brushes.Black;
            rectangle.GetRectangle().Width  = 40;
            rectangle.GetRectangle().Height = 20;
            Canvas.SetLeft(rectangle.GetRectangle(), 30);
            Canvas.SetTop(rectangle.GetRectangle(), 0);
            shapeSet.AddShape(rectangle);
            //右边的导线
            MyShape line2 = new MyShape(MyShape.Shape_Line);

            line2.GetLine().Stroke          = System.Windows.Media.Brushes.Red;
            line2.GetLine().X1              = 70;
            line2.GetLine().Y1              = 10;
            line2.GetLine().X2              = 100;
            line2.GetLine().Y2              = 10;
            line2.GetLine().StrokeThickness = 5;
            shapeSet.AddShape(line2);
            //左边的定位圆圈
            MyShape circle1 = new MyShape(MyShape.Shape_Ellipse);

            circle1.GetEllipse().Fill            = System.Windows.Media.Brushes.Red;
            circle1.GetEllipse().StrokeThickness = 3;
            circle1.GetEllipse().Stroke          = System.Windows.Media.Brushes.Yellow;
            circle1.GetEllipse().Width           = 10;
            circle1.GetEllipse().Height          = 10;
            Canvas.SetLeft(circle1.GetEllipse(), -5);
            Canvas.SetTop(circle1.GetEllipse(), 5);
            shapeSet.AddShape(circle1);
            //右边的定位圆圈
            MyShape circle2 = new MyShape(MyShape.Shape_Ellipse);

            circle2.GetEllipse().Fill            = System.Windows.Media.Brushes.Red;
            circle2.GetEllipse().StrokeThickness = 3;
            circle2.GetEllipse().Stroke          = System.Windows.Media.Brushes.Yellow;
            circle2.GetEllipse().Width           = 10;
            circle2.GetEllipse().Height          = 10;
            Canvas.SetLeft(circle2.GetEllipse(), 95);
            Canvas.SetTop(circle2.GetEllipse(), 5);
            shapeSet.AddShape(circle2);
        }
Ejemplo n.º 2
0
        public override void AddShapes()
        {
            Comp = Comp_Probe;
            //(已废弃)size.X = 40;
            //size.Y = 30;
            RelativeInterface.Add(new IntPoint(-1024, -1024)); //Ground
            RelativeInterface.Add(new IntPoint(20, 0));        //右端口
            //@d 探针的形状,到本函数结束可重写
            //直线
            MyShape line0 = new MyShape(MyShape.Shape_Line);

            line0.GetLine().Stroke          = System.Windows.Media.Brushes.Black;
            line0.GetLine().X1              = 20;
            line0.GetLine().Y1              = 5;
            line0.GetLine().X2              = 20;
            line0.GetLine().Y2              = 15;
            line0.GetLine().StrokeThickness = 5;
            shapeSet.AddShape(line0);
            //定位圆圈
            MyShape circle1 = new MyShape(MyShape.Shape_Ellipse);

            circle1.GetEllipse().Fill            = System.Windows.Media.Brushes.Red;
            circle1.GetEllipse().StrokeThickness = 3;
            circle1.GetEllipse().Stroke          = System.Windows.Media.Brushes.Yellow;
            circle1.GetEllipse().Width           = 10;
            circle1.GetEllipse().Height          = 10;
            Canvas.SetLeft(circle1.GetEllipse(), 15);
            Canvas.SetTop(circle1.GetEllipse(), -5);
            shapeSet.AddShape(circle1);
            //直线
            MyShape line1 = new MyShape(MyShape.Shape_Line);

            line1.GetLine().Stroke          = probeColor;
            line1.GetLine().X1              = 0;
            line1.GetLine().Y1              = 15;
            line1.GetLine().X2              = 40;
            line1.GetLine().Y2              = 15;
            line1.GetLine().StrokeThickness = 3;
            shapeSet.AddShape(line1);
            //直线
            MyShape line2 = new MyShape(MyShape.Shape_Line);

            line2.GetLine().Stroke          = probeColor;
            line2.GetLine().X1              = 7;
            line2.GetLine().Y1              = 21;
            line2.GetLine().X2              = 33;
            line2.GetLine().Y2              = 21;
            line2.GetLine().StrokeThickness = 3;
            shapeSet.AddShape(line2);
            //直线
            MyShape line3 = new MyShape(MyShape.Shape_Line);

            line3.GetLine().Stroke          = probeColor;
            line3.GetLine().X1              = 14;
            line3.GetLine().Y1              = 27;
            line3.GetLine().X2              = 26;
            line3.GetLine().Y2              = 27;
            line3.GetLine().StrokeThickness = 3;
            shapeSet.AddShape(line3);
        }
Ejemplo n.º 3
0
        public override void AddShapes()
        {
            //设置类型
            Comp = Comp_Wire;
            //指定这是电线
            IsWire = true;
            //定义外部接口的位置
            IntPoint A = new IntPoint(0, 0);
            IntPoint B = new IntPoint(50, 0);

            RelativeInterface.Add(A); //左端口
            RelativeInterface.Add(B); //右端口
            InitiateWireBetween(A, B);
            //必须重新设置元件大小
            int sizeX = Math.Abs(A.X - B.X);
            int sizeY = Math.Abs(A.Y - B.Y);
            //(已废弃)size.X = (sizeX==0)?10:sizeX;
            //size.Y = (sizeY==0)?10:sizeY;
        }
Ejemplo n.º 4
0
        public override void AddShapes()
        {
            //设置类型
            Comp = Comp_OhmMeter;

            /*//必须重新设置元件大小(已废弃)
             * size.X = 100;
             * size.Y = 20;*/
            //定义外部接口的位置
            RelativeInterface.Add(new IntPoint(0, 10));   //左端口
            RelativeInterface.Add(new IntPoint(100, 10)); //右端口
            //左边的导线
            MyShape line1 = new MyShape(MyShape.Shape_Line);

            line1.GetLine().Stroke          = System.Windows.Media.Brushes.Red;
            line1.GetLine().X1              = 0;
            line1.GetLine().Y1              = 10;
            line1.GetLine().X2              = 30;
            line1.GetLine().Y2              = 10;
            line1.GetLine().StrokeThickness = 5;
            shapeSet.AddShape(line1);
            //中间的长方形
            MyShape rectangle = new MyShape(MyShape.Shape_Rectangle);

            rectangle.GetRectangle().Fill   = System.Windows.Media.Brushes.Red;
            rectangle.GetRectangle().Width  = 40;
            rectangle.GetRectangle().Height = 20;
            Canvas.SetLeft(rectangle.GetRectangle(), 30);
            Canvas.SetTop(rectangle.GetRectangle(), 0);
            shapeSet.AddShape(rectangle);
            //右边的导线
            MyShape line2 = new MyShape(MyShape.Shape_Line);

            line2.GetLine().Stroke          = System.Windows.Media.Brushes.Red;
            line2.GetLine().X1              = 70;
            line2.GetLine().Y1              = 10;
            line2.GetLine().X2              = 100;
            line2.GetLine().Y2              = 10;
            line2.GetLine().StrokeThickness = 5;
            shapeSet.AddShape(line2);
            //左边的定位圆圈
            MyShape circle1 = new MyShape(MyShape.Shape_Ellipse);

            circle1.GetEllipse().Fill            = System.Windows.Media.Brushes.Red;
            circle1.GetEllipse().StrokeThickness = 3;
            circle1.GetEllipse().Stroke          = System.Windows.Media.Brushes.Yellow;
            circle1.GetEllipse().Width           = 10;
            circle1.GetEllipse().Height          = 10;
            Canvas.SetLeft(circle1.GetEllipse(), -5);
            Canvas.SetTop(circle1.GetEllipse(), 5);
            shapeSet.AddShape(circle1);
            //右边的定位圆圈
            MyShape circle2 = new MyShape(MyShape.Shape_Ellipse);

            circle2.GetEllipse().Fill            = System.Windows.Media.Brushes.Red;
            circle2.GetEllipse().StrokeThickness = 3;
            circle2.GetEllipse().Stroke          = System.Windows.Media.Brushes.Yellow;
            circle2.GetEllipse().Width           = 10;
            circle2.GetEllipse().Height          = 10;
            Canvas.SetLeft(circle2.GetEllipse(), 95);
            Canvas.SetTop(circle2.GetEllipse(), 5);
            shapeSet.AddShape(circle2);

            showingData    = new ShowingData("" + 101230 + "ohm");
            ohmmeterWindow = new Voltmeter(this);
            ohmmeterWindow.Show();
            showingData.SimpleData = "gagagag";
        }
Ejemplo n.º 5
0
        public override void AddShapes()
        {
            //设置类型
            L    = 0.001;
            Comp = Comp_Inductance;

            /*//必须重新设置元件大小(已废弃)
             * size.X = 100;
             * size.Y = 20;*/
            //定义外部接口的位置
            RelativeInterface.Add(new IntPoint(0, 10));   //左端口
            RelativeInterface.Add(new IntPoint(100, 10)); //右端口
            //@d 这里是接地的形状,从这里到本函数结尾可重写
            //左边的导线
            MyShape Shape_line1 = new MyShape(MyShape.Shape_Line);
            Line    line1       = Shape_line1.GetLine();

            line1.Stroke          = System.Windows.Media.Brushes.Red;
            line1.X1              = 0;
            line1.Y1              = 10;
            line1.X2              = 20;
            line1.Y2              = 10;
            line1.StrokeThickness = 5;
            shapeSet.AddShape(Shape_line1);
            //中间的不封闭折线段
            MyShape  Shape_polyline = new MyShape(MyShape.Shape_Ployline);
            Polyline polyline       = Shape_polyline.GetPolyline();

            polyline.StrokeThickness = 5;
            polyline.Stroke          = System.Windows.Media.Brushes.Black;
            PointCollection pointC = new PointCollection();

            AddPoints(pointC);
            polyline.Points = pointC;
            shapeSet.AddShape(Shape_polyline);
            //右边的导线
            MyShape Shape_line2 = new MyShape(MyShape.Shape_Line);
            Line    line2       = Shape_line2.GetLine();

            line2.Stroke          = System.Windows.Media.Brushes.Red;
            line2.X1              = 80;
            line2.Y1              = 10;
            line2.X2              = 100;
            line2.Y2              = 10;
            line2.StrokeThickness = 5;
            shapeSet.AddShape(Shape_line2);
            //左边的定位圆圈
            MyShape circle1 = new MyShape(MyShape.Shape_Ellipse);

            circle1.GetEllipse().Fill            = System.Windows.Media.Brushes.Red;
            circle1.GetEllipse().StrokeThickness = 3;
            circle1.GetEllipse().Stroke          = System.Windows.Media.Brushes.Yellow;
            circle1.GetEllipse().Width           = 10;
            circle1.GetEllipse().Height          = 10;
            Canvas.SetLeft(circle1.GetEllipse(), -5);
            Canvas.SetTop(circle1.GetEllipse(), 5);
            shapeSet.AddShape(circle1);
            //右边的定位圆圈
            MyShape circle2 = new MyShape(MyShape.Shape_Ellipse);

            circle2.GetEllipse().Fill            = System.Windows.Media.Brushes.Red;
            circle2.GetEllipse().StrokeThickness = 3;
            circle2.GetEllipse().Stroke          = System.Windows.Media.Brushes.Yellow;
            circle2.GetEllipse().Width           = 10;
            circle2.GetEllipse().Height          = 10;
            Canvas.SetLeft(circle2.GetEllipse(), 95);
            Canvas.SetTop(circle2.GetEllipse(), 5);
            shapeSet.AddShape(circle2);
        }
Ejemplo n.º 6
0
        public override void AddShapes()
        {
            C = 0.01; //默认电容
            //设置类型
            Comp = Comp_Capacity;

            /*//必须重新设置元件大小(已废弃)
             * size.X = 60;
             * size.Y = 40;*/
            //定义外部接口的位置
            RelativeInterface.Add(new IntPoint(0, 20));  //左端口
            RelativeInterface.Add(new IntPoint(70, 20)); //右端口
            //左边的导线
            MyShape line1 = new MyShape(MyShape.Shape_Line);

            line1.GetLine().Stroke          = System.Windows.Media.Brushes.Red;
            line1.GetLine().X1              = 0;
            line1.GetLine().Y1              = 20;
            line1.GetLine().X2              = 30;
            line1.GetLine().Y2              = 20;
            line1.GetLine().StrokeThickness = 5;
            shapeSet.AddShape(line1);
            //右边的导线
            MyShape line2 = new MyShape(MyShape.Shape_Line);

            line2.GetLine().Stroke          = System.Windows.Media.Brushes.Red;
            line2.GetLine().X1              = 40;
            line2.GetLine().Y1              = 20;
            line2.GetLine().X2              = 70;
            line2.GetLine().Y2              = 20;
            line2.GetLine().StrokeThickness = 5;
            shapeSet.AddShape(line2);
            //左极板
            MyShape lineleft = new MyShape(MyShape.Shape_Line);

            lineleft.GetLine().Stroke          = System.Windows.Media.Brushes.Black;
            lineleft.GetLine().X1              = 30;
            lineleft.GetLine().Y1              = 0;
            lineleft.GetLine().X2              = 30;
            lineleft.GetLine().Y2              = 40;
            lineleft.GetLine().StrokeThickness = 5;
            shapeSet.AddShape(lineleft);
            //右极板
            MyShape lineRight = new MyShape(MyShape.Shape_Line);

            lineRight.GetLine().Stroke          = System.Windows.Media.Brushes.Black;
            lineRight.GetLine().X1              = 40;
            lineRight.GetLine().Y1              = 0;
            lineRight.GetLine().X2              = 40;
            lineRight.GetLine().Y2              = 40;
            lineRight.GetLine().StrokeThickness = 5;
            shapeSet.AddShape(lineRight);
            //左边的定位圆圈
            MyShape circle1 = new MyShape(MyShape.Shape_Ellipse);

            circle1.GetEllipse().Fill            = System.Windows.Media.Brushes.Red;
            circle1.GetEllipse().StrokeThickness = 3;
            circle1.GetEllipse().Stroke          = System.Windows.Media.Brushes.Yellow;
            circle1.GetEllipse().Width           = 10;
            circle1.GetEllipse().Height          = 10;
            Canvas.SetLeft(circle1.GetEllipse(), -5);
            Canvas.SetTop(circle1.GetEllipse(), 15);
            shapeSet.AddShape(circle1);
            //右边的定位圆圈
            MyShape circle2 = new MyShape(MyShape.Shape_Ellipse);

            circle2.GetEllipse().Fill            = System.Windows.Media.Brushes.Red;
            circle2.GetEllipse().StrokeThickness = 3;
            circle2.GetEllipse().Stroke          = System.Windows.Media.Brushes.Yellow;
            circle2.GetEllipse().Width           = 10;
            circle2.GetEllipse().Height          = 10;
            Canvas.SetLeft(circle2.GetEllipse(), 65);
            Canvas.SetTop(circle2.GetEllipse(), 15);
            shapeSet.AddShape(circle2);
        }
Ejemplo n.º 7
0
        public override void AddShapes()
        {
            //设置类型
            Comp = Comp_ACPower;

            /*//必须重新设置元件大小(已废弃)
             * size.X = 100;
             * size.Y = 20;*/
            //定义外部接口的位置
            RelativeInterface.Add(new IntPoint(0, 10));   //左端口
            RelativeInterface.Add(new IntPoint(100, 10)); //右端口
            //@d 这部分为交流电表的形状,到本函数结尾可重写
            //左边的导线
            MyShape line1 = new MyShape(MyShape.Shape_Line);

            line1.GetLine().Stroke          = System.Windows.Media.Brushes.BlueViolet;
            line1.GetLine().X1              = 0;
            line1.GetLine().Y1              = 10;
            line1.GetLine().X2              = 30;
            line1.GetLine().Y2              = 10;
            line1.GetLine().StrokeThickness = 5;
            shapeSet.AddShape(line1);
            //中间的长方形
            MyShape rectangle = new MyShape(MyShape.Shape_Rectangle);

            rectangle.GetRectangle().Fill   = System.Windows.Media.Brushes.Bisque;
            rectangle.GetRectangle().Width  = 40;
            rectangle.GetRectangle().Height = 20;
            Canvas.SetLeft(rectangle.GetRectangle(), 30);
            Canvas.SetTop(rectangle.GetRectangle(), 0);
            shapeSet.AddShape(rectangle);
            //右边的导线
            MyShape line2 = new MyShape(MyShape.Shape_Line);

            line2.GetLine().Stroke          = System.Windows.Media.Brushes.Navy;
            line2.GetLine().X1              = 70;
            line2.GetLine().Y1              = 10;
            line2.GetLine().X2              = 100;
            line2.GetLine().Y2              = 10;
            line2.GetLine().StrokeThickness = 5;
            shapeSet.AddShape(line2);
            //左边的定位圆圈
            MyShape circle1 = new MyShape(MyShape.Shape_Ellipse);

            circle1.GetEllipse().Fill            = System.Windows.Media.Brushes.Red;
            circle1.GetEllipse().StrokeThickness = 3;
            circle1.GetEllipse().Stroke          = System.Windows.Media.Brushes.Navy;
            circle1.GetEllipse().Width           = 10;
            circle1.GetEllipse().Height          = 10;
            Canvas.SetLeft(circle1.GetEllipse(), -5);
            Canvas.SetTop(circle1.GetEllipse(), 5);
            shapeSet.AddShape(circle1);
            //右边的定位圆圈
            MyShape circle2 = new MyShape(MyShape.Shape_Ellipse);

            circle2.GetEllipse().Fill            = System.Windows.Media.Brushes.Red;
            circle2.GetEllipse().StrokeThickness = 3;
            circle2.GetEllipse().Stroke          = System.Windows.Media.Brushes.Yellow;
            circle2.GetEllipse().Width           = 10;
            circle2.GetEllipse().Height          = 10;
            Canvas.SetLeft(circle2.GetEllipse(), 95);
            Canvas.SetTop(circle2.GetEllipse(), 5);
            shapeSet.AddShape(circle2);
        }