У меня есть файл с расширением .dwg (AutoCAD), и я хочу вызвать этот файл с консоли Python и представить его в Интернете. Есть ли модуль для расширения .dwg или другого решения?Как открыть расширение DWG-файла с помощью Python?
ответ
Лучший формат отображения этих онлайн-файлов (imo) определенно будет SVG. Недавние браузеры поддерживают визуализацию SVG изначально; (думаю, IE6) может потребоваться плагин SVG
Итак, лучше всего использовать инструмент преобразования командной строки, например, cad2svg (это бесплатный инструмент командной строки linux), который преобразует файлы DWG в SVG. Вы можете легко сделать это из своей программы Python (usingsubprocess
).
Может быть, будет то, что вы можете использовать с этим летом проект Кодекса
Это не так легко получить данные только из .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
и в python, я использую dxfgrabber для обработки файла .dxf, – Kardos
Как вы предлагаете представить на Интернете? –
Вы имеете в виду преобразование dwg в изображение или просто загрузку файла в Интернет? –
Я имею в виду настоящее IFrame, как карты Google. – Gogoo