Atook 发表于 2017-11-15 01:14:53

布利克斯卡德的领导人。


**** Hidden Message *****

Bryco 发表于 2017-11-16 11:15:32

翻译错误代码(429):请求 QPS 超过限制。

MickD 发表于 2017-11-16 15:20:37

翻译错误代码(429):请求 QPS 超过限制。

Atook 发表于 2017-11-16 16:48:56

翻译错误代码(429):请求 QPS 超过限制。

Atook 发表于 2017-11-16 16:52:43


MickD,当你说把它添加到数据库时,我是需要把它添加到事务中,还是实际提交事务,然后再次使用新事务检索Mleader并设置属性?

MickD 发表于 2017-11-16 17:44:13


MickD,当你说把它添加到数据库时,我是需要把它添加到事务中,还是实际提交事务,然后再次使用新事务检索Mleader并设置属性?

是的,提交它,然后用返回的objectid打开。

MickD 发表于 2017-11-16 18:00:27

抱歉,已经有一段时间了,但我翻出了我在下面使用的一个片段,hth公共静态空DrawLeaderForText(Point3d start Point, Point3d endPoint, ObjectId text Id)。
{。
var db=HostApplicationServices.WorkingDatabase;。
使用(var tr=db.TransactionManager.StartTransaction())。
{。
var布局=tr.GetObject(db.CurrentSpaceId,OpenMode.ForWrite)as BlockTableRecord;。
var领导者=新领导者();。
//leader.SetDatabaseDefaults();。
leader.AppendVertex(start Point);。
leader.AppendVertex(端点);。
leader.HasArrowHead=false;。
var mt=tr.GetObject(text Id,OpenMode.ForRead)作为MTexts;。
如果(mt!=null)。
{。
var tsid=mt.TextStyleId;。
leader.TextStyleId=tsid;。
leader.DimensionStyledb.Dimstyle。
}。

layout.AppendEntity(领导者);。
tr.AddNewlyCreatedDBObject(领导者,真);。
leader.Annotation=text Id;。
leader.EvaluateLeader();。
tr.Commit();。
}。
}。

Atook 发表于 2017-11-16 18:20:44

谢谢米克。

Atook 发表于 2017-11-27 15:49:34

原来问题是Bricscad需要有,SetLastVertex()调用而不是,添加LastVertex()。如果在Bricscad中调用AddLastVertex,则会向领导者添加一个额外的控制点。然而,AutoCAD需要.添加LastVertex(),并且似乎不关心. SetLastVertex()。设置顶点的代码现在如下所示:int ldNum=label.AddLeader();。
int idx=label.AddLeaderLine(ldNum);。
label.AddFirstVertex(idx,领导点);。
#如果ACAD_APP。
label.AddLastVertex(idx, text Point);。
#endif。
label.SetLastVertex(idx, text Point);感谢Bricscad技术支持帮助我。
页: [1]
查看完整版本: 布利克斯卡德的领导人。