我目前正致力于将VBA AutoCAD应用程序转换为VB.NET,而我正在处理的当前命令是创建一个简单的领导者,其代码如下:
Set leaderObj = ThisDrawing.ModelSpace.AddLeader(points, blockRefObj, leaderType)
leaderObj.ArrowheadType = acArrowDotSmall
leaderObj.ArrowheadSize = 2.5 * varDimscale
leaderObj.DimensionLineColor = acWhite
我已经能够使用
在.NET中创建Leader-lineDim l = New Leader()
For Each point In jig.LeaderPoints
l.AppendVertex(point)
Next
l.Dimldrblk = arrId
我使用here找到的函数得到的arrId
,但我一直无法弄清楚如何将领导者的颜色设置为白色(它显示为红色的默认),以及如何设置箭头的大小。如果有人能帮助我,我将非常感激。
答案 0 :(得分:2)
好的,经过大量的反复试验,我发现解决方案相当简单。我没有必要覆盖任何维度样式(我老实说甚至不知道是什么,在获得此项目之前我在AutoCAD中有一个简短的初学者课程),我只需要在{{1上设置一个模糊的属性}}-宾语。对于将来的参考,以及其他任何试图做同样的人,这里是我最终使用的属性:
答案 1 :(得分:1)
作为类型BlockReference,它应该具有color属性,属性应该是Autodesk.Autocad.Colors.Color或Integer。此外,您获取读取对象的原因是,在您的事务中,您使用
打开数据库OpenMode.ForRead
这是正确的。但要编辑数据库中的对象,您必须检索下面的对象
var obj = Thetransaction.GetObject(theobjectid,OpenMode.ForWrite) as BlockReferance;
这是在
内完成的using(var trans = TransactionManager.StartTransaction()){}
我在一个单元格上执行此操作,因此请检查驼峰大小写和语法,因为我使用c#编写,但它应该非常接近。
您可能想要查看是否存在缩放属性,以更改大小。
希望这会让你朝着正确的方向前进。
如果您有任何问题,请告诉我。 :)