QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3406|回复: 4
收起左侧

[已解决] autocad vba 两个面域不能相减!!!

[复制链接]
发表于 2013-5-31 14:51:28 | 显示全部楼层 |阅读模式 来自: 中国上海

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
各位高手: 在下有一段两个面域进行相减的代码,但执行完后,并没有进行bool运算,不知何因,请赐教,万分感谢! bool运算的代码如下:* ?( @9 C+ v! o9 O7 q/ ?4 W, q
Dim circleR2 As Object
  d0 K) W( f+ QDim regionHob As Object, regionDa As Object
9 g" ^# _, Q3 Y4 h) m% aSet circleRa2 = acadDoc.modelspace.addcircle(centerpoint, ra2)
, S6 B( \! l/ k6 o5 HSet da_profile(0) = circleRa2regionDa = acadDoc.modelspace.addRegion(da_profile) 'no set
1 e, r$ X1 l/ a/ hSet hob_profile(0) = plregionHob = acadDoc.modelspace.addRegion(hob_profile)" `5 j' m0 _) h2 e
regionDa.Boolean acSubtraction, regionHob8 n" C( R4 e# o- [7 f0 i2 a# I9 d

) }- [; L$ \% N另,附有生成的dwg文件。 ' u* ~0 K8 A- f
region.zip (31.47 KB, 下载次数: 4)
发表于 2013-6-4 01:54:50 | 显示全部楼层 来自: 中国辽宁
你确定你贴上来的是VBA代码?, ]. l8 h' t- M
下面是根据你现有的图进行差集的VBA代码
  1. Dim R1 As AcadRegion, R2 As AcadRegion
    , j* c8 _; a" l4 J; |; E: T0 \
  2. Set R1 = ThisDrawing.ModelSpace.Item(1)
    ) }1 f# b+ B# d. R
  3. Set R2 = ThisDrawing.ModelSpace.Item(3)2 z9 H3 ]; K7 k! k3 r
  4. R1.Boolean acSubtraction, R2
复制代码
 楼主| 发表于 2013-6-5 16:22:50 | 显示全部楼层 来自: 中国上海
woaishuijia 发表于 2013-6-4 01:54 static/image/common/back.gif
8 j5 s4 b. H8 z; }( f# T' a( _你确定你贴上来的是VBA代码?
4 A3 L  T: Z7 B1 d下面是根据你现有的图进行差集的VBA代码

! d2 d) ]  b8 c; {4 u" P# [$ J我是用VB6编写的,直接调用autocad,生成图形。7 c: e/ r) c: z0 R
不是用vb.net ,版主用的是.net吧?
发表于 2013-6-5 17:10:36 | 显示全部楼层 来自: 中国天津
不是,VB6和基于VB6的VBA
 楼主| 发表于 2013-6-7 09:04:32 | 显示全部楼层 来自: 中国上海
woaishuijia 发表于 2013-6-5 17:10 static/image/common/back.gif
* f3 q& N" f* e7 a4 V0 h不是,VB6和基于VB6的VBA

$ W  _, p0 ^/ I  ~' ~/ I  O6 U那我可能用的是低版本的autocad,不过还是多谢了,7 G6 p; E/ b: x4 Z# i& ]/ S
后来解决了,生成面域的时候必须的用数组才行。% J9 E/ i: e# j
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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