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

EaBIM

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 1797|回复: 22
打印 上一主题 下一主题

[实体对象] 如何设置动态引线的文字属性中的连接位置?

[复制链接]

1514

主题

7465

帖子

1万

积分

admin

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

积分
12404

社区QQ达人

跳转到指定楼层
楼主
发表于 2014-1-8 16:19:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天在做自定义引线的时候,参考了Kean的代码,稍微改造了一下,但是发现还是没有达到目的。我的代码如下:
  • [CommandMethod("test")]
  •         public void test()
  •         {MLeader pMLeader = new MLeader();
  •             Point3d pos = new Point3d(200, 200, 0);
  •             int entityIndex=pMLeader.AddLeaderLine(pos);
  •             pMLeader.AddFirstVertex(0, pos);
  •             pMLeader.SetLastVertex(0, pos);
  •             pMLeader.DoglegLength = 0;
  •             MText pMtext = new MText();
  •             pMtext.Contents = "100";
  •             pMtext.Location = pos;
  •             pMtext.FlowDirection = FlowDirection.LeftToRight;
  •             pMLeader.MText = pMtext;
  •             pMLeader.LandingGap = 0;
  •             pMtext.Attachment = AttachmentPoint.TopRight;
  •             pMLeader.TextAlignmentType = TextAlignmentType.RightAlignment;
  •             pMLeader.TextAttachmentType = TextAttachmentType.AttachmentBottomLine;
  • CADCore.ToModelSpace(pMLeader);}

复制代码

其中CADCore.ToModelSpace(pMLeader),调用了方法代码为:
  • /// <summary>
  •             /// 添加对象到模型空间
  •             /// </summary>
  •             /// <param name="ent">要添加的对象</param>
  •             /// <returns></returns>
  •             public static ObjectId ToModelSpace(Entity ent)
  •             {
  •                 Database db = HostApplicationServices.WorkingDatabase;
  •                 ObjectId entId;
  •                 using (Transaction trans = db.TransactionManager.StartTransaction())
  •                 {
  •                     BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
  •                     BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
  •                     entId = btr.AppendEntity(ent);
  •                     trans.AddNewlyCreatedDBObject(ent, true);
  •                     trans.Commit();
  •                 }
  •                 return entId;
  •             }

复制代码

,运行后,利用测试命令 test,得到如图所示界面,属性界面为:我现在遇到两个问题:1.如何用程序将“连接位置-左”和“连接位置-右”这两个属性设置为其他值,例如”第一行顶部“。2.上述程序中,我已经将引线 AddFirstVertex和 SetLastVertex这个顶点值设置为相同值了,但是实际效果图中还是出现如下图红色方框直线,是否能够用程序将此两点变成相同两个点处(用手工进行拉伸操作可以实现),请求各位朋友帮忙解决其中之一问题,谢谢。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对

相关帖子

工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言
推荐
发表于 2017-6-9 10:57:29 | 只看该作者
赠人玫瑰,手有玫瑰

4

主题

832

帖子

1368

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1368
推荐
发表于 2014-3-14 11:38:58 | 只看该作者
(*^__^*) 嘻嘻……

28

主题

927

帖子

1777

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1777
推荐
发表于 2014-6-11 18:12:23 | 只看该作者
(*^__^*) 嘻嘻……

8

主题

902

帖子

1597

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1597
6F
发表于 2014-6-9 15:48:58 | 只看该作者
顶...... 楼下跟上.....

6

主题

713

帖子

1201

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1201
12F
发表于 2014-6-13 14:36:09 | 只看该作者
路过!!!
不发表意见……
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-23 11:00

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

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