Программа обработки dwg файлов
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Программа обработки dwg файлов

Программа обработки dwg файлов

Ответ
Поиск в этой теме
Непрочитано 18.11.2008, 14:30 #1
Программа обработки dwg файлов
lpopov
 
Регистрация: 18.11.2008
Сообщений: 11

Программа обобщает некоторые решения из "FAQ: Часто задаваемые вопросы > AutoCAD":
- не выполняется копирование объектов между файлами через буфер обмена;
- как убрать надпись "PRODUCED BY AN AUTODESK EDUCATIONAL PRODUCT" (англ. версия) или "ФАЙЛ СОЗДАН В УЧЕБНОЙ ВЕРСИИ ПРОДУКТА" (русская версия) появляющуюся при печати чертежа;
- как уменьшить размер файла DWG.

Программа использует материалы с сайтов
http://www.dwg.ru, http://www.caduser.ru.
Удаление proxy-объектов и proxy-примитивов. Автор: Александр Ривилис.
Удаление лишних фильтров слоев из чертежа. Автор: VK

Программа не требует от пользователя загрузки ARX и lisp модулей.

Вложения
Тип файла: zip dwgfix_1_9_3.zip (352.7 Кб, 1854 просмотров)


Последний раз редактировалось lpopov, 23.10.2009 в 12:02.
Просмотров: 24538
 
Непрочитано 18.11.2008, 14:37
#2
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Видимо, не требует и загрузки AutoCAD?
Profan вне форума  
 
Автор темы   Непрочитано 18.11.2008, 14:38
#3
lpopov


 
Регистрация: 18.11.2008
Сообщений: 11


Программа сама подгружает ACAD.
lpopov вне форума  
 
Непрочитано 18.11.2008, 14:41
#4
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


lpopov, а она подгружает "того, кто надо" или последний запущенный? А то у меня версии от 2005 до 2009 установлены, да еще и в разных "ипостасях" (чистый acad, acad lt, adt...)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.11.2008, 14:45
#5
lpopov


 
Регистрация: 18.11.2008
Сообщений: 11


Программа работает с ACAD 2000, 2006, 2008. Если инсталировано несколько версий, есть возможность выбора ("того, кто надо").
lpopov вне форума  
 
Непрочитано 18.11.2008, 14:48
#6
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Но в диалоговом окне упоминаются только 2006 и 2008. Или же 2000 тоже должен быть установлен?
Profan вне форума  
 
Автор темы   Непрочитано 18.11.2008, 14:53
#7
lpopov


 
Регистрация: 18.11.2008
Сообщений: 11


Установлен должен быть хотя бы один из трех. Как вариант, - могут быть установлены и все три (можно будет выбирать с которым работать).
lpopov вне форума  
 
Непрочитано 18.11.2008, 15:01
#8
pembroke

инженер
 
Регистрация: 30.06.2008
Москва
Сообщений: 103
<phrase 1=


У меня файлик после обработки стал весить 131 Мб вместо 45, неплохо так обработал...
__________________
:drinks:-до
после-:aggressive:
pembroke вне форума  
 
Непрочитано 18.11.2008, 15:22
#9
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Испытывать не стал, т.к.:
1) Не понятно какая версия моих arx-файлов используется. После использования REMOVEALLPROXY обязательно следует проверять чертеж (как минимум _AUDIT)
2) Вариант с "PRODUCED BY AN AUTODESK EDUCATIONAL PRODUCT" (DWG->DXF->DWG) может работать скажем так в 60...70% случаев. Вертикальные приложения снижают этот % значительно.
3) Если сохранять чертеж в формате AutoCAD 2000 то он скорее всего увеличится, а не уменьшится.
Это первое что пришло в голову.
Александр Ривилис вне форума  
 
Непрочитано 18.11.2008, 15:31
#10
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


4) простое (точнее, бездумное) сохранение в формате предыдущих версий может капитально испортить жизнь пользователям вертикальных приложений (например, ADT)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 18.11.2008, 16:04
#11
lpopov


 
Регистрация: 18.11.2008
Сообщений: 11


Я очень благодарен этому форуму за неустанное решение проблем с ACAD, в частности Александру Ривилису и Кулику Алексею. Программа безусловно не для профессионалов. Но не всякому пользователю можно объяснить как подключить арх и запустить лисп, особенно если пользователей больше 100, а чертежи, присылаемые из сторонних организаций далеки от идеала. Месяц эксплуатации показал, что программа в большинстве случаев решает наши проблемы. Спасибо.
lpopov вне форума  
 
Непрочитано 18.11.2008, 16:08
#12
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Я бы рекомендовал использовать либо DWGTrueView для переконвертации файлов, либо, например, ABViewer (правда, он платный). Bentley XM View с этой точки зрения не тестировал, так что ничего насчет него сказать не могу...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 19.11.2008, 17:41
#13
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Цитата:
(как минимум _AUDIT)
Извиняюсь, а если как максимум, то что?
Sleekka вне форума  
 
Непрочитано 19.11.2008, 19:17
#14
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,834
<phrase 1=


Файл имеет размер 4,5Мб в формате 2000. По содержимому должен весить ощутимо меньше, но он содержит объекты АДТ 2005.
Утилиты Александра Ривилиса применялись (причем под 2002 и под 2006 Акадом).
Результат отрицательный, размер не изменился.
Решил воспользоваться новьём. И вышел сюрпрайз...
У меня после обработки программой файла под 2002(рус) Автокадом произошла очень странная картина.
Автокад 2002 стал загружаться вместо обычных 15 сек. целых 100 секунд. Под другими версиями проверять уже не стал.
Результат работы - размер не изменился.
Вопрос к автору.
lpopov, - мысли есть у Вас есть, отчего это?
Куда-то Вы прописывались?
Переставить конечно не проблема. Но интересненько получилось...
20.11.2008 - Вопрос с задержкой загрузки Автокада снимается. Что с железом к концу дня произошло.
Наверное, было неправильное движение айсбергов в Северно-Ледовитом океане.
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...

Последний раз редактировалось Alan, 20.11.2008 в 10:45.
Alan вне форума  
 
Автор темы   Непрочитано 20.11.2008, 12:03
#15
lpopov


 
Регистрация: 18.11.2008
Сообщений: 11


Цитата:
Сообщение от Alan Посмотреть сообщение
............Вопрос к автору.
lpopov, - мысли есть у Вас есть, отчего это?
Куда-то Вы прописывались?
Переставить конечно не проблема. Но интересненько получилось...
Программа не тестировалась с ACAD2002… Попробовал, действительно отрабатывает, ACAD распознается как 2000. Файл 2.5мб ужался до 270кб. Просьба переслать ваш файл на lpopov@mail.ru. (возможно потребуется обновить lisp-файл).
По поводу длительной загрузки ACAD. Такое бывает если файлы были открыты на сетевых ресурсах, и потом они стали недоступны.
Программа нигде не прописывается. Собственно, её и инсталлировать не надо,- для запуска достаточно распаковать ее из zip-архива на жесткий диск. Механизм работы:
1. При запуске формируются 4 файла: all_filters_del.lsp,
ExplodeProxy2000.arx, ExplodeProxy2006.arx, ExplodeProxy2007.arx .
2. Далее в зависимости от выбранных «Действий» - Загружается выбранный ACAD, в него подгружается ваш файл. «Удалить фильтры слоев» - запускается лисповский файл all_filters_del.lsp – автор VK. «УдалитьPROXY» - выполняются команды EXPLODEALLPROXY, REMOVEALLPROXY из модуля ExplodeProxyXXXX.arx – автор Александр Ривилис. «PURGE» выполняется 2 раза команда PurgeAll. "DWG->DXF->DWG" – файл сохраняется в формате DXF,закрывается DWG, открывается DXF.
3. Пересохраняется в выбранном формате ( с версии 1.9). В ранних версиях в формате ACAD2000.

Выкладываю обновленную версию 1.9 (в первом сообщении). Постарался учесть замечания мэтров.
Теперь все модули ARX и LISP могут быть обновлены – достаточно сохранить их в директорию с программой ( с версии 1.9, свои модули программа сохраняет в папке MOD и перезаписывает их при каждом запуске). Программа сохраняет файлы в выбранном формате.

Последний раз редактировалось lpopov, 21.11.2008 в 08:56.
lpopov вне форума  
 
Непрочитано 20.11.2008, 14:30
#16
Alan

CAD
 
Регистрация: 28.08.2003
Киев
Сообщений: 1,834
<phrase 1=


Спасибо за описание принципов, а то очень плохо бывает с "чёрными ящиками".
Выслал проблемный файл на почту. [FONT=Arial]Заранее благодарен
[/FONT]
Цитата:
По поводу длительной загрузки ACAD. ...
Это замечание я уже же снял.
__________________
По теории майский жук летать не может.
Но он этого не знает. И летает...
Alan вне форума  
 
Непрочитано 19.10.2009, 12:02
#17
vn


 
Регистрация: 10.02.2006
Сообщений: 373


Попробовал удалить лишние слои из чертежа. Запустил программу
dwgfix_1_9_1.zip,
но результата никакого
Вложения
Тип файла: dwg
DWG 2007
A4.dwg (149.9 Кб, 3925 просмотров)
vn вне форума  
 
Автор темы   Непрочитано 20.10.2009, 08:44
#18
lpopov


 
Регистрация: 18.11.2008
Сообщений: 11


Цитата:
Сообщение от vn Посмотреть сообщение
Попробовал удалить лишние слои из чертежа. Запустил программу ...
но результата никакого
Вот вам результат. Программа удалила лишние слои. Возможно Вы запускали dwgfix не распаковывая из zip.
Вложения
Тип файла: dwg
DWG 2007
A4.dwg (121.7 Кб, 3909 просмотров)

Последний раз редактировалось lpopov, 20.10.2009 в 09:49.
lpopov вне форума  
 
Непрочитано 20.10.2009, 14:44
#19
vn


 
Регистрация: 10.02.2006
Сообщений: 373


Цитата:
Сообщение от lpopov Посмотреть сообщение
Вот вам результат. Программа удалила лишние слои. Возможно Вы запускали dwgfix не распаковывая из zip.

Спасибо! lpopov Наверно так и было. Сейчас проверил. Чистит классно.
А эта программа не убирает неиспользуемые в чертеже типы линий,типы шрифтов и размеров?
vn вне форума  
 
Автор темы   Непрочитано 20.10.2009, 16:37
#20
lpopov


 
Регистрация: 18.11.2008
Сообщений: 11


Обновил модули

Последний раз редактировалось lpopov, 23.10.2009 в 11:12.
lpopov вне форума  
 
Автор темы   Непрочитано 20.10.2009, 16:37
#21
lpopov


 
Регистрация: 18.11.2008
Сообщений: 11


Цитата:
Сообщение от vn Посмотреть сообщение
.........
А эта программа не убирает неиспользуемые в чертеже типы линий,типы шрифтов и размеров?
Программа дважды делает "PURGE" (при включеной галочке). PURGE - используется для удаления из чертежа лишних блоков, форм, текстовых стилей, слоев, блоков и линий.
lpopov вне форума  
 
Непрочитано 03.11.2009, 16:15
#22
vn


 
Регистрация: 10.02.2006
Сообщений: 373


lpopov Посмотрите, pls, что-то опять не чистит лишние слои.
Я поудалял с предыдущего чертежа все Solwiews на Layjut1 и удалил layout2.
Вложения
Тип файла: dwg
DWG 2007
Стенка боковая.dwg (268.9 Кб, 1477 просмотров)
vn вне форума  
 
Автор темы   Непрочитано 05.11.2009, 09:39
#23
lpopov


 
Регистрация: 18.11.2008
Сообщений: 11


Цитата:
Сообщение от vn Посмотреть сообщение
lpopov Посмотрите, pls, что-то опять не чистит лишние слои.
Я поудалял с предыдущего чертежа все Solwiews на Layjut1 и удалил layout2.
Лишние слои удаляются командой PURGE. Собственно dwgfix не делает чего-то сверхестественного, используется та же команда PURGE. В Вашем случае количество слоев остается неизменным после применения этой команды (Загружаем АКАД, вводим в командную сроку PURGE, отвечаем на все диалоги ДА... Чуда не происходит - слоев, по-прежнему, 13)...
lpopov вне форума  
 
Непрочитано 05.11.2009, 11:12 **
#24
vn


 
Регистрация: 10.02.2006
Сообщений: 373


И что , никаким образом от этих слоев нельзя избавиться? Мне пришлось скопировать модель , открыть новый файл и туда ее вставить, но при повторном использовании, опять куча лишних слоев, созданных в предыдущем чертеже командами Solwew и Soldraw
vn вне форума  
 
Автор темы   Непрочитано 10.11.2009, 08:26
#25
lpopov


 
Регистрация: 18.11.2008
Сообщений: 11


Цитата:
Сообщение от vn Посмотреть сообщение
И что , никаким образом от этих слоев нельзя избавиться? Мне пришлось скопировать модель , открыть новый файл и туда ее вставить, но при повторном использовании, опять куча лишних слоев, созданных в предыдущем чертеже командами Solwew и Soldraw
От слоя можно избавиться если он не содержит элементов (кроме 0 или DEFPOINTS), - в вашем случае обратите внимание на элементы в пространстве листа и в пространстве модели... Удалите лишнее.
lpopov вне форума  
 
Непрочитано 10.11.2009, 09:13
#26
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406


Не всегда. Имя слоя может храниться в РД примитива, и в таком случае слой удалить уже нельзя, независимо от того, есть на нем примитивы или нет. Я уже не говорю о примитивах, входящих в описания блоков.
P.S. Не помню уже по настройкам ВЭ (видимость / замороженность слоев), но, по-моему, и с этим может быть связано некоторое количество проблем.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.03.2010, 04:11
#27
DimAS]/[K

конструктор
 
Регистрация: 11.11.2006
Находка
Сообщений: 99
Отправить сообщение для DimAS]/[K с помощью Skype™


lpopov
не забывайте про замечательную команду _WBLOCK или ПБЛОК, поэкспериментируйте в своей проге с этой командой

Цитата:
WBLOCK (ПБЛОК) не является командой, относящейся к блокам; это команда сохранения. В течение многих лет я отвечал на бесконечные вопросы относительно этой команды. Мне бы очень хотелось, чтобы в названии команды было что-нибудь связанное со словом save (сохранить), но что есть, то есть. Просто запомните, каждый раз, используя эту команду, вы создаете новый файл чертежа, и совсем необязательно применять ее, если вы хотите в дальнейшем вставить этот файл как символ в другой чертеж. Любой файл чертежа можно использовать в качестве символа.
В AutoCAD нет типа объектов WBLOCK. Пользователи, которые утверждают, что они создали wblock, с тем же успехом могут говорить, что они создали сохранение. В некоторых видах спорта, возможно, это имеет смысл, но не в AutoCAD.
Огромным преимуществом команды WBLOCK (ПБЛОК) является гибкость, с которой вы можете создавать файлы чертежей из частей существующего файла. Предположим, вы хотите создать отдельный файл, включающий только часть текущего чертежа. Вам не нужно стирать все объекты, которые не должны входить в новый файл, просто воспользуйтесь командой WBLOCK (ПБЛОК). Существует три способа (рис.) применения команды WBLOCK (ПБЛОК) для частичного сохранения файла (кстати, PSAVE (ЧСОХРАНИТЬ) было бы подходящим именем для команды).
[IMG]http://s49.***********/i125/1003/eb/77dda00602fft.jpg[/IMG]
Цитата:
Если вы пользуетесь версией команды WBLOCK (ПБЛОК) для командной строки (-WBLOCK или – ПБЛОК), в ответ на запрос имени блока введите * [ENTER], чтобы выбрать все объек¬ты чертежа. Это быстрый способ максимально уменьшить размер чертежа, и он может быть использован в пакетах или в LISP-программах.
Из книги Дэна Эбботта "AutoCAD: секреты, которые должен знать каждый пользователь"
DimAS]/[K вне форума  
 
Непрочитано 05.03.2010, 05:50
#28
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Этот Даня не удосужился расшифровать аббревиатуру WBLOCK (ПБЛОК). А обозначает это Write BLOCK или, в русской версии, Пиши БЛОК. Думаю, что пользователи, знающие, как сформировано название этой команды, не стали бы заявлять, что они создали объект wblock.
Profan вне форума  
 
Непрочитано 14.07.2011, 14:48
#29
Вовочка

пищевая технология
 
Регистрация: 02.06.2009
Киев
Сообщений: 283
<phrase 1=


Думаю не лишним добавить сброс списка масштабов. И еще вопрос: можно ли отключить убийство одноименных BAKов?
И еще. Можно поставить работу на поток. Имеется в виду, что когда программа открывает AutoCAD, то она открывает его с нуля. То есть после работы с одним файлом система спрашивает, сохранять ли "Чертеж1.dwg"? Думаю, лучше было бы открывать не acad.exe, а просто файл ассоциации.

Последний раз редактировалось Вовочка, 19.07.2011 в 14:50.
Вовочка вне форума  
 
Непрочитано 19.02.2012, 18:11
#30
Vintorez

Конструктор
 
Регистрация: 03.01.2011
Бельцы_Молдавия
Сообщений: 903


Можно программу "dwgfix" "реанимировать", что-б видела кад 2012??
Vintorez вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > Программа обработки dwg файлов



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Грамотное открытие файлов DWG из макса (6,7,8) Chuma AutoCAD 11 03.02.2010 08:05
Программирование с использованием файлов DWG fiandy Программирование 3 22.03.2008 20:27
Фундамент с динамическими нагрузками в Scad Tlelaxu SCAD 9 31.08.2007 10:44