JAG - I recently had the need to automate some file conversions within AutoCAD. Specifically, I needed to convert native AutoCAD drawing files (in DWG format) to the more palatable DXF format. After some research, I found that AutoCAD exposes a fairly standard COM automation interface - which seemed to make my task a perfect match for tcl coupled with the
tcom extension.
So, the following is some very basic sample code to do what I needed. I'll eventually create a stand-alone application (with all the required frills), but for now, I thought this might help others:
package require tcom
# --- the file (extensions are assumed based on filetype)
set file [file join "c:/" "test"]
# --- various dxf output formats
set type(R12_dxf) [expr 1]
set type(R13_dxf) [expr 5]
set type(R14_dxf) [expr 9]
set type(R15_dxf) [expr 13]
set type(R18_dxf) [expr 25]
set type(2000_dxf) [expr 13]
set type(2004_dxf) [expr 25]
# --- open AutoCAD
set app [::tcom::ref createobj AutoCAD.Application]
# --- keep it hidden
$app Visible 0
# --- get a handle to the Documents collection
set docsCollection [$app Documents]
# --- open our file as a new document
set theDoc [$docsCollection Open $file]
# --- save our file as a specific DXF format
$theDoc SaveAs $file $type(2000_dxf)
# --- close the file
$theDoc Close
# --- quit from AutoCAD
$app Quit