Esempio n. 1
0
        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();                          //提交更改
            }
        }
Esempio n. 2
0
        // 由形位公差替代文字、插入点、法线向量和形位公差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);
        }
Esempio n. 3
0
 /// <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;
 }
Esempio n. 4
0
        public static ObjectId AddTolerance(string codes, Point3d inPt, Vector3d norVec, Vector3d xVec)
        {
            FeatureControlFrame ent = new FeatureControlFrame(codes, inPt, norVec, xVec);

            return(ModelSpace.AddEnt(ent));
        }