怎样用lisp打开dwg文件后打印
怎样用lisp打开dwg文件后打印那个dwg中的布局?目前是开文件并激活文件是可以的,已经打开的文件用lisp打印布局也是可以的,但是,让他连起来就不行。
比如,目前处于一个新建的空图中,
[*](vla-Activate (vla-open (vla-get-documents (vla-get-application (vlax-get-acad-object))) filename))
[*]就会打开一个文件并激活,
[*](command "-plot" ""ly "" "Adobe PDF""N" "N""Y")就会打印布局
谢谢!分享程序!!! lsp不能跨文档,单纯用lsp是无法实现的,放弃吧 Lisp的短板就是只能在目前的工作dwg文件发生效用
ref:
https://knowledge.autodesk.com/zh-hans/support/autocad-lt/learn-explore/caas/CloudHelp/cloudhelp/2018/CHS/AutoCAD-LT/files/GUID-CD9B5B2F-74A0-4C69-9176-A8BE717B833F-htm.html
https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/scriptopro-help/td-p/837409
https://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/autolisp-function-that-lists-page-setups/td-p/876233
https://www.tigerdroppings.com/rant/o-t-lounge/batch-plot-on-autocad-2007/10855226/
http://www.plctalk.net/qanda/archive/index.php/t-30941.html
$$$
http://www.cuteapps.com/Graphic_Painting_and_Drawing/CAD_and_3D/dwgPlotX_19315_Review.html 可以用vbs向CAD发送命令
WScript.Sleep 2000 '等待
Const a0 = "AutoCAD 2008 - " ' 查找窗口名称
Const a1 = 3 ' 指定超时
Dim a2, a3
a2 = Now()
Do While DateDiff("s", a2, Now()) < a1
If CreateObject("WScript.Shell").Appactivate(a0) Then
a3 = True' 做标记-已找到
set WshShell = CreateObject("WScript.Shell")
WScript.Sleep 500 '等待
WshShell.SendKeys "9q " '发送按键
Exit Do
End If
Loop 感谢以上各位的回复!!
页:
[1]