2010-04-14 255 views
4

我有一个扩展名为.dwg(AutoCAD)的文件,我想从Python控制台调用该文件并将其显示在Web上。是否有.dwg扩展名或其他解决方案的模块?如何用Python打开DWG文件扩展名?

+0

你打算如何在网上展示? – 2010-04-14 11:56:21

+0

你的意思是将dwg转换为图像或只是将文件上传到网络? – 2010-04-14 11:57:34

+1

我的意思是像谷歌地图一样进入IFrame。 – Gogoo 2010-04-14 12:07:16

回答

4

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

所以你最好的选择可能是使用命令行转换工具,如cad2svg(这是一个免费的Linux命令行工具),它将DWG文件转换为SVG。您可以轻松地从您的Python程序(usingsubprocess)中执行此操作。

0

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

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

我的操作系统是CentOS 6.5(GCC 4.4.7),所以我选择Teigha文件转换器为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 
+0

和python,我用dxfgrabber来处理.dxf文件, – Kardos 2016-10-12 02:24:59