Sub test() Dim hatchObj As AcadHatch Dim patternName As String Dim PatternType As Long Dim bAssociativity As Boolean Dim outerLoop(0 To 0) As AcadEntity ' 定义图案填充 patternName = "ANSI31" PatternType = 0 bAssociativity = True ' 当前图纸的实体数目 Dim n As Long n = ThisDrawing.ModelSpace.Count ' 调用BOUNDARY命令获取某一点处的边界 Dim Pt As Variant Pt = ThisDrawing.Utility.GetPoint(, "指定内部点: ") ThisDrawing.SendCommand "_-Boundary" & vbCr & Pt(0) & "," & Pt(1) & vbCr & vbCr ' 如果存在边界,则会生成新的实体 Dim lwpLineObj As AcadLWPolyline If ThisDrawing.ModelSpace.Count > n Then Set lwpLineObj = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count - 1) MsgBox lwpLineObj.Area ' lwpLineObj.Delete lwpLineObj.Closed = True Else MsgBox "未发现有效的边界。" End If outerLoop(0) = lwpLineObj hatchObj.AppendOuterLoop (outerLoop) hatchObj.Evaluate ObjDoc.Regen True End Sub |