QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

[分享] Autocad VBA初级教程

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

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

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

x
引用该贴作为教材,介绍简单的VBA编程。(本人将其转化为PDF形式)
: ?8 A7 C  \9 L8 h- S  [9 Y一,同心圆问题+ [* M4 A& C9 I3 G# z1 P/ e
源程序如下4 h, y( x: `* H
Sub c100(); ?  u& q# o& D/ D7 z: j) V
Dim cc(0 To 2) As Double '声明坐标变量9 F2 Z; B# u& [% T
cc(0) = 1000 '定义圆心座标
9 p7 ?; e! P, a* G# K5 @cc(1) = 1000/ [' T  F( g' a) j( b$ k* }
cc(2) = 0
: T% Z0 Z8 G8 r5 W8 O; jFor i = 1 To 1000 Step 10 '开始循环/ m7 R+ T# Y5 D# ]- X8 C  P) q" u
  Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '画圆
4 C  P) c0 L: b7 D9 e, UNext i6 M9 ~; v" F' Z: g/ E+ D! c
End Sub. o6 ?5 v! x2 u0 a$ m2 H6 v2 |
操作步骤如下1 n4 I# m9 Z6 }+ ?/ v' J
1、在模型空间按快捷键Alt+F8(或点菜单“工具->宏->宏(M)”),出现宏窗口
$ N% }( S& Y6 @( L& [; E% z+ K- a4 i
$\5w4 n4 O2 X% g2 `: u5 e$ h
q{
; M! L2 V. P! ~! c2 `2008年1月26日更新PDF文件
" U% Z" q% X" q) e. e; @
! ?* r1 |3 B- P/ |+ c[ 本帖最后由 auluolal 于 2008-1-26 15:34 编辑 ]

Autocad VBA初级教程.pdf

266.43 KB, 下载次数: 164

 楼主| 发表于 2008-1-25 00:26:39 | 显示全部楼层 来自: 中国江苏无锡
2、在宏名称中填写C100,点“创建”、“确定”, U& }; \5 T& w2 J- S6 j5 c% t
3、 在Sub c100()和End Sub之间粘贴代码5 `+ u8 G  I( \" D- q7 b
4、回到模型空间,再次按Alt+F8,点击“运行”2J: L$ _8 l6 i, |) W
不会贴图,所以将图附件上传。& E* z  h# D2 ?! N
个人理解:7 K2 w4 R  ~) C9 O, T
1、宏是用来做一些重复的繁琐的文件,虽然最终能实现很复杂的功能,但还是重复劳动
+ d  f4 \- F, O: O2、宏的存储范围决定了他的应用范围,这个以后会讲到。5 C: L+ S% \0 q$ Z  J7 S5 e* A/ }
3、AddCircle(参数1, 参数2),其中参数1,是个数组参数。(当然可以用Variant表示)
( L5 f9 d7 E. l7 T/ r, a* |# s+ X9 B) l+ L
[ 本帖最后由 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 | 显示全部楼层 来自: 中国江苏泰州
二、三维线段的问题
+ [2 S6 E: U: D9 O' T/ D源码如下:
& ?; ?9 ]1 J- R+ H/ T. xSub myl()6 Q& b3 B' b3 _" C- X
Dim p1 As Variant
5 q8 c/ X+ m9 s: O4 _) H3 nDim p2 As Variant: O$ m& B8 @- |1 l; Y
p1 = ThisDrawing.Utility.GetPoint(, "输入点:")9 ~# W  e" W) F, N, B( T% l
z = ThisDrawing.Utility.GetReal("Z坐标:")
4 Y6 ?, t3 k- h0 Sp1(2) = z
4 j7 h) `: {( S1 d9 H9 bOn Error GoTo Err_Control
/ g  G! e% P- U1 v& G; _. IDo8 Y4 M5 I  {3 o7 n/ e" G9 H" d7 g
p2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "输入下一点:")* {; N8 T# X5 f5 N9 U, b, }" n
z = ThisDrawing.Utility.GetReal("Z坐标:")0 Y: Y/ l- m4 t4 H
p2(2) = z
5 _% \3 q- v; x0 cCall ThisDrawing.ModelSpace.AddLine(p1, p2)( ^6 l% Q6 y4 R
p1 = p2: h% p- |# s$ R6 W) s2 ~* @6 o4 A4 E
Loop
2 T1 |& I, j$ m7 B* ~* ~$ \9 QErr_Control:8 j7 F% ^" r0 j; b6 e
End Sub
5 `; B% |9 w( I0 _/ b% I. r4 P0 ^6 y  v( r1 Q
个人认为要点为:
6 |7 ]# R( S$ }+ z4 K/ w, s8 z, r7 WDo  -----  Loop 循环. y1 q7 B: k$ t
AddLine函数
# W5 y: G" s9 D( Q! ?: pOn 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 )

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