public void AddTolerance() { Database db = HostApplicationServices.WorkingDatabase; using (Transaction trans = db.TransactionManager.StartTransaction()) { //创建一个形位公差特征控制框 FeatureControlFrame frame = new FeatureControlFrame(); //形位公差的几何特征为位置 string geometricSym = DimFormatCode.Position; //形位公差值为0.20,且带直径符号,包容条件为最大实体要求 string torlerance = DimFormatCode.Diameter + "0.20" + DimFormatCode.CircleM; //形位公差的第一级基准符号,包容条件为最大实体要求 string firstDatum = "A" + DimFormatCode.CircleM; //形位公差的第二级基准符号,包容条件为不考虑特征尺寸 string secondDatum = "B" + DimFormatCode.CircleS; //形位公差的第三级基准符号,包容条件为最小实体要求 string thirdDatum = "C" + DimFormatCode.CircleL; //设置公差特征控制框的内容为形位公差 frame.CreateTolerance(geometricSym, torlerance, firstDatum, secondDatum, thirdDatum); frame.Location = new Point3d(1, 0.5, 0); //控制框的位置 frame.Dimscale = 0.05; //控制框的大小 db.AddToModelSpace(frame); //控制框添加到模型空间中 trans.Commit(); //提交更改 } }
// 由形位公差替代文字、插入点、法线向量和形位公差x方向向量创建形位公差标注的函数. public static ObjectId AddTolerance(string codes, Point3d inPt, Vector3d norVec, Vector3d xVec) { FeatureControlFrame ent = new FeatureControlFrame(codes, inPt, norVec, xVec); ObjectId entId = AppendEntity(ent); return(entId); }
/// <summary> /// 设置形位公差值 /// </summary> /// <param name="frame">形位公差特征控制框对象</param> /// <param name="geometricSym">几何特征符号,表示公差的几何特征,例如位置、轮廓、形状、方向或跳动</param> /// <param name="torlerance">公差值</param> /// <param name="firstDatum">第一级基准要素</param> /// <param name="secondDatum">第二级基准要素</param> /// <param name="thirdDatum">第三级基准要素</param> public static void CreateTolerance(this FeatureControlFrame frame, string geometricSym, string torlerance, string firstDatum, string secondDatum, string thirdDatum) { if (frame == null) { return; //特征控制框对象必须已定义,否则返回 } //设置形位公差值,各组成部分用竖线(%%v)分隔 frame.Text = geometricSym + "%%v" + torlerance + "%%v" + firstDatum + "%%v" + secondDatum + "%%v" + thirdDatum; }
public static ObjectId AddTolerance(string codes, Point3d inPt, Vector3d norVec, Vector3d xVec) { FeatureControlFrame ent = new FeatureControlFrame(codes, inPt, norVec, xVec); return(ModelSpace.AddEnt(ent)); }