明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1122|回复: 8

[基础] 选择尺寸后增加文字说明

[复制链接]
发表于 2010-12-3 12:40 | 显示全部楼层 |阅读模式
本帖最后由 chpmould 于 2010-12-4 20:38 编辑

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

谢谢狐哥的指导,现已解决!!
发表于 2010-12-3 12:58 | 显示全部楼层
dim.DimensionText = "<>(长度)";
 楼主| 发表于 2010-12-3 19:54 | 显示全部楼层
本帖最后由 chpmould 于 2010-12-3 20:07 编辑

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

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


 楼主| 发表于 2010-12-3 20:15 | 显示全部楼层
本帖最后由 chpmould 于 2010-12-3 20:17 编辑

狐哥,你能帮我写个例子吗...我还不理解你给出那句代码如何用
发表于 2010-12-3 20:39 | 显示全部楼层
还是把手册先看一遍再说吧
你问的问题太基础了
这样教的累,学的也累
 楼主| 发表于 2010-12-3 20:51 | 显示全部楼层
因为我不是职业搞编成的,学CAD二次开发只是兴趣,所以对编成还没入门,,后续请老师多见谅...
 楼主| 发表于 2010-12-4 12:18 | 显示全部楼层
本帖最后由 chpmould 于 2010-12-4 12:23 编辑

手册我看了N边,但还是没有明白,请帮修改以下程序错在那里
  1. [CommandMethod("Test")]
  2.   public static void DText()
  3. {
  4.    Document doc = Application.DocumentManager.MdiActiveDocument;
  5.    Database db = doc.Database;
  6.    Editor ed = doc.Editor;
  7.    PromptSelectionOptions optSel = new PromptSelectionOptions();
  8.    optSel.MessageForAdding = "选择对象";
  9.    PromptSelectionResult resSel = ed.GetSelection(optSel);
  10.    SelectionSet sSet = resSel.Value;
  11.    ObjectId[] ids = sSet.GetObjectIds();
  12.    using (Transaction trans = db.TransactionManager.StartTransaction())
  13.    {
  14.       BlockTable bt = trans.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
  15.       BlockTableRecord btr = trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
  16.       AlignedDimension Dim = new AlignedDimension();
  17.       Dim.DimensionStyle = db.Dimstyle;
  18.       foreach (ObjectId sSetEntId in ids)
  19.       {
  20.           Dim.DimensionText = "<>(长度)";
  21.       }
  22.       btr.AppendEntity(Dim);
  23.       trans.AddNewlyCreatedDBObject(Dim, true);
  24.       trans.Commit();
  25.    }
  26. }
发表于 2010-12-4 14:01 | 显示全部楼层
  1.         [CommandMethod("t4")]
  2.         public static void Test4()
  3.         {
  4.             Document doc = Application.DocumentManager.MdiActiveDocument;
  5.             Database db = doc.Database;
  6.             Editor ed = doc.Editor;

  7.             var resSel =
  8.                 ed.GetSelection(
  9.                     new SelectionFilter(
  10.                         new TypedValue[]
  11.                         {
  12.                             new TypedValue(0, "DIMENSION")
  13.                         }));
  14.             if (resSel.Status != PromptStatus.OK)
  15.                 return;

  16.             using (Transaction tr = db.TransactionManager.StartTransaction())
  17.             {
  18.                 foreach (ObjectId id in resSel.Value.GetObjectIds())
  19.                 {
  20.                     var dim = tr.GetObject(id, OpenMode.ForWrite) as Dimension;
  21.                     dim.DimensionText = "<>(长度)";
  22.                 }
  23.                 tr.Commit();
  24.             }
  25.         }
 楼主| 发表于 2010-12-4 14:22 | 显示全部楼层
谢谢狐哥,现在明白了...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-17 10:28 , Processed in 0.311473 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表