sdsuyan 发表于 2005-1-20 20:11:00

复制的关于AddHatch的例子,为何不能运行??

我复制的 VBA帮助中的例子(AppendOuterLoop ),为什么不能运行?能帮我看看吗?
这是个填充半圆的例子.                       倒数第二行(hatchObj.Evaluate)语句总是不能运行.
------------------------------------
Sub Example_AppendOuterLoop()
                       ' This example creates an associative hatch in model space.
                       
                       Dim hatchObj As AcadHatch
                       Dim patternName As String
                       Dim PatternType As Long
                       Dim bAssociativity As Boolean
                       
                       ' Define the hatch
                       patternName = "ANSI31"
                       PatternType = 0
                       bAssociativity = True
                       
                       ' Create the associative Hatch object
                       Set hatchObj = ThisDrawing.ModelSpace.AddHatch(PatternType, patternName, bAssociativity)
                       
                       ' Create the outer loop for the hatch.
                       ' An arc and a line are used to create a closed loop.
                       Dim outerLoop(0 To 1) As AcadEntity
                       Dim center(0 To 2) As Double
                       Dim radius As Double
                       Dim startAngle As Double
                       Dim endAngle As Double
                       center(0) = 5: center(1) = 3: center(2) = 0
                       radius = 1
                       startAngle = 0
                       endAngle = 3.141592
                       Set outerLoop(0) = ThisDrawing.ModelSpace.AddArc(center, radius, startAngle, endAngle)
                       Set outerLoop(1) = ThisDrawing.ModelSpace.AddLine(outerLoop(0).EndPoint, outerLoop(0).StartPoint)
                                                       
                       ' Append the outer loop to the hatch object, and display the hatch
                       hatchObj.AppendOuterLoop (outerLoop)
                       hatchObj.Evaluate
                       ZoomAll
                       
End Sub

mccad 发表于 2005-1-20 21:12:00

原因:比例太大,造成要填充的面积中不能出现填充图案,所以出错。
可以修改圆弧的半径,或在Set hatchObj...后增加:
hatchObj.PatternScale = 0.2
页: [1]
查看完整版本: 复制的关于AddHatch的例子,为何不能运行??