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

求图案填充出错的问题

<p>诸位高手:请问cad2007中的这一段代码,有什么错误,执行提示:运行时错误‘-2145386491(80200005)’:</p><p>输出不确定。</p><p>Private Sub CommandButton1_Click()<br/>Dim hatchObj As AcadHatch<br/>&nbsp;&nbsp;&nbsp; Dim patternName(0 To 2) As String<br/>&nbsp;&nbsp;&nbsp; Dim PatternType As Long<br/>&nbsp;&nbsp;&nbsp; Dim bAssociativity As Boolean<br/>Dim i&nbsp; As Integer<br/>&nbsp;Dim outerLoop(0 To 0) As AcadEntity<br/>&nbsp;&nbsp;&nbsp; Dim center(0 To 2) As Double<br/>&nbsp;&nbsp;&nbsp; Dim radius As Double<br/>&nbsp;&nbsp;&nbsp; ' 定义图案填充<br/>&nbsp;&nbsp;&nbsp; patternName(0) = "ANGLE"<br/>&nbsp;&nbsp;&nbsp; patternName(1) = "AR-CONC"</p><p>&nbsp;&nbsp;&nbsp; patternName(2) = "SOLID"<br/>&nbsp;&nbsp;&nbsp; PatternType = acHatchPatternTypeUserDefined<br/>&nbsp;&nbsp;&nbsp; bAssociativity = True<br/>center(0) = 0: center(1) = 0: center(2) = 0<br/>&nbsp;&nbsp;&nbsp; ' 创建关联的 Hatch 对象<br/>&nbsp;&nbsp; For i = 0 To 2<br/>&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; Set hatchObj = ThisDrawing.ModelSpace.AddHatch _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (PatternType, patternName(i), bAssociativity)</p><p>&nbsp;&nbsp;&nbsp; ' 创建图案填充的外边界。(一个圆)<br/>&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; center(0) = center(0) + 3: center(1) = center(1) + 3: center(2) = 0<br/>&nbsp;&nbsp;&nbsp; radius = 1<br/>&nbsp;&nbsp;&nbsp; Set outerLoop(0) = ThisDrawing.ModelSpace. _<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AddCircle(center, radius)</p><p>&nbsp;&nbsp;&nbsp; ' 向 Hatch 对象附加外边界,<br/>&nbsp;&nbsp;&nbsp; ' 并显示图案填充<br/>&nbsp;&nbsp;&nbsp; hatchObj.AppendOuterLoop (outerLoop)<br/>&nbsp;&nbsp;&nbsp; hatchObj.Evaluate<br/>&nbsp;&nbsp;&nbsp; ThisDrawing.Regen True<br/>Next i<br/>End Sub<br/></p>

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