2010-04-14 4 views
4

У меня есть файл с расширением .dwg (AutoCAD), и я хочу вызвать этот файл с консоли Python и представить его в Интернете. Есть ли модуль для расширения .dwg или другого решения?Как открыть расширение DWG-файла с помощью Python?

+0

Как вы предлагаете представить на Интернете? –

+0

Вы имеете в виду преобразование dwg в ​​изображение или просто загрузку файла в Интернет? –

+1

Я имею в виду настоящее IFrame, как карты Google. – Gogoo

ответ

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 File Converter для Linux 64-bit (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, или вы можете просто использовать его в терминале или использовать его в качестве команд оболочки в вашей программе.

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