QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[分享] Autocad VBA初级教程

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

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

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

x
引用该贴作为教材,介绍简单的VBA编程。(本人将其转化为PDF形式)
  k* E4 h) `1 M4 n  q# G, r一,同心圆问题* r) x! `4 L- |" C
源程序如下& a- R5 a, c' t& p$ U
Sub c100()
! b2 Y% C0 D( @: B) M. t# B  j3 l/ wDim cc(0 To 2) As Double '声明坐标变量
. j: }9 c+ L: w0 P! t! ecc(0) = 1000 '定义圆心座标
9 B8 d) m& Y! M# M5 c8 _5 Mcc(1) = 1000
; @7 L* i% Z8 e6 p( l5 g7 icc(2) = 0
; f; s& h3 T% C4 m$ U. |) U" AFor i = 1 To 1000 Step 10 '开始循环
/ [; J0 R) e9 S; |6 }- }  p  Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆% P5 D5 s# U/ ^
Next i. z% N" W6 c' ?" R  k5 [
End Sub7 \0 q4 K* Y; l5 t! |
操作步骤如下
# T3 g9 \' l" l9 y4 g4 \1、在模型空间按快捷键Alt+F8(或点菜单“工具->宏->宏(M)”),出现宏窗口
. L3 M# K: a/ y. b, C5 v3 F. p0 j4 [4 t2 }2 ]. i; }+ }8 d% d
$\5w9 Q/ `. X1 o, E2 ^
q{
6 X! R4 m6 ?1 L0 l- U- {! w3 r: K2008年1月26日更新PDF文件0 Z7 o% b5 T3 X4 u/ D- r

- e9 w2 q  j: B# Q[ 本帖最后由 auluolal 于 2008-1-26 15:34 编辑 ]

Autocad VBA初级教程.pdf

266.43 KB, 下载次数: 164

 楼主| 发表于 2008-1-25 00:26:39 | 显示全部楼层 来自: 中国江苏无锡
2、在宏名称中填写C100,点“创建”、“确定”
3 G) ^% |# w/ X  M3、 在Sub c100()和End Sub之间粘贴代码2 O* \) @' y* n$ G# z9 D
4、回到模型空间,再次按Alt+F8,点击“运行”2J/ F" Z1 K4 M- Z- `( [
不会贴图,所以将图附件上传。& u$ d& v. L9 Y& |/ v
个人理解:
  w* j# J1 e2 \* n8 [1、宏是用来做一些重复的繁琐的文件,虽然最终能实现很复杂的功能,但还是重复劳动% i+ b/ e+ [/ {5 }
2、宏的存储范围决定了他的应用范围,这个以后会讲到。  C& P, u, v. Q% d' R
3、AddCircle(参数1, 参数2),其中参数1,是个数组参数。(当然可以用Variant表示)
6 Z5 K, ^, B1 d  L
! l$ N" @* R" L" M( U4 K1 d[ 本帖最后由 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 B( B+ [- Q' ~3 [" a3 w
源码如下:
8 _( L- w3 }% ^( W' rSub myl()" l( {' t- v& C; y3 N# a
Dim p1 As Variant4 K) I' i, B1 h; ^) ~5 K
Dim p2 As Variant
9 m. x" M, s6 u7 k) ~! ~  K" Up1 = ThisDrawing.Utility.GetPoint(, "输入点:")8 C( T: M: S. r
z = ThisDrawing.Utility.GetReal("Z坐标:")/ U7 w( G8 G. z% f2 Z$ {# p- z
p1(2) = z
& y- `: ?# J3 j- I+ j# FOn Error GoTo Err_Control
6 r! I% C% _+ H" x% S; ADo$ t/ f& H6 t% _  k
p2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "输入下一点:")3 n+ V% Z6 B6 _9 u- d/ W' c
z = ThisDrawing.Utility.GetReal("Z坐标:")4 Q( q! v9 W# K  V" y
p2(2) = z
5 b( V+ r: t( a- P( x; B- M. YCall ThisDrawing.ModelSpace.AddLine(p1, p2)% X4 Y- I9 w7 W7 `* f. f( T. r
p1 = p2
, r+ O1 m- s0 s8 Q$ \0 w, g6 M7 _Loop$ H$ z; Y6 l% H, v
Err_Control:; F. f1 S  `* [( C$ M
End Sub
5 ~+ `  E5 u( U/ G
/ u8 j" n* O+ A8 M7 ?2 a个人认为要点为:
5 e; r4 ~+ X5 Q, t$ hDo  -----  Loop 循环
, r1 z, k4 G& K2 G$ l  yAddLine函数
! U; j5 A5 Z5 [2 H7 ?6 V( R' iOn 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 )

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