大家好,
我需要用多个区域填充一个区域:
尝试修改示例代码:
-
- Public Function AddHatch(Region As AcadRegion) As AcadHatch
- ' This example creates an associative gradient hatch in model space.
- Dim patternName As String
- Dim PatternType As Long
- Dim bAssociativity As Boolean
- Dim outerLoop() As AcadEntity
- ReDim outerLoop(0)
- Dim oplineReg As AcadEntity
- Set oplineReg = Region.Copy
- Set outerLoop(0) = Region
- ' Define the hatch
- patternName = "CYLINDER"
- PatternType = acPreDefinedGradient '0
- bAssociativity = True
-
- ' Create the associative Hatch object in model space
- Set hatchObj = ThisDrawing.ModelSpace.AddHatch(PatternType, patternName, bAssociativity, acGradientObject)
- Dim col1 As AcadAcCmColor, col2 As AcadAcCmColor
- Set col1 = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.17")
- Set col2 = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.17")
- Call col1.SetRGB(255, 0, 0)
- Call col2.SetRGB(0, 255, 0)
- hatchObj.GradientColor1 = col1
- hatchObj.GradientColor2 = col2
-
- ' Append the outerboundary to the hatch object, and display the hatch
- hatchObj.AppendOuterLoop outerLoop
- hatchObj.Evaluate
- ThisDrawing.Regen True
- End Function
此处输入无效:
hatchObj。附录outerLoop outerLoop
显然没有“OuterLoop”,但使用std autocad hatch命令及其选项填充对象非常简单。有什么想法吗?
谢谢
特伦特
|