QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
7天前
查看: 3475|回复: 6
收起左侧

[分享] Autocad VBA初级教程

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

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

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

x
引用该贴作为教材,介绍简单的VBA编程。(本人将其转化为PDF形式); g5 t* Q0 Q# g6 d+ F' g0 p6 v
一,同心圆问题
& U* Z- f# W  A0 W6 k: `5 F1 `源程序如下
6 r& o! I* {4 j' x1 Z9 U2 BSub c100()
& x' N% s8 ^4 vDim cc(0 To 2) As Double '声明坐标变量* O9 w% m2 l1 O7 [
cc(0) = 1000 '定义圆心座标
2 g" z1 M9 X3 E/ Mcc(1) = 1000: j6 g& X. X5 h3 g. G" m
cc(2) = 0! }) z7 k- O& `: w
For i = 1 To 1000 Step 10 '开始循环
# U# v* u. R" F% Q" E9 b+ y  Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆
# l& d- k- A  W4 R$ }1 ^Next i0 N" D/ l) T* ?9 C7 I8 Q
End Sub: C* r' N' x& s! f
操作步骤如下
+ B% b) n; X  g  c& k9 b; K1、在模型空间按快捷键Alt+F8(或点菜单“工具->宏->宏(M)”),出现宏窗口
# Z  [# U# Q5 \6 m) W- V' m" ?" H# }/ h* ]$ W/ C
$\5w( ~6 f; R( A! ]
q{7 c5 O4 x9 O* n4 B. T5 J/ A
2008年1月26日更新PDF文件
0 i' R! M2 p3 J4 G4 G9 ^/ _$ w: a% ?" @8 l
[ 本帖最后由 auluolal 于 2008-1-26 15:34 编辑 ]

Autocad VBA初级教程.pdf

266.43 KB, 下载次数: 164

 楼主| 发表于 2008-1-25 00:26:39 | 显示全部楼层 来自: 中国江苏无锡
2、在宏名称中填写C100,点“创建”、“确定”
9 A' ~* b7 U( p2 {* \/ T, d% q/ D2 d3、 在Sub c100()和End Sub之间粘贴代码2 o6 ?0 O! A; p
4、回到模型空间,再次按Alt+F8,点击“运行”2J
  [1 \, E1 a& Y' ]  h8 C不会贴图,所以将图附件上传。
2 |' v; Z% Q  q, U, N* m% X个人理解:# s5 q: |- `8 X4 |! T
1、宏是用来做一些重复的繁琐的文件,虽然最终能实现很复杂的功能,但还是重复劳动) \& K' i: Y1 f. O2 s5 M
2、宏的存储范围决定了他的应用范围,这个以后会讲到。
5 R4 K! E& S" B0 r) {3、AddCircle(参数1, 参数2),其中参数1,是个数组参数。(当然可以用Variant表示)! i$ r3 N( g0 q* a0 g

9 I" b! X7 c8 D% }( Q[ 本帖最后由 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 | 显示全部楼层 来自: 中国江苏泰州
二、三维线段的问题# e. C( E7 `* ^$ G
源码如下:
0 g  a" f7 p( {! h/ w/ [& u3 i2 T$ BSub myl()
; [! u0 Y8 t# t3 g5 W; c! oDim p1 As Variant4 M5 K# h2 c1 h, }7 N. r
Dim p2 As Variant2 L8 q3 Z0 }! w& R/ v; X, L3 N
p1 = ThisDrawing.Utility.GetPoint(, "输入点:"), m$ U. V1 o- S; m
z = ThisDrawing.Utility.GetReal("Z坐标:")1 o9 P% [* ]5 g3 ~) R
p1(2) = z
4 K& H6 P5 w  |) f9 N/ nOn Error GoTo Err_Control8 W7 K! s/ t2 [. C3 D
Do0 I- Y) H$ u% @
p2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "输入下一点:")
% P' j9 ?' n) q5 l. h) zz = ThisDrawing.Utility.GetReal("Z坐标:")
  _! y3 ?6 ^" T/ up2(2) = z) n% G5 y$ o+ ?" H1 E
Call ThisDrawing.ModelSpace.AddLine(p1, p2)
1 Z9 K- i( |3 C# T" ]- ~6 d+ n7 {- [# pp1 = p2
' ?% K( \, @4 \0 V( T/ b  hLoop
6 Q! f: @" |' G6 i" {  }4 S/ ~* aErr_Control:$ G+ l. c) n2 ^8 R% z
End Sub
' }( [* }+ d) h  V2 t
( {. y, {/ V+ e! L5 u个人认为要点为: 2 ~# C4 Y' ]. O& p) G4 V
Do  -----  Loop 循环
+ `: q$ X7 b+ U1 N6 l% E) {AddLine函数- E7 o2 G4 l: P8 k2 B
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 )

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