public void ChengTai3() { ObjectIdCollection objectIdCollection = new ObjectIdCollection(); Point3d point = CAD.GetPoint("选择插入点: "); Point3d point3d; if (!(point == point3d)) { objectIdCollection.Add(CAD.AddPoint(point)); long num = Conversions.ToLong(Interaction.InputBox("输入桩直径或边长", "三桩承台", "400", -1, -1)); long num2 = Conversions.ToLong(Interaction.InputBox("输入桩中心距(mm)", "三桩承台", "1400", -1, -1)); Point3d pointAngle = CAD.GetPointAngle(point, (double)num2 * Math.Sqrt(3.0) / 3.0, 90.0); objectIdCollection.Add(CAD.AddPoint(pointAngle)); Point3d pointAngle2 = CAD.GetPointAngle(point, (double)num2 * Math.Sqrt(3.0) / 3.0, 210.0); objectIdCollection.Add(CAD.AddPoint(pointAngle2)); Point3d pointAngle3 = CAD.GetPointAngle(point, (double)num2 * Math.Sqrt(3.0) / 3.0, -30.0); objectIdCollection.Add(CAD.AddPoint(pointAngle3)); double r = 2.0 * Math.Sqrt(3.0) / 3.0 * (double)num; Point3d pointAngle4 = CAD.GetPointAngle(pointAngle, r, 60.0); Point3d pointAngle5 = CAD.GetPointAngle(pointAngle, r, 120.0); Point3d pointAngle6 = CAD.GetPointAngle(pointAngle2, r, 180.0); Point3d pointAngle7 = CAD.GetPointAngle(pointAngle2, r, 240.0); Point3d pointAngle8 = CAD.GetPointAngle(pointAngle3, r, 300.0); Point3d pointAngle9 = CAD.GetPointAngle(pointAngle3, r, 360.0); Polyline polyline = new Polyline(); Polyline polyline2 = polyline; int num3 = 0; Point2d point2d; point2d..ctor(pointAngle4.X, pointAngle4.Y); polyline2.AddVertexAt(num3, point2d, 0.0, 0.0, 0.0); Polyline polyline3 = polyline; int num4 = 1; point2d..ctor(pointAngle5.X, pointAngle5.Y); polyline3.AddVertexAt(num4, point2d, 0.0, 0.0, 0.0); Polyline polyline4 = polyline; int num5 = 2; point2d..ctor(pointAngle6.X, pointAngle6.Y); polyline4.AddVertexAt(num5, point2d, 0.0, 0.0, 0.0); Polyline polyline5 = polyline; int num6 = 3; point2d..ctor(pointAngle7.X, pointAngle7.Y); polyline5.AddVertexAt(num6, point2d, 0.0, 0.0, 0.0); Polyline polyline6 = polyline; int num7 = 4; point2d..ctor(pointAngle8.X, pointAngle8.Y); polyline6.AddVertexAt(num7, point2d, 0.0, 0.0, 0.0); Polyline polyline7 = polyline; int num8 = 5; point2d..ctor(pointAngle9.X, pointAngle9.Y); polyline7.AddVertexAt(num8, point2d, 0.0, 0.0, 0.0); polyline.Closed = true; objectIdCollection.Add(CAD.AddEnt(polyline).ObjectId); Class36.smethod_18(objectIdCollection); } }
public void flower(object r, object px, object py, object pi, object col) { object obj = checked ((int)Math.Round((double)(unchecked (8f - VBMath.Rnd(1f) * 5f)))); short num; if (Operators.ConditionalCompareObjectEqual(Operators.ModObject(obj, 2), 0, false)) { num = 2; } else { num = 1; } Point3d p = default(Point3d); Point3d point3d = default(Point3d); float num2 = 0f; float num3 = Conversions.ToSingle(Operators.AddObject(Operators.MultiplyObject(num, pi), Operators.DivideObject(pi, Operators.MultiplyObject(10, obj)))); float num4 = Conversions.ToSingle(Operators.DivideObject(pi, Operators.MultiplyObject(15, obj))); float limit = num3; float num5 = num2; while (ObjectFlowControl.ForLoopControl.ForNextCheckR4(num5, limit, num4)) { float num6 = Conversions.ToSingle(Operators.AddObject(Operators.MultiplyObject(Operators.AddObject(Operators.MultiplyObject(Operators.DivideObject(r, 4), Math.Sin(Conversions.ToDouble(Operators.MultiplyObject(Operators.MultiplyObject(3, obj), num5)))), Operators.MultiplyObject(r, Math.Sin(Conversions.ToDouble(Operators.MultiplyObject(obj, num5))))), Math.Cos((double)num5)), px)); float num7 = Conversions.ToSingle(Operators.AddObject(Operators.MultiplyObject(Operators.AddObject(Operators.MultiplyObject(Operators.DivideObject(r, 4), Math.Sin(Conversions.ToDouble(Operators.MultiplyObject(Operators.MultiplyObject(3, obj), num5)))), Operators.MultiplyObject(r, Math.Sin(Conversions.ToDouble(Operators.MultiplyObject(obj, num5))))), Math.Sin((double)num5)), py)); if (num5 == 0f) { Point3d p2; p2..ctor((double)num6, (double)num7, 0.0); CAD.AddPoint(p2); p..ctor((double)num6, (double)num7, 0.0); } else { point3d..ctor((double)num6, (double)num7, 0.0); CAD.AddLine(p, point3d, "0"); p..ctor((double)num6, (double)num7, 0.0); p = point3d; } num5 += num4; } }
public void TcFace() { int num; int num4; object obj2; try { IL_01: ProjectData.ClearProjectError(); num = -2; IL_09: int num2 = 2; Document mdiActiveDocument = Application.DocumentManager.MdiActiveDocument; IL_16: num2 = 3; Database database = mdiActiveDocument.Database; IL_1F: num2 = 4; using (Transaction transaction = database.TransactionManager.StartTransaction()) { TypedValue[] array = new TypedValue[1]; Array array2 = array; TypedValue typedValue; typedValue..ctor(0, "3DFACE"); array2.SetValue(typedValue, 0); SelectionFilter selectionFilter = new SelectionFilter(array); PromptSelectionResult selection = mdiActiveDocument.Editor.GetSelection(selectionFilter); if (selection.Status == 5100) { SelectionSet value = selection.Value; IEnumerator enumerator = value.GetEnumerator(); while (enumerator.MoveNext()) { object obj = enumerator.Current; SelectedObject selectedObject = (SelectedObject)obj; Face face = (Face)transaction.GetObject(selectedObject.ObjectId, 1); Interaction.MsgBox(face.GetVertexAt(0).ToString(), MsgBoxStyle.OkOnly, null); CAD.AddPoint(face.GetVertexAt(0)); } if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } transaction.Commit(); } IL_121: num2 = 6; if (Information.Err().Number <= 0) { goto IL_146; } IL_132: num2 = 7; Interaction.MsgBox(Information.Err().Description, MsgBoxStyle.OkOnly, null); IL_146: goto IL_1C2; IL_148: int num3 = num4 + 1; num4 = 0; @switch(ICSharpCode.Decompiler.ILAst.ILLabel[], num3); IL_17C: goto IL_1B7; IL_17E: num4 = num2; if (num <= -2) { goto IL_148; } @switch(ICSharpCode.Decompiler.ILAst.ILLabel[], num); IL_194 :; } catch when(endfilter(obj2 is Exception & num != 0 & num4 == 0)) { Exception ex = (Exception)obj3; goto IL_17E; } IL_1B7: throw ProjectData.CreateProjectError(-2146828237); IL_1C2: if (num4 != 0) { ProjectData.ClearProjectError(); } }
public void TcFlower() { float[] array = new float[3]; float[] array2 = new float[3]; float[] array3 = new float[3]; object obj = 3.1415926535897931; object obj2 = 400; object obj3 = 300; object obj4 = 30; ColorRGB colorRGB; colorRGB..ctor(255.0, 0.0, 0.0); this.flower(RuntimeHelpers.GetObjectValue(obj4), RuntimeHelpers.GetObjectValue(obj2), RuntimeHelpers.GetObjectValue(obj3), RuntimeHelpers.GetObjectValue(obj), colorRGB); array[0] = 7f; array2[0] = 43.6f; array3[0] = 24.5f; array[1] = 17f; array2[1] = 77.5f; array3[1] = 18f; array[2] = 31f; array2[2] = 102f; array3[2] = 13f; object value = 0; VBMath.Randomize(Conversions.ToDouble(value)); short num = 0; do { object right = array[(int)num]; object left = array2[(int)num]; obj4 = array3[(int)num]; float num2; if (num == 2) { num2 = Conversions.ToSingle(Operators.DivideObject(Operators.MultiplyObject(2, obj), right)); } else { num2 = 0f; } float num3 = 0f; float num4 = Conversions.ToSingle(Operators.SubtractObject(Operators.MultiplyObject(2, obj), num2)); float num5 = Conversions.ToSingle(Operators.DivideObject(Operators.MultiplyObject(2, obj), right)); float limit = num4; float num6 = num3; while (ObjectFlowControl.ForLoopControl.ForNextCheckR4(num6, limit, num5)) { float num7 = Conversions.ToSingle(Operators.AddObject(obj2, Operators.MultiplyObject(left, Math.Cos((double)num6)))); float num8 = Conversions.ToSingle(Operators.AddObject(obj3, Operators.MultiplyObject(left, Math.Sin((double)num6)))); colorRGB..ctor(255.0, 255.0, 0.0); this.flower(RuntimeHelpers.GetObjectValue(obj4), num7, num8, RuntimeHelpers.GetObjectValue(obj), colorRGB); num6 += num5; } num += 1; }while (num <= 2); Point3d p = default(Point3d); Point3d point3d = default(Point3d); float num9 = 0f; float num10 = Conversions.ToSingle(Operators.MultiplyObject(14, obj)); float num11 = Conversions.ToSingle(Operators.DivideObject(obj, 60)); float limit2 = num10; float num12 = num9; while (ObjectFlowControl.ForLoopControl.ForNextCheckR4(num12, limit2, num11)) { float num13 = Conversions.ToSingle(Operators.AddObject(obj2, 144.0 * (1.0 + 0.2 * Math.Sin(9.06 * (double)num12)) * Math.Cos((double)num12))); float num14 = Conversions.ToSingle(Operators.AddObject(obj3, 144.0 * (1.0 + 0.2 * Math.Sin(9.06 * (double)num12)) * Math.Sin((double)num12))); if (num12 == 0f) { p..ctor((double)num13, (double)num14, 0.0); Point3d p2; p2..ctor((double)num13, (double)num14, 0.0); CAD.AddPoint(p2); } else { point3d..ctor((double)num13, (double)num14, 0.0); CAD.AddLine(p, point3d, "0"); p..ctor((double)num13, (double)num14, 0.0); p = point3d; } num12 += num11; } }
public void 等距布块() { int num; int num31; object obj; try { IL_01: ProjectData.ClearProjectError(); num = -2; IL_09: int num2 = 2; Document mdiActiveDocument = Application.DocumentManager.MdiActiveDocument; IL_16: num2 = 3; Database database = mdiActiveDocument.Database; IL_1F: num2 = 4; Editor editor = Application.DocumentManager.MdiActiveDocument.Editor; IL_32: num2 = 5; PromptEntityOptions promptEntityOptions = new PromptEntityOptions("选择一个对象:"); IL_40: num2 = 6; PromptEntityResult entity = editor.GetEntity(promptEntityOptions); IL_4D: num2 = 7; using (Transaction transaction = database.TransactionManager.StartTransaction()) { object @object = transaction.GetObject(entity.ObjectId, 1); string fullName = @object.GetType().FullName; string left = fullName.Substring(Strings.InStrRev(fullName, ".", -1, CompareMethod.Binary)); double num3 = Class36.smethod_30("指定长度(4000):", 4000.0); string text = Conversions.ToString(Application.GetSystemVariable("USERS1")); if (Operators.CompareString(text, "", false) != 0) { if (Operators.CompareString(left, "Line", false) == 0) { Line line = (Line)transaction.GetObject(entity.ObjectId, 1); double a = line.StartPoint.DistanceTo(line.EndPoint); short num6; short num7; checked { short num4 = (short)((long)Math.Round(a) / (long)Math.Round(num3)); short num5 = 0; num6 = num4 - 1; num7 = num5; } for (;;) { short num8 = num7; short num9 = num6; if (num8 > num9) { break; } Point3d pointAtDist = line.GetPointAtDist(num3 * (double)(checked (num7 + 1))); CAD.AddPoint(pointAtDist); Class36.smethod_75(pointAtDist, text); num7 += 1; } } else if (Operators.CompareString(left, "Polyline", false) == 0) { Polyline polyline = (Polyline)transaction.GetObject(entity.ObjectId, 1); double distanceAtParameter = polyline.GetDistanceAtParameter(polyline.EndParam); short num12; short num13; checked { short num10 = (short)((long)Math.Round(distanceAtParameter) / (long)Math.Round(num3)); short num11 = 0; num12 = num10 - 1; num13 = num11; } for (;;) { short num14 = num13; short num9 = num12; if (num14 > num9) { break; } Point3d pointAtDist2 = polyline.GetPointAtDist(num3 * (double)(checked (num13 + 1))); CAD.AddPoint(pointAtDist2); Class36.smethod_75(pointAtDist2, text); num13 += 1; } } else if (Operators.CompareString(left, "Arc", false) == 0) { Arc arc = (Arc)transaction.GetObject(entity.ObjectId, 1); double distanceAtParameter2 = arc.GetDistanceAtParameter(arc.EndParam); short num17; short num18; checked { short num15 = (short)((long)Math.Round(distanceAtParameter2) / (long)Math.Round(num3)); short num16 = 0; num17 = num15 - 1; num18 = num16; } for (;;) { short num19 = num18; short num9 = num17; if (num19 > num9) { break; } Point3d pointAtDist3 = arc.GetPointAtDist(num3 * (double)(checked (num18 + 1))); CAD.AddPoint(pointAtDist3); Class36.smethod_75(pointAtDist3, text); num18 += 1; } } else if (Operators.CompareString(left, "Circle", false) == 0) { Circle circle = (Circle)transaction.GetObject(entity.ObjectId, 1); double distanceAtParameter3 = circle.GetDistanceAtParameter(circle.EndParam); short num22; short num23; checked { short num20 = (short)((long)Math.Round(distanceAtParameter3) / (long)Math.Round(num3)); short num21 = 0; num22 = num20 - 1; num23 = num21; } for (;;) { short num24 = num23; short num9 = num22; if (num24 > num9) { break; } Point3d pointAtDist4 = circle.GetPointAtDist(num3 * (double)(checked (num23 + 1))); CAD.AddPoint(pointAtDist4); Class36.smethod_75(pointAtDist4, text); num23 += 1; } } else if (Operators.CompareString(left, "Spline", false) == 0) { Spline spline = (Spline)transaction.GetObject(entity.ObjectId, 1); double distanceAtParameter4 = spline.GetDistanceAtParameter(spline.EndParam); short num27; short num28; checked { short num25 = (short)((long)Math.Round(distanceAtParameter4) / (long)Math.Round(num3)); short num26 = 0; num27 = num25 - 1; num28 = num26; } for (;;) { short num29 = num28; short num9 = num27; if (num29 > num9) { break; } Point3d pointAtDist5 = spline.GetPointAtDist(num3 * (double)(checked (num28 + 1))); CAD.AddPoint(pointAtDist5); Class36.smethod_75(pointAtDist5, text); num28 += 1; } } } transaction.Commit(); } IL_3C7: num2 = 9; if (Information.Err().Number == 0) { goto IL_3F1; } IL_3DC: num2 = 10; Interaction.MsgBox(Information.Err().Description, MsgBoxStyle.OkOnly, null); IL_3F1: goto IL_478; IL_3F6: int num30 = num31 + 1; num31 = 0; @switch(ICSharpCode.Decompiler.ILAst.ILLabel[], num30); IL_432: goto IL_46D; IL_434: num31 = num2; if (num <= -2) { goto IL_3F6; } @switch(ICSharpCode.Decompiler.ILAst.ILLabel[], num); IL_44A :; } catch when(endfilter(obj is Exception & num != 0 & num31 == 0)) { Exception ex = (Exception)obj2; goto IL_434; } IL_46D: throw ProjectData.CreateProjectError(-2146828237); IL_478: if (num31 != 0) { ProjectData.ClearProjectError(); } }