Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在AutoCad中更改引线的颜色_Vb.net_Vba_Autocad Plugin - Fatal编程技术网

Vb.net 在AutoCad中更改引线的颜色

Vb.net 在AutoCad中更改引线的颜色,vb.net,vba,autocad-plugin,Vb.net,Vba,Autocad Plugin,我目前正在将一个VBA AutoCAD应用程序转换为VB.NET,我目前正在使用的命令是创建一个简单的引线,代码如下: Set leaderObj = ThisDrawing.ModelSpace.AddLeader(points, blockRefObj, leaderType) leaderObj.ArrowheadType = acArrowDotSmall leaderObj.ArrowheadSize = 2.5 * varDimscale leaderObj.DimensionLin

我目前正在将一个VBA AutoCAD应用程序转换为VB.NET,我目前正在使用的命令是创建一个简单的引线,代码如下:

Set leaderObj = ThisDrawing.ModelSpace.AddLeader(points, blockRefObj, leaderType)
leaderObj.ArrowheadType = acArrowDotSmall
leaderObj.ArrowheadSize = 2.5 * varDimscale
leaderObj.DimensionLineColor = acWhite
我已经能够在.NET中使用

Dim l = New Leader()
For Each point In jig.LeaderPoints
    l.AppendVertex(point)
Next
l.Dimldrblk = arrId

我使用find函数得到的
arrId
,但我无法确定如何将引线的颜色设置为白色(默认显示为红色),以及如何设置箭头的大小。如果有人能帮我解决这个问题,我将不胜感激。

作为类型块引用,它应该有一个颜色属性,属性应该是Autodesk.Autocad.Colors.color或整数。另外,获取要读取的对象的原因是,在您的事务中,您正在使用打开数据库

OpenMode.ForRead
这是正确的。但要编辑数据库中的对象,必须检索如下所示的对象

var obj = Thetransaction.GetObject(theobjectid,OpenMode.ForWrite) as BlockReferance;
这是在

using(var trans = TransactionManager.StartTransaction()){}
我是在一个单元格上做这项工作的,所以请检查camel大小写和语法,因为我是用c#编写的,但应该非常接近

您可能需要查看是否存在缩放特性,以便更改大小

希望这会把你带向正确的方向


如果您有任何问题,请告诉我。:)

好的,经过多次尝试和错误,我发现解决方案相当简单。我不需要覆盖任何标注样式(老实说,我甚至不知道是什么,在拿到这个项目之前,我在AutoCAD上有一个简短的初学者课程),我只需要在
引线
-对象上设置一个模糊的属性。以下是我最终使用的属性,供将来参考,也供其他尝试使用这些属性的人参考:

leader.dimcrd 指引线的颜色。表示类似“尺寸线颜色”的内容。 leader.Dimasz 领导者头部的比例。
我尝试过用color属性设置颜色,但没有效果。“default to read”(默认读取)是我的一个输入错误(现已修复),它应该是“红色”(与颜色相同)。此外,我没有编辑现有对象,我正在创建一个新对象(
new Leader()
),所以我根本没有在这个范围内使用
transaction.GetObject
)。我只使用事务来附加前导。