|
一、概论) w9 O3 E9 h8 Y( I7 t3 |
6 a; k( i% n/ O# N7 \6 V
国内外许多设计院很早就开始通过开发软件来进行数据和图形的计算和处理,设计出来的软件也已相当的完善和成熟,有些软件可以从网络上面直接下载,但这并不意味着我们自己开发软件是没有必要的,原因有以下两点: & t# n- R8 O/ ?/ M, Y6 o* w
* B* ?. e# h% V# T' K5 V1、软件的使用有权限限制:一般能够免费得到的软件都是试用版,许多重要的功能无法使用,并不能满足我们设计生产的要求,而使用盗版会涉及到版权问题,购买软件则会增加生产成本; ) k0 p( c* f& k! _/ }, D6 O
1 p9 V! f5 b- u0 L" K; |" |; K2、不能满足设计院个性化的要求:不同的设计院都有自己设计的风格和习惯,特别是对于工程设计软件,相关参数较多,输入信息量大,操作方式不人性化,有些个性化的要求无法满足。
, o* B& L: b. y! P# X6 E0 C
8 @! x, n6 [, o% @6 y; N. c, l由此可见,能够按照自己设计院的特点和需要进行软件开发是十分必要的。下面笔者将通过几个例子来说明。 K. j& a3 I: L4 q& t7 P+ t* o
y. o% x& z* n W& K
二、利用Visual Basic进行的二次开发研究与探索% \2 ^/ z1 `4 ], T$ k' W/ ]
+ [# O& Q5 O" }4 r* X! e* T本文主要利用Visual Basic 6.0对Excel和中望CAD进行二次开发的方法来解决工作中所遇到的一些问题。
: Z% |5 l% M ^
: S- R% M% M4 @5 [4 S" X! b" w4 s2.1、钢筋表计算和生成) W; n8 t3 U t
/ N8 c2 B- m B1 _0 D% ~- }
在施工图纸的绘制过程中,必然伴随着钢筋表的计算和绘制,由于钢筋类型和数量较多,其计算往往需要进行大量的、反复的人工计算,但在设计过程中,建筑物的尺寸和所配钢筋的类型及长度常常会根据实际情况进行调整,这使得每一张施工图的完成都需要多次繁琐的钢筋表计算,最后在CAD中制作钢筋表和材料表也是较为麻烦的,特别是在改动数据后,更需要花去大量的时间对表格中的数据进行修改。正是这样的情况,造成了施工图的绘制中大部分的时间都浪费在了钢筋表上,不仅如此,繁琐的计算大大降低了工作效率,并增加了人力磨损,也很容易在计算中产生错误,因此通过计算机编程来解决这个问题是非常有意义的。
" C% J/ [! A/ C" c5 |; l0 `9 F6 G' W3 w, G
经过一段时间的编写和反复的测试,再根据大家反馈的意见和问题进行修正,我们已经能够在很大程度上解决这个问题
3 V! K/ x# A/ A
6 {/ b( [% [. l8 ~$ `下面我们通过“魏贾湾橡胶坝工程”项目中边墩施工图钢筋表的绘制,来简单讲述解决这个问题的过程。
, J# S* k0 g: V
6 C/ S6 z! e/ M0 G4 r2.1.1、输入钢筋的基本信息
& Q7 @) c3 {/ B- M
( X2 a* f7 w. a钢筋的基本信息包括:直径、根数和长度。本文利用Excel表格来记录这些基本数据,如图1所示。
" a, Y' D+ n$ O& z b+ t) R( D3 E' w1 V, e/ Y; ?
2.1.2、载入钢筋信息并进行计算
& v/ q5 [' c N, [/ |; W1 |% k0 v: C+ j1 t9 E! ~0 l
启动钢筋计算程序,如图2所示,输入Excel文件中的表格名称“Sheet1”和图中所用混凝土的种类,点击“Excel数据加载”就可以载入表格了。载入表格后程序会根据相关信息进行自动计算,生成钢筋和材料的Excel表格,如图3所示。
" i6 E5 J2 t4 v: p- U! G& r% x% N9 z. `2 ]
2.1.3、在ZwCAD中生成表格
( n" ^: s& z6 Z, `0 ?
# p) p% t# y1 {打开ZwCAD的图,程序就会根据计算结果完成表格的绘制了,如图4所示,CAD图中的文字为“格式”菜单中“文字样式”中的字样。# e: c1 ~( |8 u; m; ]( {
) U6 q: z: i) v$ L/ X
0 W/ |! S# z2 ~- x
图1 钢筋信息的Excel表格
& y3 Y( m/ w- _+ c$ X, L
$ w3 ?! k( ^, Z5 j# d. e8 K
! E `- z! Y% ?图2 “钢筋计算工具”界面
0 A' J. f6 c# L" e5 `( n# L# z* X# F5 H5 |

( J" N$ L+ e! L% _4 N6 N 2 p- I: g% k8 R9 t. H
图3 经过计算生成的钢筋表和材料表
) J/ R: C: X t: z9 _
4 j0 D3 H4 T6 T1 B1 {9 T; R k: S. Y+ h4 n* o. i) L! T. y. x' Z
图4 生成的钢筋表和材料表 7 Y0 ]" L5 N: h$ \5 w' l) Y
: ^9 v7 f. ~6 K: a# @. [2.1.4、优点与不足) Y& i0 j/ i8 Z( ~# M- `
1 p! I7 h7 V$ d
1、该程序基本上能够满足生产中的实际需要,只用输入直径、根数和长度就可以完成钢筋表的计算和生成,并能够对相同直径的钢筋进行汇总,生成材料表;( ], p* i- |+ Z2 d2 r$ { M0 e
3 x6 e) l6 Q$ Q+ M2、钢筋需要调整时,只需要改动Excel表格中的原始数据,就可以迅速完成钢筋表和材料表的修改,操作简便,计算速度快,较大的提高了工作的效率;
; K- w* c8 [6 N. x
/ V+ @" b% }5 B t3、表格输出的格式按照本院的习惯和特点编写,使生成的表格在一般情况下都可以直接使用,极大程度上方便了绘图人员。1 @; v/ `5 }. q+ f: o
5 Z _) |$ S7 P( X1 N* _: `
2.2、三维地形图的生成 e, G( u4 ~ M
& x4 y# [( c* z1 P2.2.1、三维地形生成
, Z9 R/ f& Y& L* T0 m2 T6 W1 t7 N1 x
咸宁淦河总平面布置图如图5所示,通过这张图我们并不能马上感性和直观的了解工程地形的大致情况,但是利用Visual Basic我们可以方便快捷的实现地形的三维立体化,使工程设计人员能够多一个途径来了解工程的特性。生成的三维地形,如图6所示,可在ZwCAD中直接渲染,也可导入到3DsMax等三维软件进行后期制作,成为更直观的图形。$ a9 h- t. I, g1 E4 a6 L2 J
. j3 G0 G' a. z1 ?7 ?5 p

2 @+ c' _+ M& Q' }( P+ D4 Y图5 咸宁淦河总平面布置图$ f+ ?% }& g+ j6 @" ~. k; z/ V
6 M+ _$ |" N( U. U: ^" d
2.2.2、优点与不足- t) D; Z5 t* r2 G6 D
, V. Q6 c5 v, |/ x" ^4 q三维地形图虽然能较为直观的了解工程的地形地貌,但是在实际工作中能发挥的作用还有相当的局限性,这也是我们在今后的工作中需要思考和改进的地方。 Y& C' Q1 ]/ f
* I: F2 l& H9 C& k: b G 4 Y* f+ Z5 L; s0 N' j
图5 咸宁淦河三维地形图(部分)6 \7 g" l' V; x: k8 p1 I
[% J$ ]7 }1 t; e$ l' d- U2.3、帷幕灌浆绘图 ; \& w) b, }9 c" ]; G3 u9 {4 p# H
+ j+ W; {/ }; I
在地基的防渗处理中,帷幕灌浆是我们最常用的一种方法,其绘图工作十分简单,但灌浆钻孔深度表中高程的量取和填写相当繁琐,容易产生误差和错误,所以针对这个问题笔者进行相关功能的开发。
6 E2 \+ b/ T4 ~3 o- b- E6 G! p1 B5 Q
汤渡河水库除险加固项目中太阳山垭口帷幕灌浆纵剖面图如图6所示,通过直接在屏幕上选择灌浆边界多段线后,程序便会自动绘制图形,如图7所示。
( i$ e0 [8 k" p; [& B6 N- J+ o$ F5 }, B+ V* K$ ]: B! n" Y P: `

/ G0 H% n" c9 k o: {图6 太阳山垭口帷幕灌浆纵剖面图
m5 g9 O) Y5 p0 V; V% Q+ Z! y& R" m: T: j9 |- P# M! s

* Y5 r2 D4 z+ S% C1 a8 s图7 太阳山垭口帷幕灌浆纵剖面图(完成图形绘制)
5 @( T# G5 k7 \$ F. r: K, V& \. d
图形生成后,程序会自动根据图形中的线段长度,计算钻孔深度表中的高程,并通过程序在CAD中完成表格的绘制,如图8所示。
, L9 Y j1 Z1 V9 K" R, f% N' t# X3 }& j& E7 x3 s
0 R& L% G, N- y0 y# p. R) G
图8 太阳山垭口帷幕灌浆纵剖面图(完成表格绘制)
2 p9 P/ x- ]+ f
' N% G9 B: f% f, d. O该程序基本上能够满足生产中的实际需要,操作简便,计算准确,极大的提高了帷幕灌浆图纸计算和绘图的效率。
8 U7 i% H v |+ b7 i3 S
; ~8 K* v8 _9 l& u8 H# H8 S: ]三、总结% A% S8 g/ E: Y6 B6 S
, I* D1 W/ j% O8 O
利用Visual Basic对ZwCAD进行二次开发,可以很大程度上对ZwCAD进行功能上的拓展,也能较为方便快速的完成繁琐复杂的计算,以解决我们在设计工作中遇到的实际问题,这对我们增加工作效率,实现设计工作的智能化有着重要的作用和意义,但一个程序是否有价值,需要不断接受实际工作的考验,不断通过反馈过来的意见进行修正和改进,以解决实际问题作为开发程序的首要目的,以满足用户的个性化需要作为软件编写的重要标准。而作为程序设计者本身来说,也需要不断提高自己在数学上的知识,以更加精简的算法来实现各种计算功能,提高程序的运行速度,尽可能避免程序发生计算和运行上的错误。
7 W# e+ I" ?8 g7 l3 e+ X% o6 W( ]
, i: k+ _- N/ @5 r+ |& B, l(2009中望CAD有奖征文大赛一等奖获奖文章 作者:罗希) |
|