QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[分享] Autocad VBA初级教程

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

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

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

x
引用该贴作为教材,介绍简单的VBA编程。(本人将其转化为PDF形式)
0 @" @. e  T% H6 t3 r4 C一,同心圆问题
4 L% @! a/ D. X6 h4 @; k7 J3 g源程序如下
5 M) q& G8 b( c5 d" z! Y- Q# s0 rSub c100()
( E/ P$ l- ]( Z! |Dim cc(0 To 2) As Double '声明坐标变量* R9 v& E$ T! M
cc(0) = 1000 '定义圆心座标
5 r8 B- F: Q6 Q# lcc(1) = 10009 u$ G  r4 n0 q8 y0 p
cc(2) = 0/ ?+ z1 S2 ?, ?  _4 _
For i = 1 To 1000 Step 10 '开始循环; i1 k( P* A2 @) `
  Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆3 x$ V" K! F2 Q6 ?' g: ]- u6 K
Next i! p+ G; {) P/ i4 `
End Sub% W, x& N3 B8 G( i
操作步骤如下
2 ]' @" p+ s% Q1、在模型空间按快捷键Alt+F8(或点菜单“工具->宏->宏(M)”),出现宏窗口
) c7 x: v# E4 i; D* }+ w* g& a/ b4 `/ |5 e  T. n/ M  U$ s1 [
$\5w
% A( f$ \4 Y" Oq{
! G, U$ b; D; }; R2 Q, ?  C2008年1月26日更新PDF文件, \: V6 R" P# q2 n0 x5 z

$ U% f+ o3 y  P3 q) s% _6 @- Y[ 本帖最后由 auluolal 于 2008-1-26 15:34 编辑 ]

Autocad VBA初级教程.pdf

266.43 KB, 下载次数: 165

 楼主| 发表于 2008-1-25 00:26:39 | 显示全部楼层 来自: 中国江苏无锡
2、在宏名称中填写C100,点“创建”、“确定”8 M- ~6 A9 I3 }
3、 在Sub c100()和End Sub之间粘贴代码
% F6 ?! V9 U6 G) ^% s2 r* _- q4、回到模型空间,再次按Alt+F8,点击“运行”2J2 ]9 W6 j/ t; ^' e/ K0 w
不会贴图,所以将图附件上传。$ h1 Z4 g# X" e" T: C3 Z
个人理解:
: K- s( ^+ n# C0 y1、宏是用来做一些重复的繁琐的文件,虽然最终能实现很复杂的功能,但还是重复劳动
% ^2 [3 K8 K& h* h6 G2、宏的存储范围决定了他的应用范围,这个以后会讲到。
0 |1 ]6 x+ L6 z0 P3 t# }3、AddCircle(参数1, 参数2),其中参数1,是个数组参数。(当然可以用Variant表示)( I. V1 F/ B( e+ ]) z2 y$ u

& A; o. v8 `1 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 | 显示全部楼层 来自: 中国江苏泰州
二、三维线段的问题" e' H; @6 }+ _. X! J5 }) }( ~$ U  t4 m
源码如下:# s7 N% h) B* H7 z0 J* |2 \" ?# \
Sub myl()
8 y4 R) @6 t! a% |1 Z/ R; bDim p1 As Variant6 R+ p5 u6 g8 O" L5 A
Dim p2 As Variant0 K( G. v& z' L  N3 l! F
p1 = ThisDrawing.Utility.GetPoint(, "输入点:")7 M: {. k8 y  u6 X! l; t
z = ThisDrawing.Utility.GetReal("Z坐标:")
9 L" \3 e( s- i0 Qp1(2) = z
* F$ ~& l4 J9 X2 q" z. e3 k# JOn Error GoTo Err_Control9 |+ `% \8 [# {3 ^
Do* }8 B1 \9 `* j" Y: Y/ g# B
p2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "输入下一点:")2 [% D- Z7 @1 E6 K. C+ L
z = ThisDrawing.Utility.GetReal("Z坐标:")
7 r/ \0 Z  q; I# T( L3 \2 Bp2(2) = z0 F& e6 b- ]# t* p9 T, y
Call ThisDrawing.ModelSpace.AddLine(p1, p2)& r9 x; [* b, J) r  m
p1 = p2
# g' R9 U; `: aLoop
+ H" c) \. }# F/ g' kErr_Control:
9 t" y2 ?+ d  L. j6 NEnd Sub
. m4 ?' r3 w: k% z- k# F4 u- E6 N5 w* ]) y( T
个人认为要点为:
7 P6 h1 I0 M) ]6 i. @, c' K2 V" KDo  -----  Loop 循环
! s! p; V0 j& t* b* V8 ^0 M2 VAddLine函数: ^3 U- K1 P1 T3 Y3 r
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 )

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