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()
- e/ ^2 L2 S# R; ^) kDim work As Workspace % F6 n  t2 G0 t, H4 M8 i+ J4 o
Dim new As Database
8 n0 [( q# O6 d9 B. I) CDim elem As Object / p& z7 G+ M/ b% [& ~/ {
Dim rs As Recordset
  n' O  o2 H9 |  Z. nDim RowNum As Integer
' ?6 j. `8 z% P9 e% |) X) P' eSet work = DBEngine.Workspaces(0)
9 t5 I; }; K5 @Dim dbs As Database $ a+ o- ?) _. z8 O7 y
Dim tdfNew As TableDef
9 A$ N1 S. u7 `' m7 {+ D- FDim tdf As TableDef ( L3 _3 o8 g2 Y7 C* l
Dim dbsname As String
  ?% i; T7 l) q& y) \, f5 o# }2 JDim array1 As Variant
' m- |0 L6 o: ~, ADim array2 As Variant ‘声明所需的变量及类型 : e4 O; r, {8 A/ p5 ?6 `. }- ^% y
dbsname = “D:\材料表.mdb” + D- ~+ E3 w6 W/ y% q
‘声明Access数据库写到哪一个文件
8 a$ l- a6 V- M4 u' mOn Error Resume Next
! a0 }8 M! @1 ~$ P& f/ LSet dbs = work.CreateDatabase(dbsname, _ # h% P$ B  T0 q& h& G) e0 t
dbLangGeneral) 0 F8 L- _* i. p, x% B9 v
If Err Then 7 w- f( w. _# Y5 I4 W. |0 L5 q
Kill (dbsname) 1 F2 q: l& b7 M" K) ^9 O1 i
‘发现要写入的Access数据库文件已存在就将其删除 ! e; c$ K5 t- n, a
Set dbs = work.CreateDatabase(dbsname, _
+ \' y$ }& e5 ~1 o5 CdbLangGeneral)
; G/ x6 Z8 u5 [/ C' @End If
. f& s, G1 B2 D) O: G; jSet tdfNew = dbs.CreateTableDef ) v. t3 w& y) k5 q. C& W$ U# D
(“电气 _材料明细表”) / I! e. o6 v9 E0 y9 L9 v: k2 s, p, j
‘建立一个名为电气材料明细表的表
0 }' B2 ^# U" U4 z# z$ ARowNum = 0 " @& g; R& T" W) V
Dim Header As Boolean 9 f5 s* W) V5 {$ u
Header = False ( h* }" f$ J, l  `# P
For Each elem In ThisDrawing.ModelSpace
* o% O1 @% E% I4 g1 P5 K‘在CAD模型空间,查找所有图形对象 1 X# W7 t5 K( _0 _1 O2 I3 B
With elem
5 p" W9 N/ d# x" ]3 ^If StrComp(.EntityName,_
: m' |! t* s9 E3 j. x* ]“AcDbBlockReference”, 1) = 0 Then
/ G" ]/ y- W3 D  a1 t' `4 L2 ^If .HasAttributes Then
( S+ x% x4 q- M; m+ b, l9 harray1 = .GetAttributes 1 n$ i2 k3 p! l$ H: r6 X: [: @4 A
array2 = .GetConstantAttributes : R% V; {1 G: I) z7 G
‘设置array1指向图形对象的属性
( }+ ?2 Y) l) E) H; \! ^‘设置array2指向图形对象的固定属性 3 {7 [' z& @3 p6 }, F. v$ g
For Count = LBound(array2) To _ 8 z* g1 c$ f+ q$ b
UBound(array2) 7 }0 p$ ~* g  N4 v& w
If Header = False Then
2 G8 O: A4 n, ~: J' MIf StrComp(array2(Count).EntityName, _
5 u" I6 I  b& ]; w* |  `+ i“AcDbAttributeDefinition”, 1) = 0 Then
, e& z( [1 o, f+ btdfNew.Fields.AppendtdfNew._ ' x7 `; q' H6 l7 D+ t- X
CreateField(array2(Count).TagString, dbText)
% S/ E# V0 Z0 w5 E$ s- Y" xEnd If + {: t: {$ Y/ N  b) P
‘读出属性值读出,作为Access数据库表的标题 2 C$ S8 e+ v8 m
End If 1 ]2 B8 e( z1 t- d: I
Next Count 9 o  @" g" ~; `# z' }4 y
For Count = LBound(array1) To _ 6 N, K- j$ B# M3 D
UBound(array1) ) c0 d2 Y; {, e" v* l& G* }, c
If Header = False Then
1 i* H8 u3 s! d2 HIf StrComp(array1(Count).EntityName, _
3 ^5 z1 l0 L, x. p6 ^: Q- _“AcDbAttribute”, 1) = 0 Then ' ~9 {8 j* q& ]; V
tdfNew.Fields.Append tdfNew. _
% [# U3 O9 d6 nCreateField(array1(Count).TagString, dbText)
2 A/ U/ C, a" _& PEnd If
% k5 @% T3 A" @, ^( {End If " ?5 i) k' x9 `6 N% G1 j/ [7 L
Next Count
* p0 W6 h# R" E7 nIf Header = False Then
, w3 Z8 r4 J5 D$ F, f4 T$ |3 Ydbs.TableDefs.Append tdfNew # I$ q# V7 c3 j" o" q
Set rs = dbs.OpenRecordset
) F$ B3 O- E9 a' N(“电气材料 _明细表”, dbOpenTable) ‘打开记录
! }  a7 M$ H  z$ L0 l$ OEnd If
) ]" }/ E! O: @; H% V# q. URowNum = RowNum + 1 7 }4 H' ^2 E% E8 R- @
rs.AddNew ‘增加一笔新记录 / H8 x$ h9 A' K9 ?
For Count = LBound(array2) _
& n  P$ m7 v! r" r6 \5 V1 v& GTo UBound(array2)
7 P2 {" l7 N9 g( v" s0 p8 `$ urs(Count).Value = array2(Count).TextString 8 i7 Y" T$ e/ R) w$ ?: l' p& `
Next Count ‘读固定属性值 " k3 y: V$ B& T# U7 E# z) L3 ~
For Count = LBound(array1) To _
. H$ ~% p) \- e2 Z3 q5 y/ `0 |$ x) DUBound(array1) : J* h% j5 I! C1 G. j4 c
rs(UBound(array2) + Count + 1).Value = _
6 J! z5 H3 n4 h  i6 l" u; |- J6 Narray1(Count).TextString
9 o0 Z+ {3 o0 H5 u6 qNext Count ‘读输入属性值
7 d% |2 A) H. z) t1 X: v  hrs.Update ‘增加新记录修改结束 , {, e1 w# l! w# Z  O, y, B0 I
Header = True
8 F- o* ]7 ?5 g% DEnd If 9 R' G" R: T" y( L9 v
End If 7 C! U( r( Q8 v4 U1 K3 k8 a
End With
: g/ W: H# D' g' A0 I- bNext elem
& A; |5 @6 i8 M" s" [rs. Close ‘关闭记录,释放资源 7 b. W7 F9 w. h# R' A' m
dbs.Close ‘关闭数据库,释放资源
# a- U6 Z" P3 M2 w, a# g+ b; ~+ b. ^End Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
% s3 C  r/ K8 M) }真是太好了
" e. O4 ?& b& J& G這就是我要的 ^^
发表于 2010-5-11 23:13 | 显示全部楼层
好用吗?有谁下载了?
发表于 2010-8-24 19:08 | 显示全部楼层
学习学习!
发表于 2010-10-25 14:37 | 显示全部楼层
先看看看再说
发表于 2011-2-21 05:48 | 显示全部楼层
下来看看先,谢谢了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-18 04:36

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

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

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