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

选择尺寸后增加文字说明

本帖最后由 chpmould 于 2010-12-4 20:38 编辑

C# 如何实现选择一个尺寸,在后面增加文字

谢谢狐哥的指导,现已解决!!

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

dim.DimensionText = "<>(长度)";

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

本帖最后由 chpmould 于 2010-12-3 20:07 编辑

在使用以下选择函数之后如何获取尺寸,然后使用这个dim.DimensionText = "<>(长度)";

PromptSelectionOptions optSel = new PromptSelectionOptions( "请选择对象";);
PromptSelectionResult resSel = ed.GetSelection();


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

本帖最后由 chpmould 于 2010-12-3 20:17 编辑

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

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

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

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

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

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

本帖最后由 chpmould 于 2010-12-4 12:23 编辑

手册我看了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:39

      
      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:50

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