public void CreateHatch2() { // 创建填充边界. ObjectId loopId1 = ModelSpace.AddLine(new Point3d(100, 0, 0), new Point3d(0, 0, 0)); ObjectId loopId2 = ModelSpace.AddLine(new Point3d(100, 0, 0), new Point3d(80, 60, 0)); ObjectId loopId3 = ModelSpace.AddLine(new Point3d(80, 60, 0), new Point3d(0, 0, 0)); ObjectId loopId4 = ModelSpace.AddCircle(new Point3d(150, 50, 0), 40); // 定义两个ObjectId集合. ObjectIdCollection loops1 = new ObjectIdCollection(); loops1.Add(loopId1); loops1.Add(loopId2); loops1.Add(loopId3); ObjectIdCollection loops2 = new ObjectIdCollection(); loops2.Add(loopId4); // 定义一个ObjectId集合数组. ObjectIdCollection[] loops = new ObjectIdCollection[2]; loops.SetValue(loops1, 0); loops.SetValue(loops2, 1); // 实施填充. Color c1 = Color.FromRgb(200, 200, 100); Color c2 = Color.FromRgb(250, 20, 10); ObjectId hatchId = ModelSpace.AddHatch(loops, GradientPatternType.PreDefinedGradient, c1, c2, "LINEAR", ModelSpace.Rad2Ang(30)); }
public void CreateHatch1() { // 创建填充边界. ObjectId loopId1 = ModelSpace.AddLine(new Point3d(100, 0, 0), new Point3d(0, 0, 0)); ObjectId loopId2 = ModelSpace.AddLine(new Point3d(100, 0, 0), new Point3d(80, 60, 0)); ObjectId loopId3 = ModelSpace.AddLine(new Point3d(80, 60, 0), new Point3d(0, 0, 0)); ObjectId loopId4 = ModelSpace.AddCircle(new Point3d(150, 50, 0), 40); // 定义两个ObjectId集合. ObjectIdCollection loops1 = new ObjectIdCollection(); loops1.Add(loopId1); loops1.Add(loopId2); loops1.Add(loopId3); ObjectIdCollection loops2 = new ObjectIdCollection(); loops2.Add(loopId4); // 定义一个ObjectId集合数组. ObjectIdCollection[] loops = new ObjectIdCollection[2]; loops.SetValue(loops1, 0); loops.SetValue(loops2, 1); // 实施填充. ObjectId hatchId = ModelSpace.AddHatch(loops, 0, "ANGLE", ModelSpace.Rad2Ang(30), 2); }
public void CreateCircle3P() { ObjectId circle3pId = ModelSpace.AddCircle(new Point2d(0, 0), new Point2d(0, 30), new Point2d(20, 15)); }
public void CreateCircle() { ObjectId entId = ModelSpace.AddCircle(new Point3d(20, 10, 0), 50); }
public void CreateDimension() { // 创建要标注的图形--------------------------------------------- ModelSpace.AddLine(new Point3d(30, 20, 0), new Point3d(120, 20, 0)); ModelSpace.AddLine(new Point3d(120, 20, 0), new Point3d(120, 40, 0)); ModelSpace.AddLine(new Point3d(120, 40, 0), new Point3d(90, 80, 0)); ModelSpace.AddLine(new Point3d(90, 80, 0), new Point3d(30, 80, 0)); ModelSpace.AddArc(new Point3d(30, 50, 0), 30, ModelSpace.Rad2Ang(90), ModelSpace.Rad2Ang(270)); ModelSpace.AddCircle(new Point3d(30, 50, 0), 15); ModelSpace.AddCircle(new Point3d(70, 50, 0), 10); // 得到当前标注样式--------------------------------------------- Database db = HostApplicationServices.WorkingDatabase; ObjectId curDimstyle = db.Dimstyle; // (水平)转角标注----------------------------------------------- ModelSpace.AddDimRotated(0, new Point3d(30, 20, 0), new Point3d(120, 20, 0), new Point3d(75, 10, 0)); // (垂直)转角标注----------------------------------------------- ModelSpace.AddDimRotated(ModelSpace.Rad2Ang(90), new Point3d(120, 20, 0), new Point3d(120, 40, 0), new Point3d(130, 30, 0)); // 对齐标注、尺寸替代------------------------------------------- ModelSpace.AddDimAligned(new Point3d(120, 40, 0), new Point3d(90, 80, 0), new Point3d(113, 66, 0), "50%%p0.2", curDimstyle); // 半径标注----------------------------------------------------- Point3d ptCen = new Point3d(30, 50, 0); Point3d p2 = ModelSpace.PolarPoint(ptCen, ModelSpace.Rad2Ang(30), 15); ModelSpace.AddDimRadial(ptCen, p2, 10); // 直径标注----------------------------------------------------- Point3d dcen = new Point3d(70, 50, 0); Point3d ptChord1 = ModelSpace.PolarPoint(dcen, ModelSpace.Rad2Ang(45), 10); Point3d ptChord2 = ModelSpace.PolarPoint(dcen, ModelSpace.Rad2Ang(-135), 10); ModelSpace.AddDimDiametric(ptChord1, ptChord2, 0); // 角度标注----------------------------------------------------- Point3d angPtCen = new Point3d(120, 20, 0); Point3d p5 = ModelSpace.PolarPoint(angPtCen, ModelSpace.Rad2Ang(135), 10); ModelSpace.AddDimLineAngular(angPtCen, new Point3d(30, 20, 0), new Point3d(120, 40, 0), p5); // 弧长标注----------------------------------------------------- ModelSpace.AddDimArc(new Point3d(30, 50, 0), new Point3d(30, 20, 0), new Point3d(30, 80, 0), new Point3d(-10, 50, 0)); // 坐标标注----------------------------------------------------- ModelSpace.AddDimOrdinate(new Point3d(70, 50, 0), new Point3d(70, 30, 0), new Point3d(90, 50, 0)); // 引线标注----------------------------------------------------- Point3dCollection pts = new Point3dCollection(); pts.Add(new Point3d(90, 70, 0)); pts.Add(new Point3d(110, 80, 0)); pts.Add(new Point3d(120, 80, 0)); ModelSpace.AddLeader(pts, false); // 添加引线标注的文字. ModelSpace.AddMtext(new Point3d(120, 80, 0), "{\\L引线标注示例\\l}", curDimstyle, AttachmentPoint.BottomLeft, 2.5, 0); // 尺寸公差标注-------------------------------------------------- ModelSpace.AddDimRotated(0, new Point3d(30, 80, 0), new Point3d(90, 80, 0), new Point3d(30, 90, 0), "60{\\H0.7x;\\S+0.026^-0.025;}", curDimstyle); // 形位公差标注-------------------------------------------------- string dimText = "{\\fgdt;r}" + "%%v" + "{\\fgdt;n0.03}" + "%%v" + "B"; ModelSpace.AddTolerance(dimText, new Point3d(80, 100, 0), new Vector3d(0, 0, 1), new Vector3d(1, 0, 0)); // 为形位公差标注添加引线. Point3dCollection ptss = new Point3dCollection(); ptss.Add(new Point3d(70, 80, 0)); ptss.Add(new Point3d(70, 100, 0)); ptss.Add(new Point3d(80, 100, 0)); ModelSpace.AddLeader(ptss, false); }