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()
4 R9 {- `- m# LDim work As Workspace
/ q! P; |( C8 W' VDim new As Database 5 e( e4 N* b+ {- Y
Dim elem As Object ( X" v5 p1 Z  j' n  M
Dim rs As Recordset
$ N" l5 a7 I" ~  l3 s7 MDim RowNum As Integer " Z* Y3 Y+ Y& A( R' N6 U
Set work = DBEngine.Workspaces(0) 1 m' C, Z. V7 R$ V. J  C" N2 T2 W) ^
Dim dbs As Database . n7 J/ Q# f5 I  O% ~' H
Dim tdfNew As TableDef ' u, p: a. _9 c/ ]5 ?
Dim tdf As TableDef # `6 z0 B1 ^/ |/ r( p. K% e
Dim dbsname As String
! q; \. N7 {; oDim array1 As Variant $ B; |( w- l* G2 r0 O  j! v
Dim array2 As Variant ‘声明所需的变量及类型 ' p# f  ?. }5 k6 v1 M/ f& z
dbsname = “D:\材料表.mdb” " |6 B1 Q* H% {" i
‘声明Access数据库写到哪一个文件 . S0 i$ o$ r' p4 q2 ^/ k
On Error Resume Next 0 Z) K& l! q1 J+ J
Set dbs = work.CreateDatabase(dbsname, _
$ c4 a+ ^0 g( n8 C% H1 IdbLangGeneral)
- P- \2 e/ M6 T/ DIf Err Then , ~. N5 h/ ^. H( ]6 ~4 [8 X5 a7 Y
Kill (dbsname)
5 y; |) B& P* r$ B‘发现要写入的Access数据库文件已存在就将其删除 + q9 U1 j% |" O. b5 E" a& E
Set dbs = work.CreateDatabase(dbsname, _ 9 P# ]6 l7 P1 U/ v, T8 {: C
dbLangGeneral) + N( }! C# N' m
End If
/ P; C/ m/ G7 j* Z* u% iSet tdfNew = dbs.CreateTableDef 5 N: H; ~& v( l# H3 R
(“电气 _材料明细表”)
) C1 l/ d  T5 U: d, K  |3 |‘建立一个名为电气材料明细表的表 5 s1 Z- e, n2 [+ z; x: [
RowNum = 0
5 e  f3 P& `2 g5 mDim Header As Boolean
5 Y9 A+ S* ]. q7 V4 O* j1 yHeader = False
7 U# E' d  j' A6 N9 Y: b. J' ZFor Each elem In ThisDrawing.ModelSpace
  a1 R! Q' B, f* f, X& b4 l‘在CAD模型空间,查找所有图形对象 ! a$ ]# e% y1 A( k0 S" u
With elem 7 d2 A) C' F7 F' R7 c# G1 N' ?1 q1 M
If StrComp(.EntityName,_ - e' Q0 I3 ]; B( U* h& v2 n( f: G
“AcDbBlockReference”, 1) = 0 Then % y2 ^+ \1 S3 E* ?1 _' y( J
If .HasAttributes Then 3 ]. O4 \3 M/ |6 i6 d/ {( B
array1 = .GetAttributes ; g& _8 U. V. h- ~4 @
array2 = .GetConstantAttributes
: u! [: E9 W# i9 ]1 X‘设置array1指向图形对象的属性 & s7 @% Q; ]! \4 ?; j7 n
‘设置array2指向图形对象的固定属性 5 Z$ N5 L6 y& y: j' W/ ^
For Count = LBound(array2) To _ " J2 z# D. N5 r/ N
UBound(array2) , \8 \9 |) N/ E( k$ s
If Header = False Then
+ P: {' x6 h; b4 aIf StrComp(array2(Count).EntityName, _
6 T+ ~  l( e& e“AcDbAttributeDefinition”, 1) = 0 Then
4 v* u9 Q! r9 ftdfNew.Fields.AppendtdfNew._
3 \, }5 h8 ?6 G# uCreateField(array2(Count).TagString, dbText) ) N$ j% q& B9 f' g
End If
$ C3 k; }  I( q; d( ]# j* K‘读出属性值读出,作为Access数据库表的标题
8 z" S0 f7 q6 n" G1 r3 LEnd If - F/ l. X6 W* Y7 l& D! N) D' [
Next Count
: J+ m- f4 Z, D0 k" IFor Count = LBound(array1) To _ 7 `) v8 H9 [( I
UBound(array1) % g) x) {# \3 d# z5 @+ `  s
If Header = False Then 4 p# j( z+ u6 P' H3 {
If StrComp(array1(Count).EntityName, _ $ A* `  i5 E* C- T  i" V+ E
“AcDbAttribute”, 1) = 0 Then + Q( s( l% I, l6 l5 L  u
tdfNew.Fields.Append tdfNew. _
# C1 K5 W! H1 O6 y, qCreateField(array1(Count).TagString, dbText)   O" e0 a, M; g! W. D0 m
End If 6 {2 D( @5 D/ F" W* w+ @
End If $ I# @% E0 F) b' m% P' O( U
Next Count + `3 ]+ W; Y, X
If Header = False Then + L& `! z( a" `# m( u% w
dbs.TableDefs.Append tdfNew 9 Z* W! x- I: j0 j( u8 h7 b$ Y
Set rs = dbs.OpenRecordset / c7 I4 v1 l/ }" L2 }3 P* i
(“电气材料 _明细表”, dbOpenTable) ‘打开记录
$ d& Z, n$ n- f2 V/ w5 a# sEnd If 6 l/ y9 ]! b0 L$ n
RowNum = RowNum + 1 ' E$ l, ]+ t( j" K3 k2 D1 |
rs.AddNew ‘增加一笔新记录
. g4 o$ b  C" _. P+ K8 Y0 hFor Count = LBound(array2) _   B1 g# x/ ?2 i
To UBound(array2)
. h+ U5 f1 X: F% V; E( Z! d/ [rs(Count).Value = array2(Count).TextString ' ~9 f& A# E/ u: M
Next Count ‘读固定属性值
% [3 s* n0 m2 [/ j4 Q4 r6 g3 ~7 E$ vFor Count = LBound(array1) To _ 9 ?$ |/ d, `; F" i7 f. k
UBound(array1) , Z  b$ v$ R# B% @. d
rs(UBound(array2) + Count + 1).Value = _
5 `5 l! P6 S- A! @# c) D- xarray1(Count).TextString # v7 E; ~8 a# w2 S
Next Count ‘读输入属性值 ! {$ q/ t: z- X4 [
rs.Update ‘增加新记录修改结束 . v. V( s! Y6 Z) c5 V8 G3 ?
Header = True
2 i) z3 F+ B0 y% {4 C# D) fEnd If ; f8 g6 e9 i6 f+ \3 l, ]
End If + ~0 |0 \: T5 [- @* H
End With 7 m, i4 l& l3 O5 V/ B
Next elem " d5 j& H% S8 n, _* X
rs. Close ‘关闭记录,释放资源 9 A+ T) K# E2 P
dbs.Close ‘关闭数据库,释放资源 # `8 ]1 K- O9 D3 D# o2 c. J
End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot' d; \' l" K/ `% Z. x
真是太好了 " ^$ e! k5 r& I
這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-17 12:28

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

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

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