乐筑天下

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

[编程交流] 自动绑定多个图形

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 15:23:36 | 显示全部楼层 |阅读模式
大家好。我想知道是否有人可以编写vba/lisp自动化来绑定并绘制多个图形。我有100多张图纸需要打印/pdf,手工完成的任务非常繁琐。任何帮助都会很好。提前谢谢。
 
-Cad骑师
回复

使用道具 举报

0

主题

132

帖子

198

银币

限制会员

铜币
-21
发表于 2022-7-6 15:37:02 | 显示全部楼层
你已经知道VB了吗。我所写的,来自AutoCAD中不同方法的调用,这些调用在我能给出的代码中并不完全存在。
回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 15:41:03 | 显示全部楼层
我对VB知之甚少。我在很多年前参加了一门it课程,我正在重新学习,但到现在为止。。。。我什么都没有。
回复

使用道具 举报

0

主题

132

帖子

198

银币

限制会员

铜币
-21
发表于 2022-7-6 15:53:51 | 显示全部楼层
这可能会引发更多的问题,而不是答案。继续问。我相信我们可以按你的要求提供帮助。
 
  1. Public Function BindXrefs()
  2. '------------------------------------------------------------------------------
  3. 'Binds Xrefs to drawing without prefix
  4. 'Delete Xref from drawing and then insert file and explode it
  5. '------------------------------------------------------------------------------
  6. Dim acBlkRef As AcadBlockReference
  7. Dim sXref As String
  8. '''''''''''''''''''''''''''''''''''''''
  9. On Error GoTo ErrHandler
  10. sXref = GetXrefPath
  11. If sXref <> "" Then
  12.    sXref = dhTrimLeft(sXref, "", True, -1) 'Remove path info
  13.    sXref = dhTrimRight(sXref, ".") 'Remove .dwg extension
  14.    ThisDrawing.SendCommand "-XREF" & vbCr & "D" & vbCr & sXref & vbCr
  15.    ThisDrawing.PurgeAll
  16.    sXref = sXref & ".dwg"
  17.    acBlkRef = InsertBlkRef(sXref)
  18.    Set acBlkRef = Nothing
  19. End If
  20.    
  21. ExitHere:
  22.    Exit Function
  23. ErrHandler:
  24.    Debug.Print Err.Number, Err.description, "Function 'BindXrefs' Failed"
  25. End Function
  26. Private Function GetXrefPath() As String
  27. '------------------------------------------------------------------------------
  28. '
  29. 'Returns:   XREF drawing path i.e. "1000-01_01.dwg"
  30. 'Caveats:   Assuming no nested xrefs and only one per drawing
  31. '------------------------------------------------------------------------------
  32. Dim acXref As AcadExternalReference
  33. Dim acSS As AcadSelectionSet
  34. Dim acBlks As AcadBlocks
  35. Dim acBlk As AcadBlock
  36. Dim acEnt As AcadEntity
  37. Dim sPath As String
  38. Dim sEntType As String
  39. '''''''''''''''''''''''''''''''''''''''
  40. On Error GoTo ErrHandler
  41. sEntType = "INSERT"
  42. Set acSS = GetEntitySS(sEntType)
  43. Set acBlks = ThisDrawing.Blocks
  44. For Each acEnt In acSS
  45.    Set acBlk = acBlks(acEnt.Name)
  46.    If acBlk.IsXRef Then
  47.        Set acXref = acEnt
  48.        sPath = acXref.Path
  49.        Exit For
  50.    End If
  51. Next acEnt
  52. GetXrefPath = sPath
  53. ExitHere:
  54.    Exit Function
  55. ErrHandler:
  56.    Debug.Print Err.Number, Err.description, "Function 'GetXrefPath' Failed"
  57. End Function
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

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

铜币
262
发表于 2022-7-6 16:04:58 | 显示全部楼层
borgunit先生
我创建了一个*。txt并粘贴代码,然后重命名为bind。数字视频广播
尝试在autocad中加载时,出现错误消息,显示“错误的文件格式”
我所做的是否正确?
 
还有更多的问题
-这段代码是否会在不打开文件的情况下完成这两个步骤(绑定然后打印到PDF)?
-会问我文件路径吗?
-该代码是否可以创建一个文件夹(称为绑定)来保存原始DWG,或者我应该制作一个副本?
-PDF文件的保存会在同一路径(或新文件夹)中吗?
-是否会询问我要绘制的布局(如果文件具有多表布局)?
-会问我打印配置吗?
 
对不起,问题太多了。
回复

使用道具 举报

1

主题

12

帖子

11

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 16:10:41 | 显示全部楼层
很抱歉,您可以使用autocads entransmit批量绑定文件,然后使用publish命令将其全部打印出来
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

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

铜币
262
发表于 2022-7-6 16:21:13 | 显示全部楼层
TommyG公司
 
什么是自动广告
回复

使用道具 举报

1

主题

12

帖子

11

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 16:27:25 | 显示全部楼层
在“文件”菜单下,大约一半的地方,它被称为“电子传递”
 
它将自动以zip格式发布图纸。exe或以任何格式存储到文件夹中,并将根据需要绑定外部参照。
 
此外,它还发送字体、打印样式和dwg文件,因此当另一端的人打开它们时,没有问题。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 18:15 , Processed in 0.327941 second(s), 68 queries .

© 2020-2025 乐筑天下

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