lxyflr 发表于 2007-3-2 09:05:00

求图案填充出错的问题

诸位高手:请问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

wyj7485 发表于 2007-3-5 09:52:00

参考: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]
查看完整版本: 求图案填充出错的问题