QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[分享] Autocad VBA初级教程

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

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

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

x
引用该贴作为教材,介绍简单的VBA编程。(本人将其转化为PDF形式): }: E/ Q6 z* U( ?$ ^& }" X
一,同心圆问题* t6 K: S* u9 R% o, c9 C
源程序如下* m( ?+ i, w" R: v+ J
Sub c100()) |7 t: M! K/ K& G
Dim cc(0 To 2) As Double '声明坐标变量9 Z0 U3 q+ ]+ q& x1 P2 a
cc(0) = 1000 '定义圆心座标
# s. c( o( N- ?8 o& t7 }cc(1) = 1000) Q2 n8 H" L2 k' O# P; F
cc(2) = 0
8 `( |  \8 p% Y- NFor i = 1 To 1000 Step 10 '开始循环5 m+ M& u( T/ D
  Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆3 v# Z) g0 h. \) ^+ d, E( `% [/ B
Next i4 Y- \" Z) L: \3 j
End Sub
5 }' l1 q! u& ~' l' o操作步骤如下! E1 r) v- o. J
1、在模型空间按快捷键Alt+F8(或点菜单“工具->宏->宏(M)”),出现宏窗口% D9 Y( H5 @5 g7 p

9 o' ^1 V* `( L* p/ K2 x' l2 i$\5w. a3 C/ y7 R2 y1 j
q{
+ M2 Q* S1 C/ f7 e8 @9 Z1 H% V2008年1月26日更新PDF文件$ G- c, Y7 j% Q' _, G) {

$ l1 [( ^1 s7 {) d4 z. p[ 本帖最后由 auluolal 于 2008-1-26 15:34 编辑 ]

Autocad VBA初级教程.pdf

266.43 KB, 下载次数: 164

 楼主| 发表于 2008-1-25 00:26:39 | 显示全部楼层 来自: 中国江苏无锡
2、在宏名称中填写C100,点“创建”、“确定”  I- T6 l# S8 @
3、 在Sub c100()和End Sub之间粘贴代码
3 n- y* i9 V1 T& ^4 d; N; \1 F4、回到模型空间,再次按Alt+F8,点击“运行”2J4 U/ n0 }0 k$ ]) v
不会贴图,所以将图附件上传。
& m3 [" `6 b/ D( x; x2 e个人理解:
! \/ }9 r$ \% v$ x& G; U# c1、宏是用来做一些重复的繁琐的文件,虽然最终能实现很复杂的功能,但还是重复劳动/ A! q$ T: g; l1 n* W
2、宏的存储范围决定了他的应用范围,这个以后会讲到。4 g! t4 Z/ f; m- U: c
3、AddCircle(参数1, 参数2),其中参数1,是个数组参数。(当然可以用Variant表示)
" X4 y' O  v' W" ?2 G, T% c: @. o# E+ }/ C# j3 e$ p! T, F
[ 本帖最后由 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 | 显示全部楼层 来自: 中国江苏泰州
二、三维线段的问题
  h9 c  r: t6 p8 c源码如下:
1 [' r0 _6 f$ w+ ASub myl()3 p6 j( n% I  d- N, B
Dim p1 As Variant
1 m+ C# m( R& ^- F. p5 u- f& j% kDim p2 As Variant
- d  W6 H4 Z, @p1 = ThisDrawing.Utility.GetPoint(, "输入点:")
/ {% h0 k) A5 u* c0 az = ThisDrawing.Utility.GetReal("Z坐标:")
! d$ R2 i$ M' P; n+ c1 |p1(2) = z
4 M& Z. L$ b7 z- V: N( \6 {On Error GoTo Err_Control! ~4 M0 B$ q6 v; o% J, M( d
Do& W  W, G8 i+ q, A; A
p2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "输入下一点:")
% P) s6 `: R4 O7 }z = ThisDrawing.Utility.GetReal("Z坐标:")
( J. l  t. q* lp2(2) = z  v" f  e- ~% z# A8 M8 P3 i
Call ThisDrawing.ModelSpace.AddLine(p1, p2)  e* n% R! U: v) {
p1 = p2
2 w; q) G5 H$ {  T. ~Loop
' z1 p, q! `! z" x- PErr_Control:
6 I. H% c: @: R8 }3 y* j& k& ^: |End Sub$ {8 O: Z: _6 g% u6 i& C

; Z1 G; s0 Q+ d+ ]' r! A) N$ ]个人认为要点为: ( L- m# r0 c5 S# o3 H9 j7 [
Do  -----  Loop 循环
3 o1 g- i6 N7 [4 P1 A7 ], TAddLine函数
  _3 I2 W0 X6 J0 Q% TOn 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 )

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