QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
各位高手: 在下有一段两个面域进行相减的代码,但执行完后,并没有进行bool运算,不知何因,请赐教,万分感谢! bool运算的代码如下:
2 b" T- y2 W% S. CDim circleR2 As Object; T5 s& t* h3 n+ k4 ~
Dim regionHob As Object, regionDa As Object
/ X* G  R% L2 ]+ GSet circleRa2 = acadDoc.modelspace.addcircle(centerpoint, ra2)# P" Z7 [! k# O. y1 B+ l9 B
Set da_profile(0) = circleRa2regionDa = acadDoc.modelspace.addRegion(da_profile) 'no set0 o0 i. Z+ r1 i, C: J1 h* m
Set hob_profile(0) = plregionHob = acadDoc.modelspace.addRegion(hob_profile)
& @( S( U6 N" m: d' t! {3 j$ qregionDa.Boolean acSubtraction, regionHob
# R3 O) b# {' J8 |2 |9 d
+ @1 y5 l4 Q, I另,附有生成的dwg文件。 # f8 E2 k# y( O6 v# P
region.zip (31.47 KB, 下载次数: 4)
发表于 2013-6-4 01:54:50 | 显示全部楼层 来自: 中国辽宁
你确定你贴上来的是VBA代码?
' I( q$ s; [0 s) T# a' _8 T下面是根据你现有的图进行差集的VBA代码
  1. Dim R1 As AcadRegion, R2 As AcadRegion% H: D' M% n9 w
  2. Set R1 = ThisDrawing.ModelSpace.Item(1)( G; `$ m' X; q( i
  3. Set R2 = ThisDrawing.ModelSpace.Item(3)# V- ]7 ]# a. z9 r
  4. R1.Boolean acSubtraction, R2
复制代码
 楼主| 发表于 2013-6-5 16:22:50 | 显示全部楼层 来自: 中国上海
woaishuijia 发表于 2013-6-4 01:54 static/image/common/back.gif
: [$ g4 J* F+ {! w6 o; Z, O你确定你贴上来的是VBA代码?
( J5 J+ ], J; l下面是根据你现有的图进行差集的VBA代码

4 ~7 ?( d* x, \( r" |5 i我是用VB6编写的,直接调用autocad,生成图形。% ~. \- l0 P% {7 Q! O2 B
不是用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* `- T. k2 `/ w9 r  c
不是,VB6和基于VB6的VBA
( x! v0 s2 R5 j' R/ O4 S: W% A
那我可能用的是低版本的autocad,不过还是多谢了,
) d( ?( k; d) i  d- D后来解决了,生成面域的时候必须的用数组才行。
* j% c: o7 c: |; V3 \& J: o
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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