找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 635|回复: 2

[求助]:关于剖面线的

[复制链接]
发表于 2005-5-9 15:04:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
剖面线在VBA中是怎样实现的啊?
我有人能给我一个画剖面线的范例吗?
谢谢!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-5-10 19:34:29 | 显示全部楼层
帮助里有的,你没有帮助么?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-15 23:06:42 | 显示全部楼层
好的,我自己编的,给你参考参考!
Sub poumianxian()
   Dim a As Double
   Dim b As Double
   Dim r As Double

   Dim p0  As Variant
   
   Dim p1(0 To 2) As Double
   Dim p2(0 To 2) As Double
   Dim p3(0 To 2) As Double
   Dim center(0 To 2) As Double
   Dim m As AcadModelSpace
   Dim outerloop(0 To 3) As AcadEntity
   Dim lineObject(0 To 3) As AcadLine
   Dim innerloop(0) As AcadEntity
   Dim circleObject As AcadCircle
   Dim hatchObject As AcadHatch
   
   a = ThisDrawing.Utility.GetReal("输入宽度:")
   b = ThisDrawing.Utility.GetReal("输入高度:")
   r = ThisDrawing.Utility.GetReal("输入内圆半径:")
   
     
   p0 = ThisDrawing.Utility.GetPoint(, "输入图形插入点:")
   
      
   center(0) = p0(0) + a / 2#
   center(1) = p0(1) + b / 2#
   center(2) = p0(2)
   
   p1(0) = p0(0) + a
   p1(1) = p0(1)
   p1(2) = p0(2)
   
   p2(0) = p1(0)
   p2(1) = p1(1) + b
   p2(2) = p1(2)
   
   p3(0) = p2(0) - a
   p3(1) = p2(1)
   p3(2) = p2(2)
   
   Set m = ThisDrawing.ModelSpace
   
   Set lineObject(0) = m.AddLine(p0, p1)
   Set lineObject(1) = m.AddLine(p1, p2)
   Set lineObject(2) = m.AddLine(p2, p3)
   Set lineObject(3) = m.AddLine(p3, p0)
   
   Set circleObject = m.AddCircle(center, r)
   
      
   '画剖面线
    Dim hatchObj As AcadHatch
    Dim patternName As String
    Dim PatternType As Long
    Dim assocVar As Boolean
   
    '定义剖面线的模式
    patternName = "ANSI31"
    PatternType = 0
    '设定剖面线与外轮廓线相关联
    assocVar = True
   
    '在模型空间创建剖面线对象
    Set hatchObject = m.AddHatch(PatternType, patternName, assocVar)
   
    hatchObject.PatternScale = 3
   
    '创建内外轮廓线
   
    Dim i As Integer
    For i = 0 To 3
        Set outerloop(i) = lineObject(i)
    Next
      Set innerloop(0) = circleObject
    hatchObject.AppendOuterLoop (outerloop)
    hatchObject.AppendInnerLoop (innerloop)
    hatchObject.Evaluate
    ThisDrawing.Regen True
   
End Sub
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-29 01:26 , Processed in 0.350818 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表