多重引线连接位置设置无效问题记录

在使用.net开发cad时,可能会发现设置了多重引线的连接位置后,实际加到图纸中的对象的连接位置没有设置成功,或者只设置成功了左侧(或右侧),另一侧没有设置成功。那么可能是以下两个问题。

样式

CAD中使用标注样式、多重引线样式等带样式的对象,要在new完第一时间设置样式的ObjectId,就算要用默认也要使用Database上的默认Id
否则可能会出现设置完是对的但是加到块表记录中后属性又变了的情况。

var mleader = new MLeader();
mleader.MLeaderStyle = database.MLeaderstyle;

方法不对

设置连接位置要使用方法而不是属性,设置失败的原因可能是因为你用了下面的方法

mleader.TextAtteachmentType = TextAttachMentType.AttachmentTopOfTop;

这样是不行的,明显属性里左右是分开的,但是这里却只有一个,需要使用:

mleader.SetTextAttachmentType(TextAttachMentType.AttachmentTopOfTop, LeaderDirectionType.LeftLeader);
mleader.SetTextAttachmentType(TextAttachMentType.AttachmentTopOfTop, LeaderDirectionType.RightLeader);

这样才能左右分开设置。