Exemple #1
0
        protected override SamplerStatus Sampler(JigPrompts Prompts)
        {
            PromptPointResult promptPointResult = Prompts.AcquirePoint(new JigPromptPointOptions("\r\n请指定下一点:")
            {
                Cursor       = 3,
                BasePoint    = this.point3d_0,
                UseBasePoint = true
            });
            SamplerStatus result;

            if (promptPointResult.Status != -5002)
            {
                Point3d value = promptPointResult.Value;
                if (value != this.point3d_1)
                {
                    Point3d  p           = this.point3d_0;
                    Point3d  point3d     = value;
                    double   num         = p.GetVectorTo(point3d).AngleOnPlane(new Plane());
                    short    num2        = checked ((short)Class36.GetKeyState(160L));
                    Point3d  pointAngle  = CAD.GetPointAngle(p, 100.0 * this.double_0, num * 180.0 / 3.1415926535897931 + (double)-90f);
                    Point3d  pointAngle2 = CAD.GetPointAngle(pointAngle, 141.0 * this.double_0, num * 180.0 / 3.1415926535897931);
                    Polyline polyline    = new Polyline();
                    polyline.SetDatabaseDefaults();
                    double   num3      = Math.Tan(Math.Atan(1.0) * 4.0 / 4.0);
                    Polyline polyline2 = polyline;
                    int      num4      = 0;
                    Point2d  point2d;
                    point2d..ctor(p.get_Coordinate(0), p.get_Coordinate(1));
                    polyline2.AddVertexAt(num4, point2d, -num3, 45.0 * this.double_0, 45.0 * this.double_0);
                    Polyline polyline3 = polyline;
                    int      num5      = 1;
                    point2d..ctor(pointAngle.get_Coordinate(0), pointAngle.get_Coordinate(1));
                    polyline3.AddVertexAt(num5, point2d, 0.0, 45.0 * this.double_0, 45.0 * this.double_0);
                    Polyline polyline4 = polyline;
                    int      num6      = 2;
                    point2d..ctor(pointAngle2.get_Coordinate(0), pointAngle2.get_Coordinate(1));
                    polyline4.AddVertexAt(num6, point2d, 0.0, 45.0 * this.double_0, 45.0 * this.double_0);
                    CAD.CreateLayer("钢筋", 10, "continuous", -1, false, true);
                    polyline.Layer   = "钢筋";
                    this.entity_0[0] = polyline;
                    this.point3d_1   = value;
                    result           = 0;
                }
                else
                {
                    result = 1;
                }
            }
            return(result);
        }