仅仅从.dwg文件中获取数据并不容易,但从.dxf文件中获取数据要容易得多。所以我选择将.dwg文件转换为.dxf文件,只处理.dxf文件。这虽然不快,但也是一种替代方法,因为没有其他简单的方法来处理.dwg文件。
我的操作系统是CentOS 6.5(GCC 4.4.7),所以我选择Teigha File Converter for Linux 64位(RPM)。#Install some qt5 lib
yum install -y qt5*
# If your libstdc++.so.6 has GLIBCXX>=15, you can pass the following three steps (using strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX to find)
mv libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6.0.20
mv /usr/lib64/libstdc.so.6 /usr/lib64/libstdc.so.6.bk
ln /usr/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc.so.6
# Install TeighaFileConverter
rpm -i --nodeps TeighaFileConverter_QT5_lnxX64_4.7dll.rpm
如果您想使用图形界面,您需要安装Qt 5,或者您可以在终端中使用它,或者在程序中将它用作shell命令。TeighaFileConverter 'input_folder' 'output_folder' "output_version" "output_type" "recurse_folder" "audit" -platform offscreen
# 'input_folder' can't be same with output_folder
# For example, convert dwg to dxf
TeighaFileConverter ./ ./dxf "ACAD10" "DXF" "0" "0" -platform offscreen