Cad_Jockeys 发表于 2022-7-6 15:23:36

自动绑定多个图形

大家好。我想知道是否有人可以编写vba/lisp自动化来绑定并绘制多个图形。我有100多张图纸需要打印/pdf,手工完成的任务非常繁琐。任何帮助都会很好。提前谢谢。
 
-Cad骑师

borgunit 发表于 2022-7-6 15:37:02

你已经知道VB了吗。我所写的,来自AutoCAD中不同方法的调用,这些调用在我能给出的代码中并不完全存在。

Cad_Jockeys 发表于 2022-7-6 15:41:03

我对VB知之甚少。我在很多年前参加了一门it课程,我正在重新学习,但到现在为止。。。。我什么都没有。

borgunit 发表于 2022-7-6 15:53:51

这可能会引发更多的问题,而不是答案。继续问。我相信我们可以按你的要求提供帮助。
 

Public Function BindXrefs()
'------------------------------------------------------------------------------
'Binds Xrefs to drawing without prefix
'Delete Xref from drawing and then insert file and explode it
'------------------------------------------------------------------------------
Dim acBlkRef As AcadBlockReference
Dim sXref As String
'''''''''''''''''''''''''''''''''''''''
On Error GoTo ErrHandler

sXref = GetXrefPath

If sXref <> "" Then
   sXref = dhTrimLeft(sXref, "\", True, -1) 'Remove path info
   sXref = dhTrimRight(sXref, ".") 'Remove .dwg extension
   ThisDrawing.SendCommand "-XREF" & vbCr & "D" & vbCr & sXref & vbCr
   ThisDrawing.PurgeAll
   sXref = sXref & ".dwg"
   acBlkRef = InsertBlkRef(sXref)
   Set acBlkRef = Nothing
End If
   
ExitHere:
   Exit Function
ErrHandler:
   Debug.Print Err.Number, Err.description, "Function 'BindXrefs' Failed"
End Function
Private Function GetXrefPath() As String
'------------------------------------------------------------------------------
'
'Returns:   XREF drawing path i.e. "1000-01_01.dwg"
'Caveats:   Assuming no nested xrefs and only one per drawing
'------------------------------------------------------------------------------
Dim acXref As AcadExternalReference
Dim acSS As AcadSelectionSet
Dim acBlks As AcadBlocks
Dim acBlk As AcadBlock
Dim acEnt As AcadEntity
Dim sPath As String
Dim sEntType As String
'''''''''''''''''''''''''''''''''''''''
On Error GoTo ErrHandler

sEntType = "INSERT"
Set acSS = GetEntitySS(sEntType)
Set acBlks = ThisDrawing.Blocks

For Each acEnt In acSS
   Set acBlk = acBlks(acEnt.Name)
   If acBlk.IsXRef Then
       Set acXref = acEnt
       sPath = acXref.Path
       Exit For
   End If
Next acEnt

GetXrefPath = sPath

ExitHere:
   Exit Function
ErrHandler:
   Debug.Print Err.Number, Err.description, "Function 'GetXrefPath' Failed"
End Function

asos2000 发表于 2022-7-6 16:04:58

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

TommyG 发表于 2022-7-6 16:10:41

很抱歉,您可以使用autocads entransmit批量绑定文件,然后使用publish命令将其全部打印出来

asos2000 发表于 2022-7-6 16:21:13

TommyG公司
 
什么是自动广告

TommyG 发表于 2022-7-6 16:27:25

在“文件”菜单下,大约一半的地方,它被称为“电子传递”
 
它将自动以zip格式发布图纸。exe或以任何格式存储到文件夹中,并将根据需要绑定外部参照。
 
此外,它还发送字体、打印样式和dwg文件,因此当另一端的人打开它们时,没有问题。
页: [1]
查看完整版本: 自动绑定多个图形