求图案填充出错的问题
诸位高手:请问cad2007中的这一段代码,有什么错误,执行提示:运行时错误‘-2145386491(80200005)’:输出不确定。
Private Sub CommandButton1_Click()
Dim hatchObj As AcadHatch
Dim patternName(0 To 2) As String
Dim PatternType As Long
Dim bAssociativity As Boolean
Dim iAs Integer
Dim outerLoop(0 To 0) As AcadEntity
Dim center(0 To 2) As Double
Dim radius As Double
' 定义图案填充
patternName(0) = "ANGLE"
patternName(1) = "AR-CONC"
patternName(2) = "SOLID"
PatternType = acHatchPatternTypeUserDefined
bAssociativity = True
center(0) = 0: center(1) = 0: center(2) = 0
' 创建关联的 Hatch 对象
For i = 0 To 2
Set hatchObj = ThisDrawing.ModelSpace.AddHatch _
(PatternType, patternName(i), bAssociativity)
' 创建图案填充的外边界。(一个圆)
center(0) = center(0) + 3: center(1) = center(1) + 3: center(2) = 0
radius = 1
Set outerLoop(0) = ThisDrawing.ModelSpace. _
AddCircle(center, radius)
' 向 Hatch 对象附加外边界,
' 并显示图案填充
hatchObj.AppendOuterLoop (outerLoop)
hatchObj.Evaluate
ThisDrawing.Regen True
Next i
End Sub
参考:Sub Example_AddHatch() ' 该示例在模型空间中创建关联的渐变填充图案。 Dim hatchObj As AcadHatch Dim patternName As String Dim PatternType As Long Dim bAssociativity As Boolean ' 定义填充图案 patternName = "CYLINDER" PatternType = acPreDefinedGradient '0 bAssociativity = True ' 在模型空间中创建关联的 Hatch 对象 Set hatchObj = ThisDrawing.ModelSpace.AddHatch(PatternType, patternName, bAssociativity, acGradientObject) Dim col1 As AcadAcCmColor, col2 As AcadAcCmColor Set col1 = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16") Set col2 = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.16") Call col1.SetRGB(255, 0, 0) Call col2.SetRGB(0, 255, 0) hatchObj.GradientColor1 = col1 hatchObj.GradientColor2 = col2 ' 为填充图案创建外边界(圆) Dim outerLoop(0 To 0) As AcadEntity Dim center(0 To 2) As Double Dim radius As Double center(0) = 3: center(1) = 3: center(2) = 0 radius = 1 Set outerLoop(0) = ThisDrawing.ModelSpace.AddCircle(center, radius) ' 附着外边界到填充图案对象,并显示该填充图案 hatchObj.AppendOuterLoop (outerLoop) hatchObj.Evaluate ThisDrawing.Regen TrueEnd Sub
页:
[1]