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() 6 C  ^) |1 ?& x! D: f
Dim work As Workspace 9 C5 i2 x4 x9 Y, Y! `0 N
Dim new As Database
+ g4 W! s9 [- a. A1 ^+ @Dim elem As Object 6 i# D; k$ U8 A* Z: R5 ?
Dim rs As Recordset
/ _% Z) V. Y! a" j) D8 O0 V+ BDim RowNum As Integer   _4 t& H( R% ~3 X2 k: ]5 m
Set work = DBEngine.Workspaces(0) . a" L0 S, E) |9 ?! ^$ p% G& @
Dim dbs As Database
& I! V2 ^, [6 e8 U5 Y3 I6 z9 d( lDim tdfNew As TableDef
# K% r7 Y5 N8 d. dDim tdf As TableDef
2 m3 Z  @5 e; g7 Y1 f/ W1 w3 TDim dbsname As String
# Y# h8 [* D( H7 s4 v  dDim array1 As Variant
+ i5 y3 N0 y" RDim array2 As Variant ‘声明所需的变量及类型 ( j! A6 V# |# q9 A  [: y
dbsname = “D:\材料表.mdb”
7 _: d& [3 |) V/ _) n4 _+ C‘声明Access数据库写到哪一个文件 6 Y; _, U! C- a. W' y7 G4 e9 z
On Error Resume Next
4 q. k# v+ |3 [! z" _  PSet dbs = work.CreateDatabase(dbsname, _
% O1 }6 ]% v2 udbLangGeneral)
) N' N7 N* V1 P5 B4 w' ZIf Err Then
. E* L2 c5 x  j- U% e# |0 LKill (dbsname)
9 `# I3 V" Y; R‘发现要写入的Access数据库文件已存在就将其删除
5 P- C6 T! v7 C9 ~. QSet dbs = work.CreateDatabase(dbsname, _
* W' k4 J2 d4 p/ u: W" t2 ~9 GdbLangGeneral)
7 H. D2 ?+ u5 X: K+ mEnd If
2 E" k6 g2 p4 `( WSet tdfNew = dbs.CreateTableDef * \7 b6 O0 B  ?, O& L
(“电气 _材料明细表”)
" x7 Y7 j# B, {4 ^‘建立一个名为电气材料明细表的表
3 A% ~2 O: S+ w" T6 BRowNum = 0
' W, r! L# l& [* p' zDim Header As Boolean
& B/ j' S) Y# j; |Header = False 5 T  k' V6 b/ F* B& n' i
For Each elem In ThisDrawing.ModelSpace
" T2 z$ ?; V# q* s‘在CAD模型空间,查找所有图形对象 : B: M5 n) J* l; G" a8 T, K
With elem ; Y& @9 L8 l6 ~* ]! I% c) h
If StrComp(.EntityName,_ ! w2 j; z6 Y, `8 N
“AcDbBlockReference”, 1) = 0 Then - }1 M% X. u6 \, S0 a- l( Y
If .HasAttributes Then
/ N3 ^) G2 d) q! s5 Marray1 = .GetAttributes % @& Y) K" H# X' s
array2 = .GetConstantAttributes ' k+ C; T6 _- L! O
‘设置array1指向图形对象的属性
* T0 f4 E: @# T‘设置array2指向图形对象的固定属性 $ U5 j' m( M6 j4 Z) y  L
For Count = LBound(array2) To _
" c# T3 Q5 T+ q+ q$ BUBound(array2) 2 c% @) j3 y7 A* a: M" [
If Header = False Then
9 n3 T; ]& K( k0 L( L2 M1 iIf StrComp(array2(Count).EntityName, _ / m8 J4 }- [5 ^$ ?* Z; @) o
“AcDbAttributeDefinition”, 1) = 0 Then ; @, @8 e3 a! u( x) i* P
tdfNew.Fields.AppendtdfNew._
$ q! e; d4 S8 B* ^* t7 P  d/ lCreateField(array2(Count).TagString, dbText)
9 f! ]+ f1 W5 q, UEnd If & J9 w( k9 }) I% b" [' f7 X% F
‘读出属性值读出,作为Access数据库表的标题 ! P6 T4 X2 ~+ `& }0 q0 g
End If 3 O* X2 I/ f) K6 a, @3 f) u' r! W5 k
Next Count
9 N$ ~$ n% b& y! @+ ?2 KFor Count = LBound(array1) To _
9 @: n& S$ ^5 sUBound(array1) / t3 W9 M2 H0 ]" R+ b
If Header = False Then / e! Q: Y$ L- z/ T( R
If StrComp(array1(Count).EntityName, _ + L9 a/ D- M! m; O3 @/ v& i0 Z6 ]
“AcDbAttribute”, 1) = 0 Then
, R) T+ W' V9 A+ XtdfNew.Fields.Append tdfNew. _ 6 K% f4 s+ {- l
CreateField(array1(Count).TagString, dbText) 9 A% r. k& _# f, Y" J8 s
End If 8 X# ~* O4 x2 p' ?
End If
6 J, R5 r2 k  l" W- Q/ K( DNext Count 2 I' j8 \# W' V9 d" J% q
If Header = False Then * {% m& ?' ^* T: n$ `9 |0 N
dbs.TableDefs.Append tdfNew
! d) h4 G5 T: n) E8 f  L3 XSet rs = dbs.OpenRecordset 5 w4 m" L& k1 i. s
(“电气材料 _明细表”, dbOpenTable) ‘打开记录 4 z2 K8 q  }5 J0 F" G/ U: p& e
End If
+ l/ \5 }+ f. E! bRowNum = RowNum + 1 - F" R: d' j5 B, N
rs.AddNew ‘增加一笔新记录
" i! r+ G# H; i) [1 a/ nFor Count = LBound(array2) _ 7 Z" ]+ `( J8 ^
To UBound(array2)
7 @+ P; k  M9 O3 ]- Jrs(Count).Value = array2(Count).TextString 6 A4 d% K' u6 O: l
Next Count ‘读固定属性值
7 [! L) x8 |% RFor Count = LBound(array1) To _ ! p; @7 y: U6 K! B; Q4 ?
UBound(array1)
. f6 P& p9 C1 {4 e& y8 Y) Y4 Rrs(UBound(array2) + Count + 1).Value = _ 8 J8 D. \1 E+ J4 j
array1(Count).TextString 0 e6 K" `/ F2 h$ z
Next Count ‘读输入属性值 ! F, U- n6 D$ O* [0 ~
rs.Update ‘增加新记录修改结束
0 \3 D, ~  y$ K, ]8 X# u4 }9 P# SHeader = True
$ e! ?, P+ I5 ?9 }: XEnd If ( P# k4 z, k5 Z/ ]8 f
End If
1 Q! h+ H* ^1 r9 u& IEnd With 5 e# p5 @& x/ k  y4 A0 `- `
Next elem
; z& B- {6 g# n: D1 d2 U- E$ `rs. Close ‘关闭记录,释放资源
% K* y; i, }. Y0 ^dbs.Close ‘关闭数据库,释放资源
+ a# O& r" Q5 s5 OEnd Sub
发表于 2009-1-6 13:50 | 显示全部楼层
赚钱中
发表于 2009-1-6 21:17 | 显示全部楼层
thank a lot
/ A/ `2 `7 S: }9 B7 X! y真是太好了
9 e# b0 a" {) B* z" l這就是我要的 ^^
发表于 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-23 16:52

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

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

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