- 积分
- 24588
- 明经币
- 个
- 注册时间
- 2004-3-17
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2004-5-18 22:37:00
|
显示全部楼层
 - Sub Test()
- Dim pMax As Variant
- Dim pnt(2) As Double, dot(2) As Double
- Dim pBlock As AcadBlock, pObj As AcadBlockReference, pEntity(0) As AcadEntity
- Dim pOut(0) As AcadEntity, pHatch As AcadHatch
- Dim pLine As AcadLine
- Set pBlock = ThisDrawing.Blocks.Add(pnt, "*U")
- Dim p1(2) As Double, p2(2) As Double, p3(2) As Double
- p2(0) = 10: p3(1) = 10
- Set pLine = ThisDrawing.ModelSpace.AddLine(p1, p2)
- Application.ZoomExtents
- Application.ZoomPrevious
- pLine.Delete
- pMax = ThisDrawing.GetVariable("EXTMAX")
- pMax(0) = pMax(0) + 2
- pMax(1) = pMax(1) + 2
- pBlock.AddLine p1, p2
- pBlock.AddLine p1, p3
- pBlock.AddLine p2, p3
- pBlock.AddCircle p1, 1
- dot(0) = pMax(0): dot(1) = pMax(1)
- Set pObj = ThisDrawing.ModelSpace.InsertBlock(pMax, pBlock.Name, 1, 1, 1, 0)
- Application.ZoomExtents
- pMax(0) = pMax(0) + 2
- pMax(1) = pMax(1) + 2
- ThisDrawing.SendCommand "-Boundary" & vbCr & pMax(0) & "," & pMax(1) & vbCr & vbCr
- Set pEntity(0) = ThisDrawing.ModelSpace(ThisDrawing.ModelSpace.Count - 1)
- ThisDrawing.CopyObjects pEntity, pBlock
- Set pOut(0) = pBlock(pBlock.Count - 1)
- pOut(0).Move dot, p1
- pEntity(0).Delete
- pObj.Delete
- Application.ZoomPrevious
- Set pHatch = pBlock.AddHatch(0, "Ansi31", True)
- pHatch.AppendOuterLoop (pOut)
- pHatch.Evaluate
- pOut(0).Delete
- Set pObj = ThisDrawing.ModelSpace.InsertBlock(ThisDrawing.Utility.GetPoint, pBlock.Name, 1, 1, 1, 0)
- End Sub
|
|