Example #1
0
        public void TcLJM()
        {
            LJM_Frm ljm_Frm = new LJM_Frm();

            ljm_Frm.ShowDialog();
            checked
            {
                if (ljm_Frm.DialogResult == DialogResult.OK)
                {
                    string text = ljm_Frm.TextBox1.Text;
                    text = text.Replace("\\", "/");
                    text = text.Replace(" ", "/");
                    text = text.Replace(",", "/");
                    text = text.Replace(",", "/");
                    text = text.Replace("、", "/");
                    int     num   = Strings.InStr(text, "/", CompareMethod.Binary);
                    long    num2  = (long)Math.Round(unchecked (Conversion.Val(text.Substring(0, checked (num - 1))) * 5.0));
                    long    num3  = (long)Math.Round(unchecked (Conversion.Val(text.Substring(num, checked (text.Length - num))) * 5.0));
                    Point3d point = CAD.GetPoint("选择插入点: ");
                    Point3d point3d;
                    if (!(point == point3d))
                    {
                        Point3d pointXY     = CAD.GetPointXY(point, (double)num2 / 2.0, (double)num3 / 2.0);
                        Point3d pointXY2    = CAD.GetPointXY(point, (double)(0L - num2) / 2.0, (double)num3 / 2.0);
                        Point3d pointXY3    = CAD.GetPointXY(point, (double)(0L - num2) / 2.0, (double)(0L - num3) / 2.0);
                        Point3d pointXY4    = CAD.GetPointXY(point, (double)num2 / 2.0, (double)(0L - num3) / 2.0);
                        Point3d pointAngle  = CAD.GetPointAngle(pointXY, 250.0, -135.0);
                        Point3d point3d2    = CAD.GetPointAngle(pointXY2, 250.0, -45.0);
                        Point3d pointAngle2 = CAD.GetPointAngle(pointXY3, 250.0, 45.0);
                        Point3d pointAngle3 = CAD.GetPointAngle(pointXY4, 250.0, 135.0);
                        Point3d pointXY5    = CAD.GetPointXY(point, (double)(0L - num2) / 2.0, (double)(0L - num3) / 2.0);
                        CAD.AddPlinePxy(pointXY5, (double)num2, (double)num3, 0.0, "");
                        text = JG.ReplaceGJ(ljm_Frm.TextBox2.Text);
                        num  = NF.InStr_N(text, "/");
                        Point3d[] array;
                        Point3d[] array2;
                        if (num == 1)
                        {
                            short num4 = (short)Strings.InStr(text, "/", CompareMethod.Binary);
                            short num5 = (short)Math.Round(Conversion.Val(text.Substring((int)(num4 - 9), 1)));
                            short num6 = (short)Math.Round(Conversion.Val(text.Substring((int)num4, 1)));
                            array    = new Point3d[(int)(unchecked (num5 + num6) - 1 + 1)];
                            array2   = new Point3d[(int)(num5 - 3 + 1)];
                            array[0] = point3d2;
                            Class36.smethod_16(array[0], 50.0, "墙柱纵筋");
                            array[(int)(unchecked (num5 + num6) - 1)] = pointAngle;
                            Class36.smethod_16(array[(int)(unchecked (num5 + num6) - 1)], 50.0, "墙柱纵筋");
                            num = (int)Math.Round((double)(num2 - 354L) / (double)(num5 - 2 + 1));
                            short num7 = 1;
                            short num8 = num5 - 2;
                            num4 = num7;
                            for (;;)
                            {
                                short num9  = num4;
                                short num10 = num8;
                                if (num9 > num10)
                                {
                                    break;
                                }
                                array[(int)num4] = CAD.GetPointXY(array[0], (double)(num * (int)num4), 0.0);
                                Class36.smethod_16(array[(int)num4], 50.0, "墙柱纵筋");
                                array2[(int)(num4 - 1)] = array[(int)num4];
                                unchecked
                                {
                                    num4 += 1;
                                }
                            }
                            num = (int)Math.Round((double)(num2 - 354L) / (double)(num6 - 1));
                            short num11 = num5;
                            short num12 = unchecked (num5 + num6) - 1;
                            num4 = num11;
                            for (;;)
                            {
                                short num13 = num4;
                                short num10 = num12;
                                if (num13 > num10)
                                {
                                    break;
                                }
                                array[(int)num4] = CAD.GetPointXY(array[0], (double)(num * (int)(unchecked (num4 - num5))), -150.0);
                                Class36.smethod_16(array[(int)num4], 50.0, "墙柱纵筋");
                                unchecked
                                {
                                    num4 += 1;
                                }
                            }
                            Class36.smethod_83(array, 500L, text, 1, 100.0);
                        }
                        else if (num == 2)
                        {
                            short num14 = (short)Strings.InStr(text, "/", CompareMethod.Binary);
                            short num15 = (short)Math.Round(Conversion.Val(text.Substring((int)(num14 - 9), 1)));
                            short num16 = (short)Math.Round(Conversion.Val(text.Substring((int)num14, 1)));
                            short num17 = (short)Math.Round(Conversion.Val(text.Substring((int)(num14 + 9), 1)));
                            array    = new Point3d[(int)(unchecked (num15 + num16 + num17) - 1 + 1)];
                            array2   = new Point3d[(int)(num15 - 3 + 1)];
                            array[0] = point3d2;
                            Class36.smethod_16(array[0], 50.0, "墙柱纵筋");
                            array[(int)(unchecked (num15 + num16 + num17) - 1)] = pointAngle;
                            Class36.smethod_16(array[(int)(unchecked (num15 + num16 + num17) - 1)], 50.0, "墙柱纵筋");
                            num = (int)Math.Round((double)(num2 - 354L) / (double)(num15 - 2 + 1));
                            short num18 = 1;
                            short num19 = num15 - 2;
                            num14 = num18;
                            for (;;)
                            {
                                short num20 = num14;
                                short num10 = num19;
                                if (num20 > num10)
                                {
                                    break;
                                }
                                array[(int)num14] = CAD.GetPointXY(array[0], (double)(num * (int)num14), 0.0);
                                Class36.smethod_16(array[(int)num14], 50.0, "墙柱纵筋");
                                array2[(int)(num14 - 1)] = array[(int)num14];
                                unchecked
                                {
                                    num14 += 1;
                                }
                            }
                            num = (int)Math.Round((double)(num2 - 354L) / (double)(num16 - 1));
                            short num21 = num15;
                            short num22 = unchecked (num15 + num16) - 1;
                            num14 = num21;
                            for (;;)
                            {
                                short num23 = num14;
                                short num10 = num22;
                                if (num23 > num10)
                                {
                                    break;
                                }
                                array[(int)num14] = CAD.GetPointXY(array[0], (double)(num * (int)(unchecked (num14 - num15))), -150.0);
                                Class36.smethod_16(array[(int)num14], 50.0, "墙柱纵筋");
                                unchecked
                                {
                                    num14 += 1;
                                }
                            }
                            num = (int)Math.Round((double)(num2 - 354L) / (double)(num17 - 1));
                            short num24 = unchecked (num15 + num16);
                            short num25 = unchecked (num15 + num16 + num17) - 1;
                            num14 = num24;
                            for (;;)
                            {
                                short num26 = num14;
                                short num10 = num25;
                                if (num26 > num10)
                                {
                                    break;
                                }
                                array[(int)num14] = CAD.GetPointXY(array[0], (double)(num * (int)(unchecked (num14 - num15 - num16))), -300.0);
                                Class36.smethod_16(array[(int)num14], 50.0, "墙柱纵筋");
                                unchecked
                                {
                                    num14 += 1;
                                }
                            }
                            Class36.smethod_83(array, 500L, text, 1, 100.0);
                        }
                        else
                        {
                            short num27 = (short)Strings.InStr(text, "+", CompareMethod.Binary);
                            short num28;
                            if (num27 > 0)
                            {
                                num28 = (short)Math.Round(unchecked (Conversion.Val(text.Substring((int)(checked (num27 - 9)), 1)) + Conversion.Val(text.Substring((int)num27, 1))));
                            }
                            else
                            {
                                num28 = (short)Math.Round(Conversion.Val(text.Substring(0, 1)));
                            }
                            array    = new Point3d[(int)(num28 - 1 + 1)];
                            array2   = new Point3d[(int)(num28 - 3 + 1)];
                            array[0] = point3d2;
                            Class36.smethod_16(array[0], 50.0, "墙柱纵筋");
                            array[(int)(num28 - 1)] = pointAngle;
                            Class36.smethod_16(array[(int)(num28 - 1)], 50.0, "墙柱纵筋");
                            num = (int)Math.Round((double)(num2 - 354L) / (double)(num28 - 2 + 1));
                            short num29 = 1;
                            short num30 = num28 - 2;
                            num27 = num29;
                            for (;;)
                            {
                                short num31 = num27;
                                short num10 = num30;
                                if (num31 > num10)
                                {
                                    break;
                                }
                                array[(int)num27] = CAD.GetPointXY(array[0], (double)(num * (int)num27), 0.0);
                                Class36.smethod_16(array[(int)num27], 50.0, "墙柱纵筋");
                                array2[(int)(num27 - 1)] = array[(int)num27];
                                unchecked
                                {
                                    num27 += 1;
                                }
                            }
                            Class36.smethod_83(array, 500L, text, 1, 100.0);
                        }
                        text = JG.ReplaceGJ(ljm_Frm.TextBox3.Text);
                        num  = NF.InStr_N(text, "/");
                        if (num == 1)
                        {
                            short num32 = (short)Strings.InStr(text, "/", CompareMethod.Binary);
                            short num33 = (short)Math.Round(Conversion.Val(text.Substring((int)(num32 - 9), 1)));
                            short num34 = (short)Math.Round(Conversion.Val(text.Substring((int)num32, 1)));
                            array    = new Point3d[(int)(unchecked (num34 + num33) - 1 + 1)];
                            array[0] = pointAngle2;
                            Class36.smethod_16(array[0], 50.0, "墙柱纵筋");
                            array[(int)(unchecked (num34 + num33) - 1)] = pointAngle3;
                            Class36.smethod_16(array[(int)(unchecked (num34 + num33) - 1)], 50.0, "墙柱纵筋");
                            num = (int)Math.Round((double)(num2 - 354L) / (double)(num34 - 2 + 1));
                            short num35 = 1;
                            short num36 = num34 - 2;
                            num32 = num35;
                            for (;;)
                            {
                                short num37 = num32;
                                short num10 = num36;
                                if (num37 > num10)
                                {
                                    break;
                                }
                                array[(int)num32] = CAD.GetPointXY(array[0], (double)(num * (int)num32), 0.0);
                                Class36.smethod_16(array[(int)num32], 50.0, "墙柱纵筋");
                                unchecked
                                {
                                    num32 += 1;
                                }
                            }
                            num = (int)Math.Round((double)(num2 - 354L) / (double)(num33 - 1));
                            short num38 = num34;
                            short num39 = unchecked (num34 + num33) - 1;
                            num32 = num38;
                            for (;;)
                            {
                                short num40 = num32;
                                short num10 = num39;
                                if (num40 > num10)
                                {
                                    break;
                                }
                                array[(int)num32] = CAD.GetPointXY(array[0], (double)(num * (int)(unchecked (num32 - num34))), 150.0);
                                Class36.smethod_16(array[(int)num32], 50.0, "墙柱纵筋");
                                unchecked
                                {
                                    num32 += 1;
                                }
                            }
                            Class36.smethod_83(array, 500L, text, 4, 100.0);
                        }
                        else if (num == 2)
                        {
                            short num41 = (short)Strings.InStr(text, "/", CompareMethod.Binary);
                            short num42 = (short)Math.Round(Conversion.Val(text.Substring((int)(num41 - 9), 1)));
                            short num43 = (short)Math.Round(Conversion.Val(text.Substring((int)num41, 1)));
                            short num44 = (short)Math.Round(Conversion.Val(text.Substring((int)(num41 + 9), 1)));
                            array    = new Point3d[(int)(unchecked (num44 + num43 + num42) - 1 + 1)];
                            array[0] = pointAngle2;
                            Class36.smethod_16(array[0], 50.0, "墙柱纵筋");
                            array[(int)(unchecked (num44 + num43 + num42) - 1)] = pointAngle3;
                            Class36.smethod_16(array[(int)(unchecked (num44 + num43 + num42) - 1)], 50.0, "墙柱纵筋");
                            num = (int)Math.Round((double)(num2 - 354L) / (double)(num44 - 2 + 1));
                            short num45 = 1;
                            short num46 = num44 - 2;
                            num41 = num45;
                            for (;;)
                            {
                                short num47 = num41;
                                short num10 = num46;
                                if (num47 > num10)
                                {
                                    break;
                                }
                                array[(int)num41] = CAD.GetPointXY(array[0], (double)(num * (int)num41), 0.0);
                                Class36.smethod_16(array[(int)num41], 50.0, "墙柱纵筋");
                                unchecked
                                {
                                    num41 += 1;
                                }
                            }
                            num = (int)Math.Round((double)(num2 - 354L) / (double)(num43 - 1));
                            short num48 = num44;
                            short num49 = unchecked (num44 + num43) - 1;
                            num41 = num48;
                            for (;;)
                            {
                                short num50 = num41;
                                short num10 = num49;
                                if (num50 > num10)
                                {
                                    break;
                                }
                                array[(int)num41] = CAD.GetPointXY(array[0], (double)(num * (int)(unchecked (num41 - num44))), 150.0);
                                Class36.smethod_16(array[(int)num41], 50.0, "墙柱纵筋");
                                unchecked
                                {
                                    num41 += 1;
                                }
                            }
                            num = (int)Math.Round((double)(num2 - 354L) / (double)(num42 - 1));
                            short num51 = unchecked (num44 + num43);
                            short num52 = unchecked (num44 + num43 + num42) - 1;
                            num41 = num51;
                            for (;;)
                            {
                                short num53 = num41;
                                short num10 = num52;
                                if (num53 > num10)
                                {
                                    break;
                                }
                                array[(int)num41] = CAD.GetPointXY(array[0], (double)(num * (int)(unchecked (num41 - num44 - num43))), 300.0);
                                Class36.smethod_16(array[(int)num41], 50.0, "墙柱纵筋");
                                unchecked
                                {
                                    num41 += 1;
                                }
                            }
                            Class36.smethod_83(array, 500L, text, 4, 100.0);
                        }
                        else
                        {
                            short num54 = (short)Strings.InStr(text, "+", CompareMethod.Binary);
                            short num55;
                            if (num54 > 0)
                            {
                                num55 = (short)Math.Round(unchecked (Conversion.Val(text.Substring((int)(checked (num54 - 9)), 1)) + Conversion.Val(text.Substring((int)num54, 1))));
                            }
                            else
                            {
                                num55 = (short)Math.Round(Conversion.Val(text.Substring(0, 1)));
                            }
                            array    = new Point3d[(int)(num55 - 1 + 1)];
                            array[0] = pointAngle2;
                            Class36.smethod_16(array[0], 50.0, "墙柱纵筋");
                            array[(int)(num55 - 1)] = pointAngle3;
                            Class36.smethod_16(array[(int)(num55 - 1)], 50.0, "墙柱纵筋");
                            num = (int)Math.Round((double)(num2 - 354L) / (double)(num55 - 2 + 1));
                            short num56 = 1;
                            short num57 = num55 - 2;
                            num54 = num56;
                            for (;;)
                            {
                                short num58 = num54;
                                short num10 = num57;
                                if (num58 > num10)
                                {
                                    break;
                                }
                                array[(int)num54] = CAD.GetPointXY(array[0], (double)(num * (int)num54), 0.0);
                                Class36.smethod_16(array[(int)num54], 50.0, "墙柱纵筋");
                                unchecked
                                {
                                    num54 += 1;
                                }
                            }
                            Class36.smethod_83(array, 500L, text, 4, 100.0);
                        }
                        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);
                        unchecked
                        {
                            pointXY5 = CAD.GetPointXY(point, (double)(checked (0L - num2)) / 2.0 - 500.0, 0.0);
                            CAD.AddLineDim(pointXY2, pointXY3, pointXY5, 0.2, dimID, -1.0);
                            pointXY5 = CAD.GetPointXY(point, 0.0, (double)(checked (0L - num3)) / 2.0 - 1000.0);
                            CAD.AddLineDim(pointXY3, pointXY4, pointXY5, 0.2, dimID, -1.0);
                            string string_;
                            if (Conversions.ToDouble(ljm_Frm.TextBox7.Text) == 0.0)
                            {
                                string_ = "%%p0.000";
                            }
                            else
                            {
                                string_ = ljm_Frm.TextBox7.Text;
                            }
                            if (Operators.CompareString(ljm_Frm.Button1.Text, "顶部标高", false) == 0)
                            {
                                pointXY5 = CAD.GetPointXY(point, (double)(checked (0L - num2)) / 2.0 - 650.0, (double)num3 / 2.0);
                                Class36.smethod_81(pointXY5, 2, 1.0);
                                pointXY5 = CAD.GetPointXY(pointXY5, -300.0, 350.0);
                                Class36.smethod_57(string_, pointXY5, 300.0, 2, 0, "STANDARD", 0.0);
                            }
                            else
                            {
                                pointXY5 = CAD.GetPointXY(point, (double)(checked (0L - num2)) / 2.0 - 650.0, (double)(checked (0L - num3)) / 2.0);
                                Class36.smethod_81(pointXY5, 3, 1.0);
                                pointXY5 = CAD.GetPointXY(pointXY5, -300.0, -350.0);
                                Class36.smethod_57(string_, pointXY5, 300.0, 2, 3, "STANDARD", 0.0);
                            }
                        }
                        if (Operators.CompareString(ljm_Frm.TextBox5.Text, "", false) != 0)
                        {
                            text = JG.ReplaceGJ(ljm_Frm.TextBox5.Text);
                            num  = (int)Math.Round(Conversion.Val(text.Substring(0, 1)));
                            if (num % 2 == 0)
                            {
                                num  = (int)Math.Round((double)num / 2.0);
                                text = Conversions.ToString(2) + text.Substring(1, text.Length - 1);
                                short num59 = 0;
                                short num60 = (short)(num - 1);
                                short num61 = num59;
                                unchecked
                                {
                                    for (;;)
                                    {
                                        short num62 = num61;
                                        short num10 = num60;
                                        if (num62 > num10)
                                        {
                                            break;
                                        }
                                        array    = new Point3d[3];
                                        array[0] = CAD.GetPointXY(pointAngle2, 0.0, checked ((double)(num3 - 354L) / (double)(num + 1)) * (double)(checked (num61 + 1)));
                                        Class36.smethod_16(array[0], 50.0, "墙柱纵筋");
                                        array[2] = CAD.GetPointXY(pointAngle3, 0.0, checked ((double)(num3 - 354L) / (double)(num + 1)) * (double)(checked (num61 + 1)));
                                        Class36.smethod_16(array[2], 50.0, "墙柱纵筋");
                                        Class36.smethod_7(array[0], array[2]);
                                        array[1] = Class36.smethod_46(array[0], array[2]);
                                        array[1] = CAD.GetPointXY(array[1], 0.0, 74.0);
                                        Class36.smethod_83(array, 300L, text, 1, 100.0);
                                        num61 += 1;
                                    }
                                }
                            }
                        }
                        else
                        {
                            num = 2;
                        }
                        pointAngle = CAD.GetPointAngle(pointXY2, 100.0, -45.0);
                        point3d2   = CAD.GetPointAngle(pointXY4, 100.0, 135.0);
                        Class36.smethod_9(pointAngle, point3d2);
                        array = new Point3d[]
                        {
                            CAD.GetPointXY(point3d2, 0.0, (double)(num3 - 354L) / unchecked ((double)num / 2.0 + 1.0) / 2.0)
                        };
                        text = JG.ReplaceGJ(ljm_Frm.TextBox4.Text);
                        Class36.smethod_83(array, 0L, text, 1, 100.0);
                        num = Strings.InStr(text, "(", CompareMethod.Binary);
                        if (num != 0)
                        {
                            short num63 = Conversions.ToShort(text.Substring(num, 1));
                            if (num63 == 3)
                            {
                                Class36.smethod_7(array2[0], CAD.GetPointXY(array2[0], 0.0, (double)(0L - num3 + 354L)));
                            }
                            else if (num63 == 4)
                            {
                                pointAngle = CAD.GetPointAngle(array2[0], 150.0, 135.0);
                                point3d2   = CAD.GetPointXY(array2[0], unchecked (array2[1].X - array2[0].X), (double)(0L - num3 + 354L));
                                point3d2   = CAD.GetPointAngle(point3d2, 150.0, -45.0);
                                Class36.smethod_9(pointAngle, point3d2);
                            }
                        }
                        pointXY5 = CAD.GetPointXY(point, -400.0, unchecked ((double)(checked (0L - num3)) / 2.0 - 2500.0));
                        Class36.smethod_6(pointXY5, "L1", 100.0, "1:20");
                    }
                }
            }
        }
Example #2
0
        private void Button1_Click(object sender, EventArgs e)
        {
            int    num2;
            int    num11;
            object obj;

            try
            {
IL_01:
                int num = 1;
                Class36.SetFocus(Application.DocumentManager.MdiActiveDocument.Window.Handle);
IL_1D:
                num = 2;
                DocumentLock documentLock = Application.DocumentManager.MdiActiveDocument.LockDocument();
IL_30:
                ProjectData.ClearProjectError();
                num2 = -2;
IL_39:
                num = 4;
                double scale = CAD.GetScale();
IL_42:
                num = 5;
                if (!this.RadioButton1.Checked)
                {
                    goto IL_433;
                }
IL_54:
                num = 6;
                string text = this.TextBox1.Text;
IL_63:
                num  = 7;
                text = Strings.Replace(text, "\r\n", "&", 1, -1, CompareMethod.Binary);
IL_7B:
                num = 8;
                string[] array = new string[1];
IL_85:
                num = 9;
                string s     = text;
                string text2 = "&";
                NF.Str2Arr(s, ref array, ref text2);
IL_9A:
                num = 10;
                ObjectId[] array2;
                Point3d    point3d;
                short      num5;
                short      num6;
                checked
                {
                    short num3 = (short)Information.UBound(array, 1);
IL_A8:
                    num    = 11;
                    array2 = new ObjectId[(int)(num3 + 1 + 1)];
IL_B8:
                    num = 12;
                    point3d..ctor(0.0, 0.0, 0.0);
IL_DD:
                    num       = 13;
                    array2[0] = Class36.smethod_81(point3d, (int)this.short_0, scale).ObjectId;
IL_101:
                    num = 14;
                    short num4 = 0;
                    num5 = num3;
                    num6 = num4;
                }
                for (;;)
                {
                    short num7 = num6;
                    short num8 = num5;
                    if (num7 > num8)
                    {
                        break;
                    }
IL_118:
                    num = 15;
                    if (Operators.CompareString(array[(int)num6], "0.00", false) == 0 | Operators.CompareString(array[(int)num6], "0.000", false) == 0)
                    {
IL_144:
                        num = 16;
                        array[(int)num6] = "%%p0.000";
                    }
IL_151:
                    num = 18;
                    if (num6 >= 1)
                    {
IL_15E:
                        num = 19;
                        array[(int)num6] = "(" + array[(int)num6] + ")";
                    }
IL_17A:
                    num = 21;
                    if (this.short_0 == 1)
                    {
IL_18B:
                        num = 22;
                        Point3d pointXY = CAD.GetPointXY(point3d, 300.0 * scale, 300.0 * scale);
IL_1AF:
                        num = 23;
                        array2[(int)(checked (num6 + 1))] = Class36.smethod_57(array[(int)num6], CAD.GetPointXY(pointXY, 800.0 * scale, (double)(checked (400 * num6 + 100)) * scale), 300.0 * scale, 2, 0, "STANDARD", 0.0);
                    }
                    else
                    {
IL_20F:
                        num = 25;
                        if (this.short_0 == 2)
                        {
IL_220:
                            num = 26;
                            Point3d pointXY = CAD.GetPointXY(point3d, -300.0 * scale, 300.0 * scale);
IL_244:
                            num = 27;
                            array2[(int)(checked (num6 + 1))] = Class36.smethod_57(array[(int)num6], CAD.GetPointXY(pointXY, -800.0 * scale, (double)(checked (400 * num6 + 100)) * scale), 300.0 * scale, 0, 0, "STANDARD", 0.0);
                        }
                        else
                        {
IL_2A4:
                            num = 29;
                            if (this.short_0 == 3)
                            {
IL_2B5:
                                num = 30;
                                Point3d pointXY = CAD.GetPointXY(point3d, -300.0 * scale, -300.0 * scale);
IL_2D9:
                                num = 31;
                                array2[(int)(checked (num6 + 1))] = Class36.smethod_57(array[(int)num6], CAD.GetPointXY(pointXY, -800.0 * scale, (double)(checked (0 - (400 * num6 + 100 + 300))) * scale), 300.0 * scale, 0, 0, "STANDARD", 0.0);
                            }
                            else
                            {
IL_341:
                                num = 33;
                                if (this.short_0 == 4)
                                {
IL_352:
                                    num = 34;
                                    Point3d pointXY = CAD.GetPointXY(point3d, 300.0 * scale, -300.0 * scale);
IL_376:
                                    num = 35;
                                    array2[(int)(checked (num6 + 1))] = Class36.smethod_57(array[(int)num6], CAD.GetPointXY(pointXY, 800.0 * scale, (double)(checked (0 - (400 * num6 + 100 + 300))) * scale), 300.0 * scale, 2, 0, "STANDARD", 0.0);
                                }
                            }
                        }
                    }
IL_3D9:
                    num   = 37;
                    num6 += 1;
                }
IL_3E8:
                num = 38;
                JigEntIDs jigEntIDs = new JigEntIDs();
IL_3F2:
                num = 39;
                JigEntIDs  jigEntIDs2 = jigEntIDs;
                ObjectId[] entIDs     = array2;
                Point3d    basePoint;
                basePoint..ctor(0.0, 0.0, 0.0);
                jigEntIDs2.method_0(entIDs, basePoint);
IL_423:
                num = 40;
                Class36.smethod_55(array2);
                goto IL_77A;
IL_433:
                num = 42;
IL_436:
                num = 43;
                string text3 = this.TextBox1.Text;
IL_446:
                num = 44;
                double num9 = Conversion.Val(text3);
IL_452:
                num = 45;
                ObjectId[] array3 = new ObjectId[2];
IL_45C:
                num = 46;
                Point3d point = CAD.GetPoint("选择插入点: ");
IL_46B:
                num = 47;
                Point3d point3d2;
                if (!(point != point3d2))
                {
                    goto IL_7B0;
                }
IL_47C:
                num = 48;
                bool flag = true;
                for (;;)
                {
IL_75E:
                    num = 53;
                    bool    flag2;
                    Point3d point3d_;
                    if (flag2)
                    {
IL_743:
                        num  = 54;
                        flag = (Class36.smethod_29(point3d_, ref point, "选择下一点: ") != 0);
                    }
                    else
                    {
IL_487:
                        num = 56;
                        if (!flag2)
                        {
IL_491:
                            num      = 57;
                            point3d_ = point;
                        }
                    }
IL_498:
                    num = 59;
                    if (!flag)
                    {
                        break;
                    }
IL_4A2:
                    num       = 60;
                    array3[0] = Class36.smethod_81(point, (int)this.short_0, scale).ObjectId;
IL_4C5:
                    num   = 61;
                    num9 += (point.Y - point3d_.Y) / 1000.0;
IL_4E6:
                    num = 62;
                    string string_;
                    if (num9 == 0.0)
                    {
IL_4F8:
                        num     = 63;
                        string_ = "%%p0.000";
                    }
                    else
                    {
IL_503:
                        num = 65;
IL_506:
                        num     = 66;
                        string_ = string.Format("{0:0.000}", num9);
                    }
IL_51B:
                    num = 68;
                    if (this.short_0 == 1)
                    {
IL_529:
                        num = 69;
                        Point3d pointXY2 = CAD.GetPointXY(point, 300.0 * scale, 300.0 * scale);
IL_54C:
                        num       = 70;
                        array3[1] = Class36.smethod_57(string_, CAD.GetPointXY(pointXY2, 800.0 * scale, 100.0 * scale), 300.0 * scale, 2, 0, "STANDARD", 0.0);
                    }
                    else
                    {
IL_5A0:
                        num = 72;
                        if (this.short_0 == 2)
                        {
IL_5AE:
                            num = 73;
                            Point3d pointXY2 = CAD.GetPointXY(point, -300.0 * scale, 300.0 * scale);
IL_5D1:
                            num       = 74;
                            array3[1] = Class36.smethod_57(string_, CAD.GetPointXY(pointXY2, -800.0 * scale, 100.0 * scale), 300.0 * scale, 0, 0, "STANDARD", 0.0);
                        }
                        else
                        {
IL_625:
                            num = 76;
                            if (this.short_0 == 3)
                            {
IL_633:
                                num = 77;
                                Point3d pointXY2 = CAD.GetPointXY(point, -300.0 * scale, -300.0 * scale);
IL_656:
                                num       = 78;
                                array3[1] = Class36.smethod_57(string_, CAD.GetPointXY(pointXY2, -800.0 * scale, -400.0 * scale), 300.0 * scale, 0, 0, "STANDARD", 0.0);
                            }
                            else
                            {
IL_6AA:
                                num = 80;
                                if (this.short_0 == 4)
                                {
IL_6B8:
                                    num = 81;
                                    Point3d pointXY2 = CAD.GetPointXY(point, 300.0 * scale, -300.0 * scale);
IL_6DB:
                                    num       = 82;
                                    array3[1] = Class36.smethod_57(string_, CAD.GetPointXY(pointXY2, 800.0 * scale, -400.0 * scale), 300.0 * scale, 2, 0, "STANDARD", 0.0);
                                }
                            }
                        }
                    }
IL_72A:
                    num = 84;
                    Class36.smethod_55(array3);
IL_734:
                    num      = 85;
                    point3d_ = point;
IL_73B:
                    num   = 86;
                    flag2 = true;
                }
IL_76A:
                num = 89;
IL_76D:
                num = 90;
                Information.Err().Clear();
                goto IL_77A;
IL_7B0:
                num = 50;
IL_7B3:
                goto IL_99C;
IL_77A:
                num = 94;
                if (Information.Err().Number <= 0)
                {
                    goto IL_7A1;
                }
IL_78C:
                num = 95;
                Interaction.MsgBox(Information.Err().Description, MsgBoxStyle.OkOnly, null);
IL_7A1:
                num = 97;
                documentLock.Dispose();
IL_7AB:
                goto IL_99C;
IL_7B8:
                int num10 = num11 + 1;
                num11     = 0;
                @switch(ICSharpCode.Decompiler.ILAst.ILLabel[], num10);
IL_950:
                goto IL_991;
IL_952:
                num11 = num;
                if (num2 <= -2)
                {
                    goto IL_7B8;
                }
                @switch(ICSharpCode.Decompiler.ILAst.ILLabel[], num2);
                IL_96D :;
            }
            catch when(endfilter(obj is Exception & num2 != 0 & num11 == 0))
            {
                Exception ex = (Exception)obj2;

                goto IL_952;
            }
IL_991:
            throw ProjectData.CreateProjectError(-2146828237);
IL_99C:
            if (num11 != 0)
            {
                ProjectData.ClearProjectError();
            }
        }