chpmould 发表于 2010-12-3 12:40:00

选择尺寸后增加文字说明

C# 如何实现选择一个尺寸,在后面增加文字
谢谢狐哥的指导,现已解决!!

雪山飞狐_lzh 发表于 2010-12-3 12:58:00

dim.DimensionText = "(长度)";

chpmould 发表于 2010-12-3 19:54:00


在使用以下选择函数之后如何获取尺寸,然后使用这个dim.DimensionText = "(长度)";
PromptSelectionOptions optSel = new PromptSelectionOptions( "请选择对象";);
PromptSelectionResult resSel = ed.GetSelection();

chpmould 发表于 2010-12-3 20:15:00


狐哥,你能帮我写个例子吗...我还不理解你给出那句代码如何用

雪山飞狐_lzh 发表于 2010-12-3 20:39:00

还是把手册先看一遍再说吧
你问的问题太基础了
这样教的累,学的也累

chpmould 发表于 2010-12-3 20:51:00

因为我不是职业搞编成的,学CAD二次开发只是兴趣,所以对编成还没入门,,后续请老师多见谅...

chpmould 发表于 2010-12-4 12:18:00


手册我看了N边,但还是没有明白,请帮修改以下程序错在那里

public static void DText()
{
   Document doc = Application.DocumentManager.MdiActiveDocument;
   Database db = doc.Database;
   Editor ed = doc.Editor;
   PromptSelectionOptions optSel = new PromptSelectionOptions();
   optSel.MessageForAdding = "选择对象";
   PromptSelectionResult resSel = ed.GetSelection(optSel);
   SelectionSet sSet = resSel.Value;
   ObjectId[] ids = sSet.GetObjectIds();
   using (Transaction trans = db.TransactionManager.StartTransaction())
   {
      BlockTable bt = trans.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
      BlockTableRecord btr = trans.GetObject(bt, OpenMode.ForWrite) as BlockTableRecord;
      AlignedDimension Dim = new AlignedDimension();
      Dim.DimensionStyle = db.Dimstyle;
      foreach (ObjectId sSetEntId in ids)
      {
          Dim.DimensionText = "(长度)";
      }
      btr.AppendEntity(Dim);
      trans.AddNewlyCreatedDBObject(Dim, true);
      trans.Commit();
   }
}

雪山飞狐_lzh 发表于 2010-12-4 14:01:00


      
      public static void Test4()
      {
            Document doc = Application.DocumentManager.MdiActiveDocument;
            Database db = doc.Database;
            Editor ed = doc.Editor;
            var resSel =
                ed.GetSelection(
                  new SelectionFilter(
                        new TypedValue[]
                        {
                            new TypedValue(0, "DIMENSION")
                        }));
            if (resSel.Status != PromptStatus.OK)
                return;
            using (Transaction tr = db.TransactionManager.StartTransaction())
            {
                foreach (ObjectId id in resSel.Value.GetObjectIds())
                {
                  var dim = tr.GetObject(id, OpenMode.ForWrite) as Dimension;
                  dim.DimensionText = "(长度)";
                }
                tr.Commit();
            }
      }

chpmould 发表于 2010-12-4 14:22:00

谢谢狐哥,现在明白了...
页: [1]
查看完整版本: 选择尺寸后增加文字说明