我有一个扩展名为.dwg(AutoCAD)的文件,我想从Python控制台调用该文件并将其呈现在网络上。是否有.dwg扩展模块或其他解决方案?
答案 0 :(得分:4)
在线显示这些内容的最佳格式(imo)肯定是SVG。 最近的浏览器本身支持SVG渲染;较旧的(想想IE6)可能需要一个SVG插件
所以你最好的选择可能是使用命令行转换工具,如cad2svg(这是一个免费的linux命令行工具),它将DWG文件转换为SVG。您可以通过Python程序(using subprocess
)轻松完成此操作。
答案 1 :(得分:1)
也许你可以在这个Summer Of Code项目中使用一些东西
答案 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