8楼的大哥,我把代码帖上来了,添加内边界老是出错,请你指导一下,非常感谢!
Sub HH() 'On Error Resume Next Dim ent As AcadEntity Dim Pname As String Dim Ptype As Long Dim Ba As Boolean Dim Hatchobj As AcadHatch Pname = "ANSI33" '填充样式 Ptype = acHatchPatternTypePreDefined '填充类型 Ba = True '是否关联 Dim Outer(0 To 0) As AcadEntity
Dim i As Integer Dim j As Integer Dim s As Integer Dim Plobj As AcadPolyline Dim coor As Variant Dim coords As Variant Dim pnt As Variant Dim Sset As AcadSelectionSet
'clearsset
Set Sset = ThisDrawing.SelectionSets.Add("GD")
ThisDrawing.Utility.GetEntity ent, pnt, "c"
coords = ent.Coordinates
Sset.SelectByPolygon acSelectionSetWindowPolygon, coords
Dim K As Integer
ReDim Inner(0 To Sset.Count - 1) As AcadEntity
For K = 0 To Sset.Count - 1
Set Inner(K) = Sset.Item(K)
Next Sset.Delete Set Outer(0) = ent '定义填充外边界
Set Hatchobj = ThisDrawing.ModelSpace.AddHatch(Ptype, Pname, Ba) 'Hatchobj.HatchStyle = acHatchStyleOuter Hatchobj.AppendOuterLoop Outer
Hatchobj.AppendInnerLoop Inner
Hatchobj.Evaluate
ThisDrawing.Regen True
End Sub
|