一、前言
使用pyautocad編輯好cad圖紙后,往往涉及到一個保存的問題,但是官方文檔並未提及,所以只能自己來了,測試了好久,終於是找到了保存的命令和參數說明。
二、方法介紹
-
Autocad.doc.SaveAs()
autocad文檔如下:
Signatures
object.SaveAs FileName, FileType [, SecurityParams]
Object
Document, MenuGroup
The object or objects this method applies to.
Note This method has no effect for menu groups.
FileName
String; input-only
The full path and file name, or valid URL address, for the file. The active document takes on the new name.FileType
AcSaveAsType enum; input-only; optional for Document objects
acR14_dwg
AutoCAD R14 DWG (*.dwg)
ac2000_dwg
AutoCAD 2000 DWG (*.dwg)
ac2000_dxf
AutoCAD 2000 DXF (*.dxf)
ac2000_Template
AutoCAD 2000 Drawing Template File (*.dwt)
ac2004_dwg
AutoCAD 2004 DWG (*.dwg)
ac2004_dxf
AutoCAD 2004 DXF (*.dxf)
ac2004_Template
AutoCAD 2004 Drawing Template File (*.dwt)
ac2007_dwg
AutoCAD 2007 DWG (*.dwg)
ac2007_dxf
AutoCAD 2007 DXF (*.dxf)
ac2007_Template
AutoCAD 2007 Drawing Template File (*.dwt)
acNative
A synonym for the latest drawing release. In this release, this value equals ac2007_dwg.
SecurityParams
SecurityParams object; variant; optional for Document objects
Security settings for an encrypted drawing.Remarks
The default file type for documents is ac2007_dwg. The value acR14_dxf is obsolete.
Documents can be saved only as files with the extensions indicated above. To save a document in a different file type, use the Export method.
When saving to a secure URL, a dialog box prompts the user for the necessary password information. Message boxes appear if the user has not suppressed this activity in the browser.
Menu groups cannot be saved in AutoCAD 2006 and later releases. This method will be removed from the MenuGroup object in a future release.
簡單來說,該方法涉及三個參數:
- FileName
文件名,要求string類型,如要保存到指定位置,加上完整路徑
- Filetype
文件類型,枚舉類型,但是python好像設置不了,默認2007.dwg
- SecurityParams
安全設置,暫時用不到,留空
二、方法實例
from pyautocad import Autocad,APoint
acad = Autocad(create_if_not_exists=True)
acad.prompt("hello,test saveas")
d1 = APoint(0,0,)
#默認保存為2007dwg
acad.doc.SaveAs('d:/22/test_SaveAs')
#保存為dwf
acad.doc.SaveAs('d:/22/test_SaveAs',1)
枚舉類型測試:
for i in range(100):
try:
acad.doc.SaveAs('d:/22/file-%s'%i,i)
time.sleep(1)
except:
continue
