protected override SamplerStatus Sampler(JigPrompts Prompts) { PromptPointResult promptPointResult = Prompts.AcquirePoint(new JigPromptPointOptions("\r\n请指定插入点:") { UserInputControls = 2, Cursor = 2, BasePoint = this.point3d_0, UseBasePoint = true }); Point3d value = promptPointResult.Value; SamplerStatus result; if (value != this.point3d_1) { double num = this.point3d_0.DistanceTo(value) * 2.0; double num2 = this.point3d_0.GetVectorTo(value).AngleOnPlane(new Plane()); Point3d p; p..ctor((this.point3d_0.X + value.X) / 2.0, (this.point3d_0.Y + value.Y) / 2.0, 0.0); double num3 = 3.1415926535897931; this.polyline_0 = new Polyline(); if (num >= 1000.0 * this.double_0) { num = 1000.0 * this.double_0; } Point3d pointAngle = CAD.GetPointAngle(this.point3d_0, num / 10.0, num2 * 180.0 / num3 + 180.0); this.polyline_0.AddVertexAt(0, Class36.smethod_38(pointAngle), 0.0, 0.0, 0.0); this.polyline_0.AddVertexAt(1, Class36.smethod_38(this.point3d_0), 0.0, 0.0, 0.0); pointAngle = CAD.GetPointAngle(p, num / 15.0, num2 * 180.0 / num3 + 180.0); this.polyline_0.AddVertexAt(2, Class36.smethod_38(pointAngle), 0.0, 0.0, 0.0); pointAngle = CAD.GetPointAngle(p, num / 8.0, num2 * 180.0 / num3 - 105.0); this.polyline_0.AddVertexAt(3, Class36.smethod_38(pointAngle), 0.0, 0.0, 0.0); this.polyline_0.AddVertexAt(4, Class36.smethod_38(p), 0.0, 0.0, 0.0); pointAngle = CAD.GetPointAngle(p, num / 8.0, num2 * 180.0 / num3 + 75.0); this.polyline_0.AddVertexAt(5, Class36.smethod_38(pointAngle), 0.0, 0.0, 0.0); pointAngle = CAD.GetPointAngle(p, num / 15.0, num2 * 180.0 / num3); this.polyline_0.AddVertexAt(6, Class36.smethod_38(pointAngle), 0.0, 0.0, 0.0); this.polyline_0.AddVertexAt(7, Class36.smethod_38(value), 0.0, 0.0, 0.0); pointAngle = CAD.GetPointAngle(value, num / 10.0, num2 * 180.0 / num3); this.polyline_0.AddVertexAt(8, Class36.smethod_38(pointAngle), 0.0, 0.0, 0.0); this.point3d_1 = value; result = 0; } else { result = 1; } return(result); }
protected override SamplerStatus Sampler(JigPrompts Prompts) { PromptPointResult promptPointResult = Prompts.AcquirePoint(new JigPromptPointOptions("\r\n请指定插入点:") { Cursor = 2, BasePoint = this.point3d_0, UseBasePoint = true }); Point3d value = promptPointResult.Value; SamplerStatus result; if (value != this.point3d_1) { double num = this.point3d_0.DistanceTo(value); double num2 = this.point3d_0.GetVectorTo(value).AngleOnPlane(new Plane()); Point3d point3d; point3d..ctor((this.point3d_0.X + value.X) / 2.0, (this.point3d_0.Y + value.Y) / 2.0, 0.0); double num3 = 3.1415926535897931; this.polyline_0 = new Polyline(); Point3d pointAngle = this.point3d_0; this.polyline_0.AddVertexAt(0, Class36.smethod_38(pointAngle), 0.0, 0.0, 0.0); pointAngle = CAD.GetPointAngle(pointAngle, num / 10.0, num2 * 180.0 / num3 - 45.0); this.polyline_0.AddVertexAt(1, Class36.smethod_38(pointAngle), 0.0, 0.0, 0.0); pointAngle = CAD.GetPointAngle(pointAngle, 0.359 * num, num2 * 180.0 / num3); this.polyline_0.AddVertexAt(2, Class36.smethod_38(pointAngle), 0.0, 0.0, 0.0); pointAngle = CAD.GetPointAngle(pointAngle, num / 10.0, num2 * 180.0 / num3 - 45.0); this.polyline_0.AddVertexAt(3, Class36.smethod_38(pointAngle), 0.0, 0.0, 0.0); pointAngle = CAD.GetPointAngle(pointAngle, num / 10.0, num2 * 180.0 / num3 + 45.0); this.polyline_0.AddVertexAt(4, Class36.smethod_38(pointAngle), 0.0, 0.0, 0.0); pointAngle = CAD.GetPointAngle(pointAngle, 0.359 * num, num2 * 180.0 / num3); this.polyline_0.AddVertexAt(5, Class36.smethod_38(pointAngle), 0.0, 0.0, 0.0); pointAngle = CAD.GetPointAngle(pointAngle, num / 10.0, num2 * 180.0 / num3 + 45.0); this.polyline_0.AddVertexAt(6, Class36.smethod_38(pointAngle), 0.0, 0.0, 0.0); this.polyline_0.Highlight(); this.point3d_1 = value; result = 0; } else { result = 1; } return(result); }
public void 筋() { int num; int num4; object obj; try { IL_01: ProjectData.ClearProjectError(); num = -2; IL_09: int num2 = 2; Point3d point3d = CAD.GetPoint("选择插入点: "); IL_17: num2 = 3; Point3d point3d2; if (!(point3d == point3d2)) { goto IL_29; } IL_24: goto IL_311; IL_29: num2 = 6; double num3 = Class36.smethod_34(ref point3d); IL_34: num2 = 7; num3 = num3 * 180.0 / 3.1415926535897931; IL_4E: num2 = 8; Polyline polyline = new Polyline(); IL_56: num2 = 9; Point3d pointAngle = CAD.GetPointAngle(point3d, 75.0, num3 + 90.0); IL_76: num2 = 10; point3d = CAD.GetPointAngle(point3d, 75.0, num3 - 90.0); IL_97: num2 = 11; polyline.AddVertexAt(0, Class36.smethod_38(CAD.GetPointAngle(pointAngle, 350.0, num3)), 0.0, 45.0, 45.0); IL_D2: num2 = 12; polyline.AddVertexAt(1, Class36.smethod_38(CAD.GetPointAngle(pointAngle, 150.0, num3)), 0.0, 45.0, 45.0); IL_10D: num2 = 13; polyline.AddVertexAt(2, Class36.smethod_38(CAD.GetPointAngle(point3d, 100.0, num3)), 0.0, 45.0, 45.0); IL_149: num2 = 14; polyline.AddVertexAt(3, Class36.smethod_38(CAD.GetPointAngle(point3d, 100.0, num3 + 180.0)), 0.0, 45.0, 45.0); IL_18F: num2 = 15; polyline.AddVertexAt(4, Class36.smethod_38(CAD.GetPointAngle(pointAngle, 150.0, num3 + 180.0)), 0.0, 45.0, 45.0); IL_1D4: num2 = 16; polyline.AddVertexAt(5, Class36.smethod_38(CAD.GetPointAngle(pointAngle, 350.0, num3 + 180.0)), 0.0, 45.0, 45.0); IL_219: num2 = 17; polyline.ColorIndex = 10; IL_224: num2 = 18; CAD.AddEnt(polyline); IL_22E: num2 = 19; if (Information.Err().Number <= 0) { goto IL_255; } IL_240: num2 = 20; Interaction.MsgBox(Information.Err().Description, MsgBoxStyle.OkOnly, null); IL_255: goto IL_311; IL_25A: goto IL_306; IL_25F: num4 = num2; if (num <= -2) { goto IL_277; } @switch(ICSharpCode.Decompiler.ILAst.ILLabel[], num); goto IL_2E0; IL_277: int num5 = num4 + 1; num4 = 0; @switch(ICSharpCode.Decompiler.ILAst.ILLabel[], num5); IL_2E0 :; } catch when(endfilter(obj is Exception & num != 0 & num4 == 0)) { Exception ex = (Exception)obj2; goto IL_25F; } IL_306: throw ProjectData.CreateProjectError(-2146828237); IL_311: if (num4 != 0) { ProjectData.ClearProjectError(); } }
public void TcZJM() { TcZJM_Frm tcZJM_Frm = new TcZJM_Frm(); tcZJM_Frm.ShowDialog(); checked { if (tcZJM_Frm.DialogResult == DialogResult.OK) { CAD.CreateLayer("柱截面", 2, "continuous", -1, false, true); CAD.CreateLayer("柱截面文字", 4, "continuous", -1, false, true); string text = tcZJM_Frm.ComboBox1.Text; double num; if (Operators.CompareString(text, "1:20", false) == 0) { num = 5.0; } else if (Operators.CompareString(text, "1:25", false) == 0) { num = 4.0; } else if (Operators.CompareString(text, "1:30", false) == 0) { num = 3.3333333333333335; } else if (Operators.CompareString(text, "1:40", false) == 0) { num = 2.5; } else if (Operators.CompareString(text, "1:50", false) == 0) { num = 2.0; } if (tcZJM_Frm.RadioButton1.Checked) { string text2 = tcZJM_Frm.TextBox1.Text; string text3 = tcZJM_Frm.TextBox2.Text.ToUpper(); string text4 = tcZJM_Frm.TextBox3.Text; string text5 = tcZJM_Frm.TextBox4.Text; string text6 = tcZJM_Frm.TextBox5.Text; string text7 = tcZJM_Frm.TextBox6.Text; object instance = text3.Split(new char[] { 'X' }); long num2 = Conversions.ToLong(NewLateBinding.LateIndexGet(instance, new object[] { 0 }, null)); long num3 = Conversions.ToLong(NewLateBinding.LateIndexGet(instance, new object[] { 1 }, null)); long num4 = (long)Math.Round(unchecked ((double)num2 * num)); long num5 = (long)Math.Round(unchecked ((double)num3 * num)); Point3d point = CAD.GetPoint("选择插入点: "); Point3d point3d; if (!(point == point3d)) { Point3d pointXY = CAD.GetPointXY(point, (double)num4 / 2.0, (double)num5 / 2.0); Point3d pointXY2 = CAD.GetPointXY(point, (double)(0L - num4) / 2.0, (double)num5 / 2.0); Point3d pointXY3 = CAD.GetPointXY(point, (double)(0L - num4) / 2.0, (double)(0L - num5) / 2.0); Point3d pointXY4 = CAD.GetPointXY(point, (double)num4 / 2.0, (double)(0L - num5) / 2.0); ObjectId id = CAD.AddPlinePxy(pointXY3, (double)num4, (double)num5, 0.0, "").ObjectId; CAD.ChangeLayer(id, "柱截面"); double num6 = 185.0; Point3d pointXY5 = CAD.GetPointXY(pointXY, (double)-185f, (double)-185f); Point3d pointXY6 = CAD.GetPointXY(pointXY2, num6, (double)-185f); Point3d pointXY7 = CAD.GetPointXY(pointXY3, num6, num6); Point3d pointXY8 = CAD.GetPointXY(pointXY4, (double)-185f, num6); num6 = 50.0; Class36.smethod_16(pointXY5, num6, "墙柱纵筋"); Class36.smethod_16(pointXY6, num6, "墙柱纵筋"); Class36.smethod_16(pointXY7, num6, "墙柱纵筋"); Class36.smethod_16(pointXY8, num6, "墙柱纵筋"); Class36.smethod_10(pointXY7, pointXY5, 5.0); Point3d[] array = null; Point3d[] array2 = null; short num8; if (Operators.CompareString(text6, "", false) != 0 & Operators.CompareString(text6, "0", false) != 0) { short num7 = (short)Strings.InStr(text6, "+", CompareMethod.Binary); if (num7 > 0) { num8 = (short)Math.Round(unchecked (Conversion.Val(text6.Substring(0, 1)) + Conversion.Val(text6.Substring((int)num7, 1)))); } else { num8 = (short)Math.Round(Conversion.Val(text6.Substring(0, 1))); } array = new Point3d[(int)(num8 - 1 + 1)]; array2 = new Point3d[(int)(num8 - 1 + 1)]; long num9 = (long)Math.Round((double)(num4 - 370L) / (double)(num8 + 1)); int num10 = 0; int num11 = (int)(num8 - 1); int num12 = num10; for (;;) { int num13 = num12; int num14 = num11; if (num13 > num14) { break; } array[num12] = CAD.GetPointXY(pointXY6, (double)(num9 *unchecked ((long)(checked (num12 + 1)))), 0.0); Class36.smethod_16(array[num12], 50.0, "墙柱纵筋"); array2[num12] = CAD.GetPointXY(pointXY7, (double)(num9 *unchecked ((long)(checked (num12 + 1)))), 0.0); Class36.smethod_16(array2[num12], 50.0, "墙柱纵筋"); num12++; } } Point3d[] array3 = null; Point3d[] array4 = null; int num16; if (Operators.CompareString(text7, "", false) != 0 & Operators.CompareString(text7, "0", false) != 0) { short num15 = (short)Strings.InStr(text7, "+", CompareMethod.Binary); if (num15 > 0) { num16 = (int)Math.Round(unchecked (Conversion.Val(text7.Substring(0, 1)) + Conversion.Val(text7.Substring((int)num15, 1)))); } else { num16 = (int)Math.Round(Conversion.Val(text7.Substring(0, 1))); } array3 = new Point3d[num16 - 1 + 1]; array4 = new Point3d[num16 - 1 + 1]; long num17 = (long)Math.Round((double)(num5 - 370L) / (double)(num16 + 1)); int num18 = 0; int num19 = num16 - 1; int num20 = num18; for (;;) { int num21 = num20; int num14 = num19; if (num21 > num14) { break; } array3[num20] = CAD.GetPointXY(pointXY6, 0.0, (double)((0L - num17) *unchecked ((long)(checked (num20 + 1))))); Class36.smethod_16(array3[num20], 50.0, "墙柱纵筋"); array4[num20] = CAD.GetPointXY(pointXY5, 0.0, (double)((0L - num17) *unchecked ((long)(checked (num20 + 1))))); Class36.smethod_16(array4[num20], 50.0, "墙柱纵筋"); num20++; } } string[] array_ = new string[] { text2, text3, text4.Replace("D", "%%132"), text5.Replace("D", "%%132") }; Point3d pointXY9 = CAD.GetPointXY(pointXY, -100.0, 2000.0); ObjectId[] array5 = Class36.smethod_20(pointXY9, array_, 300.0, 1.4, ""); foreach (ObjectId id in array5) { CAD.ChangeLayer(id, "柱截面文字"); } id = CAD.AddLine(CAD.GetPointXY(pointXY, -200.0, 0.0), CAD.GetPointXY(pointXY, -200.0, 1900.0), "0").ObjectId; CAD.ChangeLayer(id, "柱截面文字"); unchecked { if (Operators.CompareString(text6, "", false) != 0 & Operators.CompareString(text6, "0", false) != 0) { pointXY9..ctor((pointXY.X + pointXY2.X) / 2.0, pointXY.Y + 150.0, 0.0); id = Class36.smethod_57(text6.Replace("D", "%%132"), pointXY9, 300.0, 1, 0, "STANDARD", 0.0); CAD.ChangeLayer(id, "柱截面文字"); } if (Operators.CompareString(text7, "", false) != 0 & Operators.CompareString(text7, "0", false) != 0) { pointXY9..ctor(pointXY2.X - 150.0, (pointXY2.Y + pointXY3.Y) / 2.0, 0.0); id = Class36.smethod_57(text7.Replace("D", "%%132"), pointXY9, 300.0, 1, 0, "STANDARD", 1.5707963267948966); CAD.ChangeLayer(id, "柱截面文字"); } object obj = CAD.CreateTextStyle("Tc_尺寸标注", "txt.shx", "hztxt.Shx", 0.7); string dimStyleName = "Tc_Dim100"; object obj2 = obj; ObjectId objectId; ObjectId dimID = CAD.CreateDimStyle(dimStyleName, (obj2 != null) ? ((ObjectId)obj2) : objectId, 100, 1.0, false, -1.0); pointXY9 = CAD.GetPointXY(pointXY, 600.0, 0.0); CAD.AddLineDim(pointXY, pointXY4, pointXY9, 1.0 / num, dimID, -1.0); pointXY9 = CAD.GetPointXY(pointXY3, 0.0, -600.0); CAD.AddLineDim(pointXY3, pointXY4, pointXY9, 1.0 / num, dimID, -1.0); if (num2 > 300L) { if (num8 == 1) { Class36.smethod_8(array[0], array2[0], 5.0); } else if (num8 == 2) { Class36.smethod_10(array[0], array2[1], 5.0); } else if (num8 == 3) { Class36.smethod_10(array[0], array2[2], 5.0); Class36.smethod_8(array[1], array2[1], 5.0); } else if (num8 == 4) { Class36.smethod_10(array[0], array2[1], 5.0); Class36.smethod_10(array[2], array2[3], 5.0); } else if (num8 == 5) { Class36.smethod_10(array[1], array2[3], 5.0); Class36.smethod_8(array[2], array2[2], 5.0); } else if (num8 == 6) { Class36.smethod_10(array[1], array2[2], 5.0); Class36.smethod_10(array[3], array2[4], 5.0); } else if (num8 >= 7) { Class36.smethod_10(array[1], array2[2], 5.0); Class36.smethod_10(array[4], array2[5], 5.0); } } if (num3 > 300L) { if (num16 == 1) { Class36.smethod_8(array3[0], array4[0], 5.0); } else if (num16 == 2) { Class36.smethod_10(array3[0], array4[1], 5.0); } else if (num16 == 3) { Class36.smethod_10(array3[0], array4[2], 5.0); Class36.smethod_8(array3[1], array4[1], 5.0); } else if (num16 == 4) { Class36.smethod_10(array3[0], array4[1], 5.0); Class36.smethod_10(array3[2], array4[3], 5.0); } else if (num16 == 5) { Class36.smethod_10(array3[1], array4[3], 5.0); Class36.smethod_8(array3[2], array4[2], 5.0); } else if (num16 == 6) { Class36.smethod_10(array3[1], array4[2], 5.0); Class36.smethod_10(array3[3], array4[4], 5.0); } else if (num16 >= 7) { Class36.smethod_10(array3[1], array4[2], 5.0); Class36.smethod_10(array3[4], array4[5], 5.0); } } pointXY9 = CAD.GetPointXY(point, -400.0, (double)(checked (0L - num5)) / 2.0 - 2500.0); Class36.smethod_6(pointXY9, text2, 100.0, tcZJM_Frm.ComboBox1.Text); } } } else { string text8 = tcZJM_Frm.TextBox1.Text; string text9 = tcZJM_Frm.TextBox2.Text.ToUpper(); string text10 = tcZJM_Frm.TextBox3.Text; string text11 = tcZJM_Frm.TextBox4.Text; long num22 = (long)Math.Round(Conversion.Val(text9)); long num23 = (long)Math.Round((double)num22 / 2.0); object obj3 = Strings.InStr(text10, "D", CompareMethod.Binary); int num24 = (int)Math.Round(Conversion.Val(text10.Substring(0, Conversions.ToInteger(Operators.SubtractObject(obj3, 1))))); Point3d point2 = CAD.GetPoint("选择插入点: "); Point3d point3d; if (!(point2 == point3d)) { ObjectId id2 = CAD.AddCircle(point2, unchecked ((double)num23 * num), "").ObjectId; CAD.ChangeLayer(id2, "柱截面"); CAD.CreateLayer("箍筋", 1, "continuous", -1, false, true); CAD.CreateLayer("柱截面文字", 4, "continuous", -1, false, true); long num25 = (long)Math.Round(unchecked ((double)num23 * num - 85.0)); Point3d point3d2 = CAD.GetPointXY(point2, 0.0, (double)num25); Polyline polyline = new Polyline(); obj3 = Math.Tan(0.78539816339744828); polyline.AddVertexAt(0, Class36.smethod_38(point3d2), Conversions.ToDouble(obj3), (double)45f, (double)45f); point3d2 = CAD.GetPointXY(point3d2, 0.0, (double)(-2L * num25)); polyline.AddVertexAt(1, Class36.smethod_38(point3d2), Conversions.ToDouble(obj3), (double)45f, (double)45f); point3d2 = CAD.GetPointXY(point3d2, 0.0, (double)(2L * num25)); obj3 = Math.Tan(0.52359877559829882); polyline.AddVertexAt(2, Class36.smethod_38(point3d2), Conversions.ToDouble(obj3), (double)45f, (double)45f); point3d2 = CAD.GetPointAngle(point3d2, 185.0, 247.5); polyline.AddVertexAt(3, Class36.smethod_38(point3d2), 0.0, (double)45f, (double)45f); point3d2 = CAD.GetPointAngle(point3d2, 100.0, -45.0); polyline.AddVertexAt(4, Class36.smethod_38(point3d2), 0.0, (double)45f, (double)45f); id2 = CAD.AddEnt(polyline).ObjectId; CAD.ChangeLayer(id2, "箍筋"); int num26 = 0; int num27 = num24 - 1; int num28 = num26; for (;;) { int num29 = num28; int num14 = num27; if (num29 > num14) { break; } point3d2 = unchecked (CAD.GetPointAngle(point2, (double)num23 * num - 185.0, 360.0 / (double)num24 * (double)num28 + 90.0)); Class36.smethod_16(point3d2, 50.0, "墙柱纵筋"); num28++; } ObjectId style = Class36.smethod_78("Dim100", 100, 1.0, false); unchecked { Point3d pointXY10 = CAD.GetPointXY(point2, (double)(checked (0L - num23)) * num, (double)(checked (0L - num23)) * num); Point3d pointXY11 = CAD.GetPointXY(point2, (double)num23 * num, (double)(checked (0L - num23)) * num); point3d2 = CAD.GetPointXY(point2, 0.0, (double)(checked (0L - num23 - 200L)) * num); id2 = ModelSpace.AddDimAligned1(pointXY10, pointXY11, point3d2, Conversions.ToString(num22), style); pointXY10 = CAD.GetPointXY(point2, (double)(checked (0L - num23)) * num, (double)num23 * num); pointXY11 = CAD.GetPointXY(point2, (double)(checked (0L - num23)) * num, (double)(checked (0L - num23)) * num); point3d2 = CAD.GetPointXY(point2, (double)(checked (0L - num23 - 200L)) * num, 0.0); id2 = ModelSpace.AddDimAligned1(pointXY10, pointXY11, point3d2, Conversions.ToString(num22), style); string[] array_2 = new string[] { text8, text9, text10.Replace("D", "%%132"), text11.Replace("D", "%%132") }; point3d2 = CAD.GetPointXY(point2, (double)num23 * num + 100.0, 1800.0 + (double)num23 * num); ObjectId[] array7 = Class36.smethod_20(point3d2, array_2, 300.0, 1.4, ""); foreach (ObjectId id2 in array7) { CAD.ChangeLayer(id2, "柱截面文字"); } id2 = CAD.AddLine(CAD.GetPointXY(point2, (double)num23 * num * 0.714, (double)num23 * num * 0.714), CAD.GetPointXY(point2, ((double)num23 * num + 500.0) * 0.714, ((double)num23 * num + 500.0) * 0.714), "0").ObjectId; CAD.ChangeLayer(id2, "柱截面文字"); point3d2 = CAD.GetPointXY(point2, -80.0 * num, (double)(checked (0L - num23 - 500L)) * num); Class36.smethod_6(point3d2, text8, 100.0, "1:20"); } } } } } }
public void 任意多边形填充() { int num; int num10; object obj; try { IL_01: ProjectData.ClearProjectError(); num = -2; IL_09: int num2 = 2; Point3d[] array = new Point3d[2]; IL_12: num2 = 3; Class36.smethod_32(ref array[0], ref array[1], "选择插入点:"); IL_2D: num2 = 4; short num3 = 1; IL_31: num2 = 5; Polyline polyline = new Polyline(); for (;;) { IL_124: num2 = 6; short num4; Polyline polyline2; short num6; checked { num3 += 1; IL_3F: num2 = 7; array = (Point3d[])Utils.CopyArray((Array)array, new Point3d[(int)(num3 + 1)]); IL_5A: num2 = 10; num4 = Class36.smethod_29(array[(int)(num3 - 1)], ref array[(int)num3], "选择下一点: "); IL_7E: num2 = 11; if (num4 == 0) { break; } IL_8B: num2 = 14; IL_8E: num2 = 15; polyline2 = new Polyline(); IL_98: num2 = 16; short num5 = 0; num6 = (short)Information.UBound(array, 1); num4 = num5; } for (;;) { short num7 = num4; short num8 = num6; if (num7 > num8) { break; } IL_AA: num2 = 17; polyline2.AddVertexAt((int)num4, Class36.smethod_38(array[(int)num4]), 0.0, 0.0, 0.0); IL_E3: num2 = 18; num4 += 1; } IL_F7: num2 = 19; polyline2.Closed = true; IL_102: num2 = 20; CAD.AddEnt(polyline2); IL_10D: num2 = 21; Class36.smethod_64(polyline.ObjectId); IL_11D: num2 = 22; polyline = polyline2; } IL_130: num2 = 25; Document mdiActiveDocument = Application.DocumentManager.MdiActiveDocument; IL_13F: num2 = 26; Database database = mdiActiveDocument.Database; IL_14B: num2 = 27; using (Transaction transaction = database.TransactionManager.StartTransaction()) { BlockTable blockTable = (BlockTable)transaction.GetObject(database.BlockTableId, 0); BlockTableRecord blockTableRecord = (BlockTableRecord)transaction.GetObject(blockTable[BlockTableRecord.ModelSpace], 1); ObjectIdCollection objectIdCollection = new ObjectIdCollection(); objectIdCollection.Add(polyline.ObjectId); Hatch hatch = new Hatch(); blockTableRecord.AppendEntity(hatch); transaction.AddNewlyCreatedDBObject(hatch, true); hatch.SetDatabaseDefaults(); hatch.PatternScale = 500.0; hatch.SetHatchPattern(1, "grass"); hatch.Associative = true; hatch.AppendLoop(16, objectIdCollection); hatch.EvaluateHatch(true); transaction.Commit(); } IL_218: num2 = 29; Class36.smethod_64(polyline.ObjectId); IL_228: num2 = 30; if (Information.Err().Number <= 0) { goto IL_24F; } IL_23A: num2 = 31; Interaction.MsgBox(Information.Err().Description, MsgBoxStyle.OkOnly, null); IL_24F: goto IL_331; IL_254: int num9 = num10 + 1; num10 = 0; @switch(ICSharpCode.Decompiler.ILAst.ILLabel[], num9); IL_2E8: goto IL_326; IL_2EA: num10 = num2; if (num <= -2) { goto IL_254; } @switch(ICSharpCode.Decompiler.ILAst.ILLabel[], num); IL_303 :; } catch when(endfilter(obj is Exception & num != 0 & num10 == 0)) { Exception ex = (Exception)obj2; goto IL_2EA; } IL_326: throw ProjectData.CreateProjectError(-2146828237); IL_331: if (num10 != 0) { ProjectData.ClearProjectError(); } }