CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

关于编辑图案填充边界 (VBA/ActiveX)

2023-1-5 00:43| 发布者: admin| 查看: 847| 评论: 0|来自: AutoCAD

摘要: 可以将环追加或插入到填充边界中。将更新关联图案填充以匹配对其边界所做的任何更改。不会更新非关联图案填充。

可以将环追加或插入到填充边界中。将更新关联图案填充以匹配对其边界所做的任何更改。不会更新非关联图案填充。

要编辑图案填充边界,请使用下列方法之一:

追加内部循环
将内部环追加到填充。
追加外循环
将外部环追加到填充。
InsertLoopAt
在填充的给定索引处插入循环。

将内部循环追加到图案填充

本示例创建一个关联图案填充。然后,它会创建一个圆,并将该圆作为内部环附加到填充。

Sub Ch4_AppendInnerLoopToHatch()
  Dim hatchObj As AcadHatch
  Dim patternName As String
  Dim PatternType As Long
  Dim bAssociativity As Boolean

  ' Define and create the hatch
  patternName = "ANSI31"
  PatternType = 0
  bAssociativity = True
  Set hatchObj = ThisDrawing.ModelSpace.AddHatch(PatternType, patternName, bAssociativity)

  ' Create the outer loop for the hatch.
  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 = 3
  startAngle = 0
  endAngle = 3.141592
  Set outerLoop(0) = ThisDrawing.ModelSpace.AddArc(center, radius, startAngle, endAngle)
  Set outerLoop(1) = ThisDrawing.ModelSpace.AddLine(outerLoop(0).startPoint, outerLoop(0).endPoint)

  ' Append the outer loop to the hatch object
  hatchObj.AppendOuterLoop (outerLoop)

  ' Create a circle as the inner loop for the hatch.
  Dim innerLoop(0) As AcadEntity
  center(0) = 5: center(1) = 4.5: center(2) = 0
  radius = 1
  Set innerLoop(0) = ThisDrawing.ModelSpace.AddCircle(center, radius)

  ' Append the circle as an inner loop to the hatch
  hatchObj.AppendInnerLoop (innerLoop)

  ' Evaluate and display the hatch
  hatchObj.Evaluate
  ThisDrawing.Regen True
End Sub

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 15:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部