Как открыть расширение файла DWG с помощью Python? - PullRequest
7 голосов
/ 14 апреля 2010

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

Ответы [ 3 ]

4 голосов
/ 14 апреля 2010

Лучшим форматом для отображения этих онлайн (imo) определенно будет SVG. Последние браузеры изначально поддерживают рендеринг SVG; старые (думаю, IE6) могут потребовать плагин SVG

Так что, вероятно, лучше всего использовать инструмент конвертирования командной строки, например cad2svg (это бесплатный инструмент командной строки linux), который конвертирует файлы DWG в SVG. Это легко сделать из вашей программы на Python ( с использованием subprocess).

1 голос
/ 14 апреля 2010

Может быть, вы сможете использовать что-то из этого проекта Summer Of Code

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

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

0 голосов
/ 12 октября 2016

Нелегко получить данные только из файла .dwg, но гораздо проще из файла .dxf.Поэтому я решил преобразовать файл .dwg в ​​файл .dxf и просто обработать файл .dxf.Это не быстро, но это также альтернатива, так как нет другого простого способа обработки файлов .dwg.

Конвертер находится в https://www.opendesign.com/guestfiles/TeighaFileConverter.

Моя ОС - CentOS 6.5 (GCC 4.4.7), поэтому я выбираю Teigha File Converter для 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

Если вы хотите использовать графический интерфейс, вам нужно установить Qt5, или вы можете просто использовать его в терминале или использовать в качестве команд оболочки в вашей программе.

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
...