QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[分享] Autocad VBA初级教程

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

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

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

x
引用该贴作为教材,介绍简单的VBA编程。(本人将其转化为PDF形式)
, C. i- A% e" ], R* i一,同心圆问题6 i( p# b) f) C& {/ N( X' j
源程序如下
8 C$ ~, S3 F; f( X: aSub c100()
9 A, ^7 W( t) `* I5 U( jDim cc(0 To 2) As Double '声明坐标变量
" C# ~# d, {9 g- H0 ucc(0) = 1000 '定义圆心座标
) C7 l  [9 _& e7 \$ y5 |cc(1) = 10006 d9 K9 t9 B2 c6 i
cc(2) = 07 Y9 ]# J& V7 q4 B
For i = 1 To 1000 Step 10 '开始循环
, t6 M2 m3 i; L. v  Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆
2 x4 ]2 s! n; {4 J) F) zNext i
: ~1 D, z; d+ G4 fEnd Sub
; h- @/ y/ F: T) f! d操作步骤如下) s4 M5 i8 Y1 Y2 o% \
1、在模型空间按快捷键Alt+F8(或点菜单“工具->宏->宏(M)”),出现宏窗口
9 z) n6 y/ e! Q1 a% l4 Q- Z8 n/ c
$\5w
4 }, m# p1 U  a& \8 Xq{2 Z$ e: D: R8 T( r+ E3 v+ I1 P/ Q
2008年1月26日更新PDF文件' [8 e, G$ W5 y3 z4 r/ B# g

3 p2 R' a+ a0 W9 \[ 本帖最后由 auluolal 于 2008-1-26 15:34 编辑 ]

Autocad VBA初级教程.pdf

266.43 KB, 下载次数: 165

 楼主| 发表于 2008-1-25 00:26:39 | 显示全部楼层 来自: 中国江苏无锡
2、在宏名称中填写C100,点“创建”、“确定”
* D- r8 V! k0 U* d- `) E+ j2 v& }# h3、 在Sub c100()和End Sub之间粘贴代码
2 z2 T4 S) ~8 c/ j' P# v" w4、回到模型空间,再次按Alt+F8,点击“运行”2J
* t0 E; L' M1 L' }- A, Q# R! O9 v+ [8 v不会贴图,所以将图附件上传。7 [, S. G- m' N* e
个人理解:
  }8 U2 `5 \( N- o) r- w1、宏是用来做一些重复的繁琐的文件,虽然最终能实现很复杂的功能,但还是重复劳动! \( B. o" n% q
2、宏的存储范围决定了他的应用范围,这个以后会讲到。
8 ]+ s- p% N! }8 i1 z' }3、AddCircle(参数1, 参数2),其中参数1,是个数组参数。(当然可以用Variant表示)
+ _# a8 R% s5 T2 r: T
' i: j- i- c+ J9 ]' @% A1 M: D! 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 | 显示全部楼层 来自: 中国江苏泰州
二、三维线段的问题
. U  z" f7 H/ m$ \$ H源码如下:# F; _# j, o9 R  G0 Z" [
Sub myl()( Q" Z3 z1 c, _+ `( ^
Dim p1 As Variant
) z9 O5 i: J0 `1 i% e. q3 IDim p2 As Variant9 x' B% D& w: f( [7 l5 v$ m
p1 = ThisDrawing.Utility.GetPoint(, "输入点:")" q. h' m. G. u( F4 H% v; S
z = ThisDrawing.Utility.GetReal("Z坐标:")- M1 |4 }8 ~! m" [7 k/ P
p1(2) = z6 n# Y% _& x8 J
On Error GoTo Err_Control
7 ~1 c% h- x1 Q, qDo
3 l8 H# t. G) _3 s; Dp2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "输入下一点:")0 B- q, |8 T2 o; I: p! L
z = ThisDrawing.Utility.GetReal("Z坐标:")  f+ M' F. q$ n% Z
p2(2) = z- k5 h8 D- r3 ?/ B6 w
Call ThisDrawing.ModelSpace.AddLine(p1, p2): M7 X& {) Y5 g: V+ |3 l3 |
p1 = p2; H6 p* ]9 [% s# ~
Loop+ \+ `$ O3 r* ~6 F
Err_Control:$ Y# e+ E5 {; T9 D6 K! o. I* V  _
End Sub! `; J  s4 E& h
/ R1 B; u' h# g
个人认为要点为: ; R" W- Z, y: L5 ^
Do  -----  Loop 循环1 d' o4 i, K& T4 g1 }6 K9 S, U  C
AddLine函数
1 i' a! t0 y; x8 ^* t/ \, 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 )

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