通過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則填充隨圖元同時變化。