如何用Python打开DWG文件扩展名?

时间:2010-04-14 11:48:11

标签: python dwg

我有一个扩展名为.dwg(AutoCAD)的文件,我想从Python控制台调用该文件并将其呈现在网络上。是否有.dwg扩展模块或其他解决方案?

3 个答案:

答案 0 :(得分:4)

在线显示这些内容的最佳格式(imo)肯定是SVG。 最近的浏览器本身支持SVG渲染;较旧的(想想IE6)可能需要一个SVG插件

所以你最好的选择可能是使用命令行转换工具,如cad2svg(这是一个免费的linux命令行工具),它将DWG文件转换为SVG。您可以通过Python程序(using subprocess)轻松完成此操作。

答案 1 :(得分:1)

也许你可以在这个Summer Of Code项目中使用一些东西

http://groups.fsf.org/wiki/LibreDWG/SummerOfCode

http://groups.fsf.org/wiki/LibreDWG

答案 2 :(得分:0)

从.dwg文件中获取数据并不容易,但从.dxf文件中获取数据要容易得多。所以我选择将.dwg文件转换为.dxf文件,然后只处理.dxf文件。这并不快,但它也是一种替代方案,因为没有其他简单的方法来处理.dwg文件。

转换器位于https://www.opendesign.com/guestfiles/TeighaFileConverter

我的操作系统是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