EaBIM一直以来积极响应国家“十二五”推进建筑业信息化的号召,对建筑领域的信息技术开展深入技术交流和探讨!致力于打造“BIM-建筑师-生态技术”三位一体综合资源交流共享平台,希望为BIM与可持续设计理念及技术的普及做出微小的贡献!!!

EaBIM

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 634|回复: 0
打印 上一主题 下一主题

[用户交互] 使用AutoCAD标准对话框修改实体颜色、线型和线宽

[复制链接]

1514

主题

7465

帖子

1万

积分

admin

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

积分
12406

社区QQ达人

跳转到指定楼层
楼主
发表于 2014-1-8 15:11:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. using Autodesk.AutoCAD.Runtime;
  2. using Autodesk.AutoCAD.ApplicationServices;
  3. using Autodesk.AutoCAD.DatabaseServices;
  4. using Autodesk.AutoCAD.EditorInput;
  5. using Autodesk.AutoCAD.Windows;

  6. namespace EntityProperties
  7. {
  8. public class Commands
  9. {
  10. [CommandMethod("SPE")]
  11. public void SetPropertiesOnEntity()
  12. {
  13.    Document doc =
  14.       Application.DocumentManager.MdiActiveDocument;
  15.    Database db = doc.Database;
  16.    Editor ed = doc.Editor;

  17.    PromptEntityResult per =
  18.       ed.GetEntity(
  19.       "\n选择要修改的实体: "
  20.       );

  21.    if (per.Status != PromptStatus.OK)
  22.       return;

  23.    Transaction tr =
  24.       db.TransactionManager.StartTransaction();
  25.    using (tr)
  26.    {
  27.       Entity ent =
  28.       (Entity)
  29.          tr.GetObject(
  30.             per.ObjectId,
  31.             OpenMode.ForRead
  32.          );

  33.       ColorDialog cd = new ColorDialog();
  34.       cd.Color = ent.Color;

  35.       System.Windows.Forms.DialogResult dr;

  36.       dr = cd.ShowDialog();
  37.       if (dr != System.Windows.Forms.DialogResult.OK)
  38.       return;

  39.       LinetypeDialog ltd = new LinetypeDialog();
  40.       ltd.Linetype = ent.LinetypeId;

  41.       dr = ltd.ShowDialog();
  42.       if (dr != System.Windows.Forms.DialogResult.OK)
  43.       return;

  44.       LineWeightDialog lwd = new LineWeightDialog();
  45.       lwd.LineWeight = ent.LineWeight;

  46.       dr = lwd.ShowDialog();
  47.       if (dr != System.Windows.Forms.DialogResult.OK)
  48.       return;

  49.       ent.UpgradeOpen();
  50.       if (ent.Color != cd.Color)
  51.       ent.Color = cd.Color;
  52.       if (ent.LinetypeId != ltd.Linetype)
  53.       ent.LinetypeId = ltd.Linetype;
  54.       if (ent.LineWeight != lwd.LineWeight)
  55.       ent.LineWeight = lwd.LineWeight;

  56.       tr.Commit();
  57.    }
  58. }
  59. }
  60. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对

相关帖子

工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|EaBIM网 ( 苏ICP备2020058923号-1  苏公网安备32011502011255号

GMT+8, 2024-11-27 07:05

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

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