图纸画完,给车间发 PDF、给激光下料发 DXF,每次都是另存为、选格式、选目录,重复劳动。一套图几十张,半天就没了。
用 iLogic 写一条规则,一键把当前图纸导出 PDF、把钣金件的平面展开导出 DXF,全自动。
一、操作步骤
1 新建 iLogic 规则
在工程图环境下,点击「管理」选项卡 →「iLogic」→「添加规则」,起名比如“导出PDF_DXF”。
2 粘贴代码
'一键导出:PDF 存图纸目录,钣金平面展开另存 DXF
Dim oPath As String = ThisDoc.Path & "" & ThisDoc.FileName(False)
'--- 导出 PDF ---
Dim oPDFAddIn As TranslatorAddIn = ThisApplication.ApplicationAddIns.ItemById("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}")
Dim oContext As TranslationContext = ThisApplication.TransientObjects.CreateTranslationContext
Dim oOptions As NameValueMap = ThisApplication.TransientObjects.CreateNameValueMap
Dim oData As DataMedium = ThisApplication.TransientObjects.CreateDataMedium
oData.FileName = oPath & ".pdf"
oPDFAddIn.SaveCopyAs(ThisDoc.Document, oContext, oOptions, oData)
'--- 钣金件导出 DXF 平面展开 ---
Dim oDoc As Document = ThisDoc.Document
If oDoc.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}" Then
Dim oDef As SheetMetalComponentDefinition = oDoc.ComponentDefinition
If oDef.HasFlatPattern Then
Dim sOut As String = "FLAT PATTERN DXF?AcadVersion=2000&OuterProfileLayer=0"
oDef.FlatPattern.DataIO.WriteDataToFile(sOut, oPath & ".dxf")
End If
End If
3 运行规则
保存后在浏览器树中找到规则右键运行,图纸目录下立刻多出 PDF(钣金件还多一个 DXF),文件名和图纸同名。

二、扩展用法
这条规则同样可以放进 iLogic 外部规则库,所有图纸通用。如果你们出图有固定目录结构(比如 PDF 统一进“发放”文件夹),把 oPath 改成固定目录拼接即可。

发表回复