VB编程在AutoCAD绘图空间创建实心面和图案填充

利用AddSolid方法可以创建实心面,Solid为3或4条变组成的实心面,应用该方法需要4个三维顶点作为参数,当系统变量FILLMODE的值为0时,实心面不填充,为1时填充。语法getval=objcect.AddSolid(point1,point2,point3,point4)。getval新创建的实心面对象,object模型空间、图纸空间或块对象,point双精度型定点坐标。

利用AddHatch方法可以创建图案填充,语法格式如下。

getval=object.AddHatch(PatternType,PatternName,Associativity)

geval新创建的图案填充对象,object模型空间、图纸空间或块对象,PatternType表示图案填充类型的索引,它有三个可选值,acHatchPatternTypePreDefined用AutoCAD标注图案文件Acad.Pat定义的图案进行填充。acHatchPatternTypeDefined用当前线型定义的填充线填充,acHatchPatternTypeCustomDefined用用户自定义的图案文件进行填充。PatternName图案填充名称,Associativity表示图案填充是否与边界关联,如果为true则填充关联边界,边界改变则填充也改变,如果为false则填充不关联边界。

如下代码给两个同心圆组成的圆环进行填充,并将填充关联边界。

Private Sub Command1_Click()
    Dim hatchobj As AcadHatch
    Dim patternname As String
    Dim patterntype As Long
    Dim bassociativity As Boolean
    patterntype = 0
    patternname = "ANSI31"
    bassociativity = True
    Set hatchobj = acadapp.ActiveDocument.ModelSpace.AddHatch(patterntype, patternname, bassociativity)
    Dim outerloop(0 To 0) As AcadEntity
    Dim innerloop(0 To 0) As AcadEntity
    Dim center(0 To 2) As Double
    Dim radius As Double
    center(0) = 3: center(1) = 3: center(2) = 0
    radius = 20
    Set outerloop(0) = acadapp.ActiveDocument.ModelSpace.AddCircle(center, radius)
    Set innerloop(0) = acadapp.ActiveDocument.ModelSpace.AddCircle(center, radius / 2)
    hatchobj.AppendInnerLoop (outerloop)
    hatchobj.AppendInnerLoop (innerloop)
    hatchobj.Evaluate
    acadapp.ActiveDocument.Regen True
    ZoomExtents
End Sub

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值