找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 442|回复: 6

[VBA程序]:hatch命令的vba的实现方法?

[复制链接]
发表于 2004-6-29 18:53:13 | 显示全部楼层 |阅读模式

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

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

×
*-*a :
请教诸位高人:
   我学了一些VBA编程,现在遇到一个问题,使我觉得是否该放弃VBA了。
   就是怎么在VBA 中实现hatch命令,以选择区域方式.
谢谢!
chengdu815@eyou.com
*-*i
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-6-30 05:12:27 | 显示全部楼层
请参考:
Sub vv()
Dim patternName As String
Dim patternType As Long
Dim bassociativity As Boolean
Dim obj As AcadHatch
patternName = "ANSI31"
patternType = acHatchPatternTypePreDefined
associate = True
setq obj = ThisDrawing.ModelSpace.AddHatch(patternType, patternName, associate)
Dim out(0 To 2) As AcadEntity
Dim n As Integer
For n = 0 To 2
    Set out(n) = ThisDrawing.ModelSpace.Item(n)
Next
Dim inner(0 To 1) As AcadEntity
For n = 0 To 1
    Set inner(n) = ThisDrawing.ModelSpace.Item(n + 3)
Next
obj.AppendOutLoop out
obj.AppendInnerLoop inner
obj.eveluate
obj.Update
End Sub
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-30 08:10:18 | 显示全部楼层
注意外部边界和内部边界必须是首尾相连的封闭实体数组,这个条件必须满足
另外,如果要实现Hactch命令的效果,可以参考这个贴子
http://www.xdcad.net/forum/showthread.php?s=&threadid=188716
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-1 21:00:08 | 显示全部楼层
编译错误:
子过程或函数未定义。
如何解决?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-1 21:20:45 | 显示全部楼层
最初由 随缘OK 发布
[B]编译错误:
子过程或函数未定义。
如何解决? [/B]

什么意思?把话说清楚,别莫名其妙的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-3 12:26:03 | 显示全部楼层
我在执行vv时,出现编译错误
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-3 17:17:46 | 显示全部楼层
没仔细看,有几处错误
Sub vv()
Dim patternName As String
Dim patternType As Long
Dim bassociativity As Boolean
Dim obj As AcadHatch
patternName = "ANSI31"
patternType = 1
bassociativity = True
Set obj = ThisDrawing.ModelSpace.AddHatch(patternType, patternName, bassociativity)
Dim out(0 To 2) As AcadEntity
Dim n As Integer
For n = 0 To 2
Set out(n) = ThisDrawing.ModelSpace.Item(n)
Next
Dim inner(0 To 1) As AcadEntity
For n = 0 To 1
Set inner(n) = ThisDrawing.ModelSpace.Item(n + 3)
Next
obj.AppendOuterLoop out
obj.AppendInnerLoop inner

obj.Evaluate
obj.Update
End Sub
执行之前先新建一个文件,先画一个三角形,再在里面画两段首尾相连的弧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 02:53 , Processed in 0.469224 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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