明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1503|回复: 1

求图案填充出错的问题

[复制链接]
发表于 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 i  As 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

发表于 2007-3-5 09:52:00 | 显示全部楼层
参考:
  1. 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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-22 18:37 , Processed in 0.160691 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表