QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 3709|回复: 6
收起左侧

[已答复] AutoCAD2010定义面域

[复制链接]
发表于 2011-11-9 17:13:36 | 显示全部楼层 |阅读模式 来自: LAN

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

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

x
请高手指点,怎样用VBA定义面域?我用ThisDrawing.Modelspace.AddRegion实现不了。
发表于 2011-11-10 13:15:42 | 显示全部楼层 来自: 中国辽宁
1# lioney
5 Y2 W) I- A8 g' v* _- g: c( d你不上传有关文件和代码,谁也无法知道你错在哪里.
 楼主| 发表于 2011-12-1 11:57:07 | 显示全部楼层 来自: LAN
我其实想要画一根齿条,7个齿,但齿顶必须有圆角,用多义线很难实现。如果用直线和圆弧,在VBA怎样实现?怎么将面域传递给一个变量?
% w) Q3 W, N" V( ~; A5 p2 H+ t我现在是用sendcommand来实现的,然后手工点击齿条,传递给变量。
发表于 2011-12-1 14:25:00 | 显示全部楼层 来自: 中国辽宁营口
本帖最后由 woaishuijia 于 2011-12-1 14:35 编辑 $ J7 _0 M: L* Y- f& {8 x

- a- a) d/ ~+ A 4# woaishuijia
& W2 w/ v' O8 s0 z4 N2 S$ L创建面域对象的AddRegion方法需要一个参数:构成面域的边界的对象数组,数组中的对象必须首尾相连构成封闭图形。
( Y1 o! `2 Z1 R. k! q, |该方法的返回值是一个面域对象数组--因为可能生成不止一个面域,通常这个返回值用一个变体变量接收,也可以用一个动态数组。
  q9 \* ]4 T; [下面的例子用两条直线和一个圆弧生成一个面域2 L- Z) o5 d; f' |% w) z, T
本例第一行声明变量中,接收面域的变量用的是变体变量,如果用动态数组可以写成 dim 面域数组() as acadregion。
6 u1 _/ ~! L4 T. j  }; e( I& I
  1. Dim 对象数组(2) As Object, P1(2) As Double, P2(2) As Double, 面域数组 As Variant, I As Integer; E- {/ P. E% i1 f- ~* ^
  2. With ThisDrawing
    " d5 v0 v! E+ a4 R+ U5 X; Y
  3.     P2(0) = 10
    % \4 _" K" S; Y- ]) d% d8 u, ~# y
  4.     Set 对象数组(0) = .ModelSpace.AddLine(P1, P2)+ u* [- G/ w% q+ P9 ?; r+ E1 C  {& }
  5.     P2(0) = 0: P2(1) = 106 t( x, W& }0 B' d
  6.     Set 对象数组(1) = .ModelSpace.AddLine(P1, P2)
    ; G, Z( X8 ^9 v+ n+ C5 v2 j- U3 ^8 ~, Q
  7.     Set 对象数组(2) = .ModelSpace.AddArc(P1, 10, 0, .Utility.AngleToReal(90, acDegrees))
    " @, @0 z5 n4 M8 g) P, q4 B
  8.     面域数组 = .ModelSpace.AddRegion(对象数组)
    ! e# ^- U9 _$ P% B" H7 U
  9.     For I = 0 To 26 S  P$ |1 n0 w8 Z; T' H' x
  10.         对象数组(I).Delete
    2 D4 ~  a/ J- B% `2 q' \* q
  11.     Next
    $ K* K7 r, h/ L' i' ?) [6 H
  12.     面域数组(0).color = acRed
    4 c* U/ E* Q, T; Q3 N
  13. End With3 [0 J6 }' [5 n" y
复制代码
 楼主| 发表于 2011-12-2 16:03:53 | 显示全部楼层 来自: LAN
谢谢,我再试试
 楼主| 发表于 2011-12-15 15:06:55 | 显示全部楼层 来自: LAN
谢谢版主,已经试过了,可以的
发表于 2016-10-28 09:41:24 | 显示全部楼层 来自: 中国上海
lioney 发表于 2011-12-1 11:57
1 J& I6 ]5 o' m6 h/ w1 C我其实想要画一根齿条,7个齿,但齿顶必须有圆角,用多义线很难实现。如果用直线和圆弧,在VBA怎样实现?怎 ...
% m9 L4 A3 G0 t! B6 ?8 |$ }6 `
用多义线可以实现,setbulge
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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