newer 发表于 2021-1-11 20:28:41

(command) function does not work with new and open


问题:
Why doesn't the AutoLISP (command) function not work in AutoCAD 2000 MDI mode?


解答:
The following construct is expected to fail in AutoCAD 2000 when SDI is set to
0:
(command ".open" "test.dwg")

You must use the Automation Object Model to do this in AutoCAD.

Here's how to create a new document:

(vl-load-com)
(setq acadDocs (vla-Get-Documents (vlax-get-acad-object)))
(vla-add acadDocs)
And here's how to open a document in AutoLISP:
(vl-load-com)
(setq acadDocs (vla-Get-Documents (vlax-get-acad-object)))
(vla-Open acadDocs "test.dwg")
(princ "Printed text") ; test1
(setq myvar 2)   ; test2


Notice that although another document, "test.dwg" is opened, the document that
executes the code will remain active. It is this document and not the newly
opened document that displays the printed phrase and contains the variable

页: [1]
查看完整版本: (command) function does not work with new and open