QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[分享] Autocad VBA初级教程

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

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

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

x
引用该贴作为教材,介绍简单的VBA编程。(本人将其转化为PDF形式)
) W2 g" J9 d4 L# |2 `一,同心圆问题+ p7 \6 Y7 s2 P" v) N5 e
源程序如下5 P' V. n  t% W0 Q3 [' ^6 f7 k
Sub c100()' e' O9 B0 L9 U8 V5 q; |0 K4 K
Dim cc(0 To 2) As Double '声明坐标变量
4 `+ v) H! o- Mcc(0) = 1000 '定义圆心座标
; p. u1 C$ J. ]! vcc(1) = 1000
. y# r  [6 b1 d6 }# j- x5 N0 Bcc(2) = 0
- ?( a/ t" R# R) _( l3 g( A; F5 AFor i = 1 To 1000 Step 10 '开始循环2 B- E- h( [8 l
  Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆
6 P9 r2 B' r1 Q: N$ cNext i
+ G5 o& ]" @6 NEnd Sub/ y$ `' W3 A' R& b, E
操作步骤如下# c  e8 S. w4 n) f7 p
1、在模型空间按快捷键Alt+F8(或点菜单“工具->宏->宏(M)”),出现宏窗口! v9 i) b  t  E# x) T

; U) E! [2 @: I$\5w
- f& o$ {; ^, O, C/ l  ?q{' [: Q! w3 }/ e% t- l3 O
2008年1月26日更新PDF文件
, N3 u6 m# k" j
2 q4 B# q8 X6 w2 e) D$ ]& i) E[ 本帖最后由 auluolal 于 2008-1-26 15:34 编辑 ]

Autocad VBA初级教程.pdf

266.43 KB, 下载次数: 164

 楼主| 发表于 2008-1-25 00:26:39 | 显示全部楼层 来自: 中国江苏无锡
2、在宏名称中填写C100,点“创建”、“确定”
; o7 J* R7 p( d# U# R. g3、 在Sub c100()和End Sub之间粘贴代码
* F! \' m7 K- V4 k4、回到模型空间,再次按Alt+F8,点击“运行”2J7 K3 ^) O, T0 E4 M- U8 ]
不会贴图,所以将图附件上传。
- G" X" V  ]) R, k7 a$ c个人理解:
3 S( Y" W- [: D0 k, N1、宏是用来做一些重复的繁琐的文件,虽然最终能实现很复杂的功能,但还是重复劳动  `7 H2 `* k: k$ e0 a  v4 w" r
2、宏的存储范围决定了他的应用范围,这个以后会讲到。9 D- x: R+ @  C' A( \2 }
3、AddCircle(参数1, 参数2),其中参数1,是个数组参数。(当然可以用Variant表示)
; h! ^( F  t1 a, d, N6 |! F
2 s- L9 V9 Q9 w, Z[ 本帖最后由 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 | 显示全部楼层 来自: 中国江苏泰州
二、三维线段的问题2 `3 {8 I0 M" j* Z
源码如下:2 I5 y- K$ h% t  Y& b
Sub myl()
% U7 Q, u. B0 B- WDim p1 As Variant
* y: n& h1 h5 E6 I7 \0 C1 ]Dim p2 As Variant" J7 S' H8 t! x, X  H( z
p1 = ThisDrawing.Utility.GetPoint(, "输入点:")
9 x+ m1 m7 o; L/ Y% g' zz = ThisDrawing.Utility.GetReal("Z坐标:")1 ~- _9 t: O1 I5 a5 t  J5 z' M
p1(2) = z
' Q" L, ^* z8 i5 G1 E2 w7 B: BOn Error GoTo Err_Control3 v, ?3 o+ ]9 i: |, Z' M, T
Do* s7 `! A; I$ C( M2 E& q8 \9 V6 g
p2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "输入下一点:")
# C, D8 _2 O. R/ ]  xz = ThisDrawing.Utility.GetReal("Z坐标:")
/ N1 [4 C4 c+ B$ d" u0 t* U) ?p2(2) = z  d1 I4 _5 x( y* Q! w
Call ThisDrawing.ModelSpace.AddLine(p1, p2)
+ \8 n1 ]  H. V" i% yp1 = p2
/ i" m( W+ Q+ `Loop5 m, x. W4 k* w! Y. k
Err_Control:( y! j: N2 `' }' a! h
End Sub* f3 ^8 y- y* u+ r' U
" ?. g! l' b5 S5 b
个人认为要点为:
# p! O4 y  v( ODo  -----  Loop 循环
2 B1 s2 R& o3 W2 CAddLine函数6 a+ N: }+ E. q' b! K3 o
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 )

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