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()
! N7 G, }/ P5 ?/ ]  TDim work As Workspace
0 M1 v3 P( b& o) |# LDim new As Database $ o4 h9 Y/ `' t& ~+ v/ a
Dim elem As Object ( u$ r. O# r# @4 d, G' i: E1 `: o
Dim rs As Recordset ' [  E! i$ r* d" w0 c+ {
Dim RowNum As Integer & w' B" n; n$ p- |6 }
Set work = DBEngine.Workspaces(0)
: y' p0 f& X4 xDim dbs As Database
! J5 p# q' w" b; R) aDim tdfNew As TableDef
* a6 U8 @) D! F, O& J- M; t4 RDim tdf As TableDef 5 e# a% D9 b, I
Dim dbsname As String
1 ?$ V% J0 g% A' T' _8 K: GDim array1 As Variant
5 n# {, Z- V+ Y& A9 BDim array2 As Variant ‘声明所需的变量及类型 8 z: M  s. C  r, l$ }& x+ @
dbsname = “D:\材料表.mdb”
1 t5 @# g. V3 j" \) s7 c0 l‘声明Access数据库写到哪一个文件
* Y- E$ x# j6 z" y2 S  nOn Error Resume Next
' c1 `' G6 `2 B+ F4 ~Set dbs = work.CreateDatabase(dbsname, _
8 ?- v6 ?, d2 ]1 i" O; m1 }dbLangGeneral) 9 j. A) Q2 u2 ?
If Err Then
! c+ N+ l2 s4 |' a0 Z0 G  DKill (dbsname)
; j, h+ @1 E- H! {+ E‘发现要写入的Access数据库文件已存在就将其删除 8 a) l- H7 ^, `. b
Set dbs = work.CreateDatabase(dbsname, _
" n2 F% X' l# i! K% U2 Y) IdbLangGeneral) + {, h3 T+ a' P$ O8 H( l, z! r% z, ?
End If
1 V$ R2 Y. L/ R- E5 f6 e6 T8 X  S. vSet tdfNew = dbs.CreateTableDef % m: v7 r8 G3 y: D+ |1 Z* k3 \
(“电气 _材料明细表”) & c+ u8 K7 ~% p, D4 t& B
‘建立一个名为电气材料明细表的表 $ n' b1 x' `$ {  s1 T
RowNum = 0 ' t7 @$ m/ b: X) O9 T7 L
Dim Header As Boolean
7 ?5 ~; |" f$ h0 xHeader = False
- P7 e: w- R. pFor Each elem In ThisDrawing.ModelSpace
% R5 Y/ _" O0 [& X1 J‘在CAD模型空间,查找所有图形对象 $ L$ F! q3 R' _
With elem
! X* J. j- d( F) O# {If StrComp(.EntityName,_ & W7 H) q* ~7 s( j) g( ^
“AcDbBlockReference”, 1) = 0 Then 1 S5 T  G" R! K; J% ~1 G0 p
If .HasAttributes Then % K" ^0 I% `# v
array1 = .GetAttributes / K  A8 X- m$ L5 ~2 v
array2 = .GetConstantAttributes
0 @% r3 J% e7 ?: I0 K" p' U% o‘设置array1指向图形对象的属性
7 s% S  Q7 l1 ?& L7 X* n‘设置array2指向图形对象的固定属性
. R9 S( g+ x# K7 mFor Count = LBound(array2) To _ 6 T1 J  y3 W( `+ `* \# N4 _( S- }4 B( Z
UBound(array2)
0 |* _) j4 ?9 {If Header = False Then $ x7 C8 j) A7 I( x- A* z
If StrComp(array2(Count).EntityName, _ ; S( G* T6 {" _# L/ p
“AcDbAttributeDefinition”, 1) = 0 Then
: P4 m" k2 c  Y! P( ~4 n0 O1 ?tdfNew.Fields.AppendtdfNew._ ' c  ^$ g  I" O, `. \5 g/ k: p7 p
CreateField(array2(Count).TagString, dbText) 1 k0 g2 r  ?1 {8 F
End If
" n, Q7 ?' K2 x‘读出属性值读出,作为Access数据库表的标题   q" w1 n- u+ H. s
End If
, d0 d! r9 L# ?! ]& T8 _' X* r" ENext Count / D% i* d) z" `& l1 B) e
For Count = LBound(array1) To _ ) \- p8 t7 ~* A! f
UBound(array1)
* k' u8 u$ z- t* y; b# ^If Header = False Then % o" @. o* E- f5 b* X( l
If StrComp(array1(Count).EntityName, _
% H& G" A( h0 l: d# U! M4 c“AcDbAttribute”, 1) = 0 Then
0 \" [/ d) T4 d: D8 M/ DtdfNew.Fields.Append tdfNew. _
6 K  S) t8 S8 w" A# VCreateField(array1(Count).TagString, dbText) 0 Y1 G- a( o/ n
End If
3 {# j7 H  M- b. x& g2 q: Z. q4 \5 QEnd If ' a$ L3 n7 O/ S+ X0 ^1 S* ?( K, K$ _% m
Next Count
( U# ?7 B3 E( G( x* E& s! [If Header = False Then
; |1 g5 e+ j: @$ o0 ddbs.TableDefs.Append tdfNew
: h  m8 e: ~( E# l! ~* M, S% hSet rs = dbs.OpenRecordset
; T0 T7 @& d3 T0 c(“电气材料 _明细表”, dbOpenTable) ‘打开记录
  d) b( B6 z$ a# ^End If
/ s# l5 t1 b% I  r; s4 yRowNum = RowNum + 1
! M5 R" ?. p, t1 Rrs.AddNew ‘增加一笔新记录
# b. P5 C& j9 x1 nFor Count = LBound(array2) _ ) H; x! ^  a3 z( ~: Q
To UBound(array2)
/ |  A8 B* n1 }; R. g  }- i- ers(Count).Value = array2(Count).TextString
' c. a0 {: ~0 |( MNext Count ‘读固定属性值 ' V7 E* [+ Y2 {9 q1 _3 ^* \, J
For Count = LBound(array1) To _ . f* z; G) S$ h, _
UBound(array1) " c7 m1 H- C4 A5 k( d2 V
rs(UBound(array2) + Count + 1).Value = _ 1 E& w. Q* _6 M6 D- H3 Z5 h
array1(Count).TextString
8 O' R: Y+ b3 LNext Count ‘读输入属性值
0 L1 E  L- [& }, a0 R) Nrs.Update ‘增加新记录修改结束
4 U* ?5 _. w5 `: ^( w; NHeader = True ( q( u5 J9 S9 W7 N7 U
End If
* J8 w: `+ @, _End If
; U- E9 k! L) I8 z6 MEnd With
$ f1 w  v9 y/ TNext elem
) l( E" I7 u$ crs. Close ‘关闭记录,释放资源
  v' P+ G7 w) w6 s( F: z& odbs.Close ‘关闭数据库,释放资源
1 O' P$ g6 J8 }  y9 @, n. g( wEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot8 S: s, R# w  F% d# `" C
真是太好了 ! L! A1 F" @9 K0 w: Y8 q
這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-10-3 10:19

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

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

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