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); }