QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[分享] Autocad VBA初级教程

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

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

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

x
引用该贴作为教材,介绍简单的VBA编程。(本人将其转化为PDF形式)
+ _) N' L! p1 T6 |5 M. x一,同心圆问题+ P: Y0 h: c! @/ y3 N" a1 T
源程序如下' j% _% f5 X( G: c
Sub c100()$ @5 R- Z2 K9 l2 l+ D! }4 a: t' P
Dim cc(0 To 2) As Double '声明坐标变量* {  {; a2 q* m  o: y3 y
cc(0) = 1000 '定义圆心座标
; i* M: U% K' J% M& p% }cc(1) = 1000
+ [; @. X) H6 y4 ^3 Y* z1 z8 \+ pcc(2) = 0
5 w) l# j6 g# U8 j" {; ]  `For i = 1 To 1000 Step 10 '开始循环5 }, c- f$ q' d. I( {+ o
  Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆
5 Q0 V5 g7 s* r% @' d: fNext i
! W* ~! K/ t1 f2 QEnd Sub$ K" {! S% \' {# ]$ G' x  ]$ \' I
操作步骤如下  l8 G4 i, D) z* d5 S% p
1、在模型空间按快捷键Alt+F8(或点菜单“工具->宏->宏(M)”),出现宏窗口) [5 Q, |8 @% N3 U1 E% H' G
- f5 E% k% A3 x6 L* F& v
$\5w* z) B" J3 H2 h1 J1 ~
q{
3 Y# X/ j# Y2 ?) d- u6 c3 W2008年1月26日更新PDF文件
' C* B! V* F: @) Z: f: Y8 @7 n$ |& W2 H4 u, h+ i
[ 本帖最后由 auluolal 于 2008-1-26 15:34 编辑 ]

Autocad VBA初级教程.pdf

266.43 KB, 下载次数: 164

 楼主| 发表于 2008-1-25 00:26:39 | 显示全部楼层 来自: 中国江苏无锡
2、在宏名称中填写C100,点“创建”、“确定”8 n2 N+ a: M( v8 e% ]
3、 在Sub c100()和End Sub之间粘贴代码2 J1 D* z' ^$ u5 \
4、回到模型空间,再次按Alt+F8,点击“运行”2J
2 o! l& e% q3 b( T8 w% r& m不会贴图,所以将图附件上传。
- R2 g( X5 |4 m* q个人理解:
, p, [8 q* ^: I: C" D; {1、宏是用来做一些重复的繁琐的文件,虽然最终能实现很复杂的功能,但还是重复劳动( r! I6 i  @! |4 k, s0 ~
2、宏的存储范围决定了他的应用范围,这个以后会讲到。1 g* n/ R9 k$ i2 u* i" [9 C- F! Q$ ~
3、AddCircle(参数1, 参数2),其中参数1,是个数组参数。(当然可以用Variant表示)+ l  b  i! ^" x, _
$ n( S8 x! x( S; |
[ 本帖最后由 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 H( b  v' {* J; L7 X* K; D源码如下:8 ?3 g! n2 I- o! b
Sub myl()# T/ g6 ~# ]+ Z0 [4 [& o
Dim p1 As Variant
: T4 c& r; @- hDim p2 As Variant* p3 ]. X# b; k
p1 = ThisDrawing.Utility.GetPoint(, "输入点:")/ P: J2 D8 Z: T2 f4 N9 q  u
z = ThisDrawing.Utility.GetReal("Z坐标:")
2 P* \; R8 f& E5 _# M, }p1(2) = z0 ?6 b' B3 w# V
On Error GoTo Err_Control
5 E) t' ]; l; z/ X  E. T0 H8 WDo
! s) O- V) R3 @! }; A0 D& D# hp2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "输入下一点:")6 Y, s: L, K+ D+ ]" b7 f9 g' }
z = ThisDrawing.Utility.GetReal("Z坐标:")7 c1 F1 Y# ?, F0 Z
p2(2) = z
4 q- e4 V* D. x1 z" Z' nCall ThisDrawing.ModelSpace.AddLine(p1, p2)# p- l" U! c6 w8 e6 D# ?
p1 = p2& C1 I! J+ m6 A1 A3 Q& t+ E
Loop
/ I4 u4 v& f' W7 s  @7 @Err_Control:! a7 j1 k3 U- g: d& r: `
End Sub
( Q, {0 n2 b. s# I  A5 U% o5 N( [+ ^7 L3 s' ]1 ^
个人认为要点为: # ~8 z1 u# L0 Y8 {) I
Do  -----  Loop 循环
/ |6 D- C* p9 r: T! G, h: a' p! _) XAddLine函数/ {8 A8 K: H7 w% M4 ^
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 )

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