如何实现填充图案
<p>请教版主和各位高手</p><p>我刚开始学vba在cad中编程</p><p>可以告诉我</p><p>如何实现填充图案</p><p>谢谢了</p> <p>我找到答案了</p><p>大家一起分享</p><p>Sub Example_HatchStyle()<br/> ' 这个范例在模型空间中建立一个关联式图案填充<br/> ' 接着改变图案填充样式来示范各种<br/> ' 内回路的处理方式。</p><p> Dim hatchObj As AcadHatch<br/> Dim patternName As String<br/> Dim PatternType As Long<br/> Dim bAssociativity As Boolean</p><p> ' 定义图案填充</p><p> patternName = "ANSI31"<br/> PatternType = 0<br/> bAssociativity = True</p><p> ' 建立关联的Hatch对象<br/> Set hatchObj = ThisDrawing.ModelSpace.AddHatch(PatternType, patternName, bAssociativity)<br/> hatchObj.Update<br/> ' 建立图案填充的外回路<br/> ' 使用一个弧以及一条线来建立封闭回路</p><p> Dim outerLoop(0 To 1) As AcadEntity<br/> Dim center(0 To 2) As Double</p><p> Dim radius As Double<br/> Dim startAngle As Double<br/> Dim endAngle As Double<br/> center(0) = 50: center(1) = 30: center(2) = 0<br/> radius = 30<br/> startAngle = 0<br/> endAngle = 3.141592<br/> Set outerLoop(0) = ThisDrawing.ModelSpace.AddArc(center, radius, startAngle, endAngle)<br/> Set outerLoop(1) = ThisDrawing.ModelSpace.AddLine(outerLoop(0).StartPoint, outerLoop(0).EndPoint)</p><p> ' 附加外回路到图案填充对象<br/> hatchObj.AppendOuterLoop (outerLoop)<br/> <br/> Dim innerLoop1(0) As AcadEntity<br/> center(0) = 50: center(1) = 34.5: center(2) = 0<br/> radius = 10<br/> Set innerLoop1(0) = ThisDrawing.ModelSpace.AddCircle(center, radius)<br/> hatchObj.AppendInnerLoop (innerLoop1)<br/> ' 将图案填充样式设定忽略<br/> hatchObj.HatchStyle = acHatchStyleIgnore<br/> ThisDrawing.Regen True<br/> </p><p> End Sub</p>
页:
[1]