QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
10天前
查看: 3424|回复: 6
收起左侧

[分享] Autocad VBA初级教程

[复制链接]
发表于 2008-1-25 00:15:11 | 显示全部楼层 |阅读模式 来自: 中国江苏无锡

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

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

x
引用该贴作为教材,介绍简单的VBA编程。(本人将其转化为PDF形式)) e/ u, Y1 S/ B) g
一,同心圆问题! p! b2 @# N5 L, X: p1 H
源程序如下7 C" O' ^1 i2 R1 \
Sub c100()
3 N" R" q$ b+ N6 H/ T3 kDim cc(0 To 2) As Double '声明坐标变量' u1 F' g. M# h' {- a0 S
cc(0) = 1000 '定义圆心座标
2 {5 |1 d! [3 `cc(1) = 1000
* [; d+ t2 j6 E/ `$ mcc(2) = 0
8 |. |! b; H8 H3 j7 j+ s; E4 X  ~: FFor i = 1 To 1000 Step 10 '开始循环
& c& R. k" o8 x  Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆
" S$ G2 U; ~$ x$ m% P! LNext i7 x' ~" V0 ^# O. u. Z3 i; _
End Sub
* e  c5 s( G  I操作步骤如下8 e! F7 B& x) X1 p
1、在模型空间按快捷键Alt+F8(或点菜单“工具->宏->宏(M)”),出现宏窗口) y7 L  i4 Y1 L. b! T
$ w% r. k! k5 f5 ~' X6 c9 _  L
$\5w
1 [/ M* V8 A0 P7 x0 x) i( ^( Iq{1 _9 A' j9 o( B0 z2 `  c8 v
2008年1月26日更新PDF文件
, ?! O) E( I6 Y9 z; G7 e, y, ~0 [2 F& p2 t, n
[ 本帖最后由 auluolal 于 2008-1-26 15:34 编辑 ]

Autocad VBA初级教程.pdf

266.43 KB, 下载次数: 164

 楼主| 发表于 2008-1-25 00:26:39 | 显示全部楼层 来自: 中国江苏无锡
2、在宏名称中填写C100,点“创建”、“确定”
4 d. L% y' `- h) ^3、 在Sub c100()和End Sub之间粘贴代码
3 M& Y. L4 Z/ D. o+ |- L4、回到模型空间,再次按Alt+F8,点击“运行”2J& P* k& n- a' D2 h2 E3 }  t) ]
不会贴图,所以将图附件上传。
" F) x7 k! O, `# u: N. P. T个人理解:
$ R0 O6 r& A% f6 g/ z  W0 `1、宏是用来做一些重复的繁琐的文件,虽然最终能实现很复杂的功能,但还是重复劳动
! N! [! X. z* z2 S2、宏的存储范围决定了他的应用范围,这个以后会讲到。
# b# O  w) |  e! v- W3、AddCircle(参数1, 参数2),其中参数1,是个数组参数。(当然可以用Variant表示)
3 k' W8 w# j' p5 ^8 R+ |# m# |6 W
5 B3 R/ p5 Q) ]1 ^) i[ 本帖最后由 auluolal 于 2008-1-25 01:01 编辑 ]
1_3.jpg
1.jpg
2.jpg
3.jpg
发表于 2008-1-25 09:23:02 | 显示全部楼层 来自: 中国辽宁鞍山
有没有深入一点的资料
 楼主| 发表于 2008-1-26 15:56:23 | 显示全部楼层 来自: 中国江苏泰州
二、三维线段的问题% }( _0 t3 y1 @+ M
源码如下:$ _( b  Q7 J; ]; o9 G
Sub myl()
! q4 k+ B& G5 kDim p1 As Variant
  s: O8 c; s2 Q" t% Q. U- s  Y3 EDim p2 As Variant
" F8 r+ ?! E+ ?- i$ P/ w4 ]; M6 Kp1 = ThisDrawing.Utility.GetPoint(, "输入点:")! _. I/ \" u5 x) k" v7 ^
z = ThisDrawing.Utility.GetReal("Z坐标:")
! N! b6 v  L" y& G4 d5 X5 z- i+ m' op1(2) = z" ]. s! B: t( i
On Error GoTo Err_Control
9 e" U! a& v5 \+ |3 {Do
2 a  O$ h, K) o. Tp2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "输入下一点:")
  D7 [" ^4 q$ ez = ThisDrawing.Utility.GetReal("Z坐标:")" `- C& E$ ]1 r9 v( y; E
p2(2) = z$ r  \8 m8 O& J2 W( m7 z0 B9 @
Call ThisDrawing.ModelSpace.AddLine(p1, p2)2 b1 Y. C' v" E
p1 = p2' B1 q8 D1 d3 }3 d& U9 x9 ?! r" ^
Loop. Q. `) R5 s& ~$ d9 n2 @
Err_Control:8 e: K# u% q4 G+ W
End Sub: P( ~8 ]3 o, y4 b( r/ H
4 K' t& }: i: [4 R; ]. R! b* c$ Q
个人认为要点为: : C8 x5 a, m+ b' v' x. `4 y2 e
Do  -----  Loop 循环
, }8 G1 v' i1 c3 X+ d/ o& zAddLine函数( V& G$ f4 [% D% z7 w5 ]( C4 R) ~# L" \
On Error goto 标号
发表于 2008-2-5 11:08:32 | 显示全部楼层 来自: 中国浙江杭州
我十分想学习CAD方面的知识。谢谢楼主分享!
发表于 2008-9-8 18:05:38 | 显示全部楼层 来自: 中国广东东莞
谢谢啊,刚开始学
发表于 2014-2-4 20:57:47 | 显示全部楼层 来自: 中国广西柳州
需要更深入的资料啊!!先谢谢哦!!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

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