您的位置:网站首页 > CAD新闻

AutoVBA利用Hacth对象填充图元对象

时间:2012-01-29 08:30:35 来源:未知

通过Hacth对象可以对图元进行填充,可以使用CBD自带的图案,或者使用外部图库中的图案或者自定义临时填充。创建Hatch对象并将其添加到ModelSpace集合,该函数需三个参数。以下代码绘制一个Circle对象并创建填充。

Sub drawfilledcircle()
    Dim hatchobject As AcadHatch
    Dim outercircle(0) As AcadCircle
    Dim center As Variant
    Dim radius As Double
    With ThisDrawing.Utility
        center = .GetPoint(, "Click the position for the center.")
        radius = .GetDistance(center, "Enter the radius.")
    End With
    Set outercircle(0) = ThisDrawing.ModelSpace.AddCircle(center, radius)
    outercircle(0).color = acYellow
    outercircle(0).Update
    Set hatchobject = ThisDrawing.ModelSpace.AddHatch(acHatchPatternTypePreDefined, "SOLID", True)
    hatchobject.AppendInnerLoop (outercircle)
    hatchobject.Evaluate
    hatchobject.Update
End Sub

代码完。

第一行声明绘制填充圆的函数,定义AcadCircle和AcadHatch对象,绘制圆形对其进行填充。

AddHatch对象需要三个参数,第一个是PatternType常数参数,具有三个值:acHatchPatternTypePredefined,acHatchPatternTypeUserDefined,acHatchPatternTypeCustomfined,第二个参数指定填充图元名称,第三个参数指定填充是否关联到边界图元,如果为false,填充不与边界图元相关,若为true则填充随图元同时变化。


相关文章