乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 114|回复: 3

[编程交流] vb。属性的net列表

[复制链接]

18

主题

32

帖子

14

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-6 22:37:36 | 显示全部楼层 |阅读模式
嗨,我开始学vb了。net for autocad。我必须全部打开。DWG文件,并列出所有块名称和以“bom”作为名称的块的块属性。
 
 
当我尝试获取块引用时,代码停止。
 
我的sub是从表单按钮调用的
 
有人能帮我吗。
 
 
  1. [size=2][color=#0000ff][size=2][color=#0000ff]Private[/color][/size][/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]Sub[/color][/size][/color][/size][size=2] traitement2([/size][size=2][color=#0000ff][size=2][color=#0000ff]ByVal[/color][/size][/color][/size][size=2] CIBLE [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]String[/color][/size][/color][/size][size=2])[/size]
  2. [size=2][color=#0000ff][size=2][color=#0000ff]Dim[/color][/size][/color][/size][size=2] fichiersTrouv = Directory.GetFiles(T_CIBLE.Text, [/size][size=2][color=#a31515][size=2][color=#a31515]"*.dwg"[/color][/size][/color][/size][size=2], SearchOption.AllDirectories)[/size]
  3. [size=2][color=#0000ff][size=2][color=#0000ff]For[/color][/size][/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]Each[/color][/size][/color][/size][size=2] ligneF [/size][size=2][color=#0000ff][size=2][color=#0000ff]In[/color][/size][/color][/size][size=2] fichiersTrouv[/size]
  4. [size=2]Debug.Print(ligneF)[/size]
  5. [size=2][color=#0000ff][size=2][color=#0000ff]Dim[/color][/size][/color][/size][size=2] myDB [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]New[/color][/size][/color][/size][size=2] Database([/size][size=2][color=#0000ff][size=2][color=#0000ff]False[/color][/size][/color][/size][size=2], [/size][size=2][color=#0000ff][size=2][color=#0000ff]True[/color][/size][/color][/size][size=2])[/size]
  6. [size=2]myDB.ReadDwgFile(ligneF, IO.FileShare.ReadWrite, [/size][size=2][color=#0000ff][size=2][color=#0000ff]True[/color][/size][/color][/size][size=2], [/size][size=2][color=#a31515][size=2][color=#a31515]""[/color][/size][/color][/size][size=2])[/size]
  7. [size=2][color=#0000ff][size=2][color=#0000ff]Using[/color][/size][/color][/size][size=2] myTrans [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] Transaction = myDB.TransactionManager.StartTransaction[/size]
  8. [size=2][color=#0000ff][size=2][color=#0000ff]Dim[/color][/size][/color][/size][size=2] MYBT [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] BlockTable = myDB.BlockTableId.GetObject(OpenMode.ForRead)[/size]
  9. [size=2][color=#0000ff][size=2][color=#0000ff]For[/color][/size][/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]Each[/color][/size][/color][/size][size=2] mybtrid [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] ObjectId [/size][size=2][color=#0000ff][size=2][color=#0000ff]In[/color][/size][/color][/size][size=2] MYBT[/size]
  10. [size=2][color=#0000ff][size=2][color=#0000ff]Dim[/color][/size][/color][/size][size=2] MYBTR [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] BlockTableRecord = mybtrid.GetObject(OpenMode.ForRead)[/size]
  11. [size=2]Debug.WriteLine(MYBTR.Name)[/size]
  12. [size=2][color=#0000ff][size=2][color=#0000ff]If[/color][/size][/color][/size][size=2] MYBTR.Name = [/size][size=2][color=#a31515][size=2][color=#a31515]"bom"[/color][/size][/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]Then[/color][/size]
  13. [/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]Using[/color][/size][/color][/size][size=2] MYTRANS2 [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] Transaction = mybtrid.Database.TransactionManager.StartTransaction[/size]
  14. [size=2][color=#008000][size=2][color=#008000]' program stop on next line autocad fatal error : Unhandled e0434f4dh exception at 7c812afdh[/color][/size]
  15. [/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]Dim[/color][/size][/color][/size][size=2] MYBREF [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] BlockReference = mybtrid.GetObject(OpenMode.ForRead)[/size]
  16. [size=2][color=#0000ff][size=2][color=#0000ff]Dim[/color][/size][/color][/size][size=2] MYATTCOLLECTION [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] AttributeCollection = MYBREF.AttributeCollection[/size]
  17. [size=2][color=#0000ff][size=2][color=#0000ff]For[/color][/size][/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]Each[/color][/size][/color][/size][size=2] MYATTREFID [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]Object[/color][/size][/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]In[/color][/size][/color][/size][size=2] MYATTCOLLECTION[/size]
  18. [size=2][color=#0000ff][size=2][color=#0000ff]Dim[/color][/size][/color][/size][size=2] myAttRef [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] AttributeReference = MYATTREFID.GetObject(OpenMode.ForWrite)[/size]
  19. [size=2]Debug.WriteLine(MYBTR.Name & [/size][size=2][color=#a31515][size=2][color=#a31515]" - "[/color][/size][/color][/size][size=2] & myAttRef.Tag & [/size][size=2][color=#a31515][size=2][color=#a31515]" - "[/color][/size][/color][/size][size=2] & myAttRef.TextString)[/size]
  20. [size=2][color=#0000ff][size=2][color=#0000ff]Next[/color][/size]
  21. [/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]End[/color][/size][/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]Using[/color][/size]
  22. [/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]End[/color][/size][/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]If[/color][/size]
  23. [/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]Next[/color][/size]
  24. [/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]End[/color][/size][/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]Using[/color][/size]
  25. [/color][/size][size=2]myDB.Dispose()[/size]
  26. [size=2][color=#0000ff][size=2][color=#0000ff]Next[/color][/size]
  27. [/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]End[/color][/size][/color][/size][size=2][color=#0000ff][size=2][color=#0000ff]Sub[/color][/size]
  28. [/color][/size]
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 22:59:15 | 显示全部楼层
首先。。。
 
CIBLE=/=T\u CIBLE
 
我也会使用
 
  1. If MYBTR.Name.[color="red"]ToLower[/color] = "bom" Then

 
:眨眼:
回复

使用道具 举报

18

主题

32

帖子

14

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-6 23:24:52 | 显示全部楼层
谢谢你的帮助,但这不是我想要的解决方案吗
 
我找到了解决问题的方法
 
这是我的工作代码
 
  1. [size=2]
  2. [/size][size=2][color=#0000ff][size=2][color=#0000ff]Dim[/color][/size][/color][/size][size=2] myDWG [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] Document = Application.DocumentManager.MdiActiveDocument
  3. [/size][size=2][color=#0000ff][size=2][color=#0000ff]Dim[/color][/size][/color][/size][size=2] myDB [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] [/size][size=2][color=#0000ff][size=2][color=#0000ff]New[/color][/size][/color][/size][size=2] Database([/size][size=2][color=#0000ff][size=2][color=#0000ff]False[/color][/size][/color][/size][size=2], [/size][size=2][color=#0000ff][size=2][color=#0000ff]True[/color][/size][/color][/size][size=2])
  4. myDB = myDWG.Database
  5. [/size][size=2][color=#0000ff][size=2][color=#0000ff]Using[/color][/size][/color][/size][size=2] mytrans [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] Transaction = myDB.TransactionManager.StartTransaction
  6. [/size][size=2][color=#0000ff][size=2][color=#0000ff]For[/color][/size][/color][/size][size=2] [/size][size=2][color=#0000ff][size=2][color=#0000ff]Each[/color][/size][/color][/size][size=2] myBlockName [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] [/size][size=2][color=#0000ff][size=2][color=#0000ff]String[/color][/size][/color][/size][size=2] [/size][size=2][color=#0000ff][size=2][color=#0000ff]In[/color][/size][/color][/size][size=2] GetTopLevelBlocks(myDB)
  7. [/size][size=2][color=#0000ff][size=2][color=#0000ff]For[/color][/size][/color][/size][size=2] [/size][size=2][color=#0000ff][size=2][color=#0000ff]Each[/color][/size][/color][/size][size=2] BRefID [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] ObjectId [/size][size=2][color=#0000ff][size=2][color=#0000ff]In[/color][/size][/color][/size][size=2] GetBRefIDs(myDB, myBlockName)
  8. [/size][size=2][color=#0000ff][size=2][color=#0000ff]If[/color][/size][/color][/size][size=2] myBlockName = [/size][size=2][color=#a31515][size=2][color=#a31515]"DANCART"[/color][/size][/color][/size][size=2] [/size][size=2][color=#0000ff][size=2][color=#0000ff]Then
  9. [/color][/size][/color][/size][size=2][/size][size=2][color=#0000ff][size=2][color=#0000ff]Dim[/color][/size][/color][/size][size=2] MYATTVALS [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] [/size][size=2][color=#0000ff][size=2][color=#0000ff]New[/color][/size][/color][/size][size=2] Dictionary([/size][size=2][color=#0000ff][size=2][color=#0000ff]Of[/color][/size][/color][/size][size=2] [/size][size=2][color=#0000ff][size=2][color=#0000ff]String[/color][/size][/color][/size][size=2], [/size][size=2][color=#0000ff][size=2][color=#0000ff]String[/color][/size][/color][/size][size=2])
  10. MYATTVALS.Add([/size][size=2][color=#a31515][size=2][color=#a31515]"PROJET"[/color][/size][/color][/size][size=2], [/size][size=2][color=#a31515][size=2][color=#a31515]"A"[/color][/size][/color][/size][size=2])
  11. MYATTVALS.Add([/size][size=2][color=#a31515][size=2][color=#a31515]"CLIENT1"[/color][/size][/color][/size][size=2], [/size][size=2][color=#a31515][size=2][color=#a31515]"B"[/color][/size][/color][/size][size=2])
  12. MYATTVALS.Add([/size][size=2][color=#a31515][size=2][color=#a31515]"CLIENT2"[/color][/size][/color][/size][size=2], [/size][size=2][color=#a31515][size=2][color=#a31515]"C"[/color][/size][/color][/size][size=2])
  13. MYATTVALS.Add([/size][size=2][color=#a31515][size=2][color=#a31515]"DESSINATEUR"[/color][/size][/color][/size][size=2], [/size][size=2][color=#a31515][size=2][color=#a31515]"D"[/color][/size][/color][/size][size=2])
  14. MYATTVALS.Add([/size][size=2][color=#a31515][size=2][color=#a31515]"DATE"[/color][/size][/color][/size][size=2], [/size][size=2][color=#a31515][size=2][color=#a31515]"E"[/color][/size][/color][/size][size=2])
  15. MYATTVALS.Add([/size][size=2][color=#a31515][size=2][color=#a31515]"DESSIN"[/color][/size][/color][/size][size=2], [/size][size=2][color=#a31515][size=2][color=#a31515]"F"[/color][/size][/color][/size][size=2])
  16. [/size][size=2][color=#0000ff][size=2][color=#0000ff]Using[/color][/size][/color][/size][size=2] myTrans2 [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] Transaction = BRefID.Database.TransactionManager.StartTransaction
  17. [/size][size=2][color=#0000ff][size=2][color=#0000ff]Dim[/color][/size][/color][/size][size=2] myBRef [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] BlockReference = BRefID.GetObject(OpenMode.ForRead)
  18. [/size][size=2][color=#0000ff][size=2][color=#0000ff]Dim[/color][/size][/color][/size][size=2] myAttCollection [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] AttributeCollection = myBRef.AttributeCollection
  19. [/size][size=2][color=#0000ff][size=2][color=#0000ff]For[/color][/size][/color][/size][size=2] [/size][size=2][color=#0000ff][size=2][color=#0000ff]Each[/color][/size][/color][/size][size=2] myAttRefID [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] ObjectId [/size][size=2][color=#0000ff][size=2][color=#0000ff]In[/color][/size][/color][/size][size=2] myAttCollection
  20. [/size][size=2][color=#0000ff][size=2][color=#0000ff]Dim[/color][/size][/color][/size][size=2] myAttRef [/size][size=2][color=#0000ff][size=2][color=#0000ff]As[/color][/size][/color][/size][size=2] AttributeReference = myAttRefID.GetObject(OpenMode.ForWrite)
  21. [/size][size=2][color=#0000ff][size=2][color=#0000ff]If[/color][/size][/color][/size][size=2] MYATTVALS.ContainsKey(myAttRef.Tag) [/size][size=2][color=#0000ff][size=2][color=#0000ff]Then
  22. [/color][/size][/color][/size][size=2]myAttRef.TextString = MYATTVALS(myAttRef.Tag)
  23. [/size][size=2][color=#0000ff][size=2][color=#0000ff]End[/color][/size][/color][/size][size=2] [/size][size=2][color=#0000ff][size=2][color=#0000ff]If
  24. [/color][/size][/color][/size][size=2][/size][size=2][color=#0000ff][size=2][color=#0000ff]Next
  25. [/color][/size][/color][/size][size=2]myTrans2.Commit()
  26. [/size][size=2][color=#0000ff][size=2][color=#0000ff]End[/color][/size][/color][/size][size=2] [/size][size=2][color=#0000ff][size=2][color=#0000ff]Using
  27. [/color][/size][/color][/size][size=2][/size][size=2][color=#008000][size=2][color=#008000]
  28. [/color][/size][/color][/size][size=2][/size][size=2][color=#0000ff][size=2][color=#0000ff]End[/color][/size][/color][/size][size=2] [/size][size=2][color=#0000ff][size=2][color=#0000ff]If
  29. [/color][/size][/color][/size][size=2][/size][size=2][color=#0000ff][size=2][color=#0000ff]Next
  30. [/color][/size][/color][/size][size=2][/size][size=2][color=#0000ff][size=2][color=#0000ff]Next
  31. [/color][/size][/color][/size][size=2]mytrans.Commit()
  32. [/size][size=2][color=#0000ff][size=2][color=#0000ff]End[/color][/size][/color][/size][size=2] [/size][size=2][color=#0000ff][size=2][color=#0000ff]Using
  33. [/color][/size][/color][/size][size=3]
[/尺寸]
回复

使用道具 举报

40

主题

133

帖子

25

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
277
发表于 2022-7-6 23:48:07 | 显示全部楼层
为什么我在说“GetTopLevelBlocks未定义”时出错。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-4 05:58 , Processed in 0.398554 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表