CAD设计论坛

 找回密码
 立即注册
论坛新手常用操作帮助系统等待验证的用户请看获取社区币方法的说明新注册会员必读(必修)
12
返回列表 发新帖
楼主: gysheng

cad统计材料表

[复制链接]
发表于 2008-10-17 16:08 | 显示全部楼层
下载不了了????
发表于 2008-10-17 16:10 | 显示全部楼层
怎么下载啊,为什么下不了?
发表于 2008-10-20 15:19 | 显示全部楼层
不知道是做什么用的
发表于 2008-12-10 13:25 | 显示全部楼层

顶起

请用过的同志说明一下怎么用
发表于 2009-1-6 13:04 | 显示全部楼层
Sub list()
3 h+ p% E, t. N" G- Y  Y' yDim work As Workspace 9 w, S. ?1 G% k; V  n& F' K
Dim new As Database
- @4 W$ ~0 g* y; [- _5 r8 PDim elem As Object 1 `) j! _3 E9 {  N, D
Dim rs As Recordset
" N; c" ~! v% b8 |: A- z) kDim RowNum As Integer
7 C0 v. x* N/ {! m- Z$ JSet work = DBEngine.Workspaces(0)
# H/ n* t! d. @) t; LDim dbs As Database
5 t7 ?+ L! E7 v' e2 v, [+ |Dim tdfNew As TableDef
# J$ `  i( w7 }9 ^' uDim tdf As TableDef
4 H5 A2 D, ^6 ~  E9 N# XDim dbsname As String
4 Y& q4 a: \) P5 e  PDim array1 As Variant . x% ^4 h  D9 N8 p! Y( A& ?& i
Dim array2 As Variant ‘声明所需的变量及类型 9 Z- @9 e0 u0 A: {# _. {
dbsname = “D:\材料表.mdb” # Y7 W) B  X; k, g% v
‘声明Access数据库写到哪一个文件 ( M; C4 d3 b: @7 \1 t
On Error Resume Next
7 D+ r$ F! M6 D& o- _3 TSet dbs = work.CreateDatabase(dbsname, _
( C: N( s- w5 T& P; T9 @& G0 \, gdbLangGeneral) ' N; w- T0 l" \6 w, Q  d: \# M
If Err Then 1 ^0 i3 C) Y3 N% L2 B" C* J
Kill (dbsname)
, G/ _# u0 e% ]5 t* B, G" m) Z‘发现要写入的Access数据库文件已存在就将其删除
! o: ^, z' Q3 gSet dbs = work.CreateDatabase(dbsname, _
3 E) P+ j: X* ldbLangGeneral)
4 P# z. U# m" j7 A# oEnd If
( j' h. o! B) ?: r/ f+ e) jSet tdfNew = dbs.CreateTableDef 8 e& }* W9 C) ]$ O8 k2 k. h
(“电气 _材料明细表”)
% E# D  w% @* P8 a4 q. ?, ?8 q7 @‘建立一个名为电气材料明细表的表
5 ]  z) Z+ V" ?) j* W* Y" iRowNum = 0 % o! [2 ]# x1 r/ X
Dim Header As Boolean ( J+ X# P* a9 ^6 u7 k
Header = False % t) q/ |& y4 |. `3 _, U
For Each elem In ThisDrawing.ModelSpace
/ o  J; F& N% r- o: ?0 k" O2 k‘在CAD模型空间,查找所有图形对象
. _- }# Y8 D6 AWith elem ) i: d9 j) w' J- D
If StrComp(.EntityName,_ $ A9 q: ]* M0 E. K& ?! f
“AcDbBlockReference”, 1) = 0 Then * {1 X; Z, }' }, i
If .HasAttributes Then
: C  u% D8 D7 W* f* i. A/ \array1 = .GetAttributes
! d9 K* n7 l1 g5 U( yarray2 = .GetConstantAttributes : \* B. s0 c$ W+ l+ [& o
‘设置array1指向图形对象的属性
4 b* B! [! P4 r: b‘设置array2指向图形对象的固定属性 2 }+ `+ H: u: n
For Count = LBound(array2) To _ & Q) \, w* f7 v+ \
UBound(array2)
# Z7 N5 X+ T1 i/ TIf Header = False Then . r$ r+ I+ J5 O+ R, V$ e
If StrComp(array2(Count).EntityName, _ * p" |9 b1 N8 M* l7 I1 _
“AcDbAttributeDefinition”, 1) = 0 Then
) O  [$ O# D. Y# X1 ZtdfNew.Fields.AppendtdfNew._ ! H* U" m1 }/ \4 l& Y- t8 X4 ^, ^  p
CreateField(array2(Count).TagString, dbText)
, W- i( g# l9 C! _- g' ^) o( wEnd If 3 o4 C( b8 @1 W; o
‘读出属性值读出,作为Access数据库表的标题 0 z( X9 d/ t6 n  J$ ^
End If
8 A( V' a! \6 ]6 I2 q' @Next Count
/ r4 x# r# U3 r- k! uFor Count = LBound(array1) To _
% U: p7 z- V) m: GUBound(array1)
+ y0 \* g& g$ FIf Header = False Then ) W! }# G- R, [4 h
If StrComp(array1(Count).EntityName, _ 5 H2 c0 Y& m' d- e* y! U  k
“AcDbAttribute”, 1) = 0 Then
0 g7 c6 j  G8 l9 V4 i0 TtdfNew.Fields.Append tdfNew. _
6 ]/ T0 p* \' d, d: P2 F- SCreateField(array1(Count).TagString, dbText)
# W- o8 ]" B2 {/ i% J3 k; fEnd If
. ~1 w# M! D7 T6 R2 c( IEnd If
. N7 [  y7 P/ v( T& WNext Count
# O/ N; R5 i' j: {1 ], XIf Header = False Then / K- C5 a$ q7 T" ^
dbs.TableDefs.Append tdfNew
5 ~! a7 G+ N! L1 L+ @& T0 bSet rs = dbs.OpenRecordset
1 |+ W0 H* z! g(“电气材料 _明细表”, dbOpenTable) ‘打开记录
4 k$ {$ X) N8 T# h' M3 dEnd If / _# j; H3 n5 h0 D8 L$ {- x
RowNum = RowNum + 1 % `* B) ]9 Q7 Y" _
rs.AddNew ‘增加一笔新记录 8 h5 k9 ^( ?2 Y" P: {
For Count = LBound(array2) _ . w+ H1 X1 j0 Y& W! F
To UBound(array2) : k" l, H9 M4 j6 t4 T$ s
rs(Count).Value = array2(Count).TextString
( k. J* P2 u: T1 VNext Count ‘读固定属性值 ( m7 ~+ Y& o) Y% r
For Count = LBound(array1) To _ 9 n1 T, ?4 b3 |! m- h5 E1 d
UBound(array1)
% u/ H) N' U: j3 frs(UBound(array2) + Count + 1).Value = _
& m. q! Y0 t% g9 r; ?array1(Count).TextString
# n' h" Z: w/ F) _1 X+ O: z1 }Next Count ‘读输入属性值
  v; y3 Q! b3 irs.Update ‘增加新记录修改结束 , O1 w7 }0 F2 a/ ]- `
Header = True
9 |) n# p3 |  P7 S& OEnd If : b0 Y! R7 w9 C! ?+ e7 n* t
End If - Q1 T" f7 K! {5 h! Z( X
End With 4 N% X  A( n3 F9 [! A) b, ~
Next elem ! e9 F' p% B, c4 Q! K
rs. Close ‘关闭记录,释放资源
" s. I1 z  Y2 ^' b3 Y9 f: k- rdbs.Close ‘关闭数据库,释放资源
6 ?) X. d' B. [( L7 Y# U) fEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot, M- |, L, m; n7 C. W
真是太好了
' O9 }4 }2 c: X8 Z: m這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于|免责|隐私|版权|广告|联系|手机版|CAD设计论坛

GMT+8, 2026-3-4 08:19

CAD设计论坛,为工程师增加动力。

© 2005-2026 askcad.com. All rights reserved.

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