Перейти к содержимому


- - - - -

LISP скрипт по очистке DGN стилей линий



Сообщений в теме: 2

#1 dows

    Активист

  • Продукт-менеджеры
  • PipPipPipPip
  • 2 578 сообщений
  • Пол:Мужчина
  • Город:Москва
  • Интересы:САПР

Отправлено 01 Июнь 2016 - 16:28

Программный продукт Microstation порождает DWG файлы, в которых создаются DGN линии. К сожалению, не все CAD системы работают с такими DWG файлами хорошо - например, команда PURGE может повесить nanoCAD Plus 7.0 при попытке обработать такой DWG-файл.

К счастью Константин Ермаков (CSoft Нижний Новгород) написал LSP-утилиту, которая чистит DWG документ и либо удалять DGN-таблицу стилей, либо выводить сообщение о невозможности сохранения без его удаления.

====
Данная утилита поставляется в режиме "Как есть".
Просим сообщать о результатах работы утилиты.

Прикрепленные файлы

  • Прикрепленный файл  gptdgnpurge.LSP   1,03К   140 Количество загрузок:

С уважением,
Денис Ожигин

Сайты: www.archicad.ru, www.nanocad.ru

#2 evivanoff

    Посетитель

  • Пользователи
  • PipPip
  • 16 сообщений
  • Пол:Мужчина

Отправлено 13 Сентябрь 2016 - 14:19

Ну наконец-то !!! Спасибо огромное! Утилита работает на первый взгляд хорошо. Файл с исходным размером в 24,76 мегабайт был значительно очищен от DGN таблиц до 8,2 мегабайта
Было бы здорово если бы этот скрипт довели до функционала CleanDWG.

#3 Ivanco

    Дилер

  • Дилеры
  • PipPipPipPip
  • 237 сообщений
  • Пол:Мужчина
  • Город:Красноярск
  • Интересы:САПР

Отправлено 15 Ноябрь 2016 - 13:06

Вариант использования LISP скрипта для удаления DGN стилей хоть и рабочий, но имеет два недостатка:
- его нужно запускать в каждом файле
- потом нужно еще Purge делать

Собственно написал небольшую .dll для пакетного удаления DGN стилей.
Инструкция:
- подгрузить соответствующей битности (appload).
- команда "gptComplexDGNPurge"
-появится окно , в нем выбираем папку в которой будем производить проверку/удаление DGN и нажимаем Start.
- скрипт будет открывать все .dwg файлы в папке и если там есть DGN словарь - его удалять.
- естественно это займет время , нужно будет подождать окончания работы скрипта.

Пояснения:
-Тестилось на версии nanoCADPLUS 8 x32
- код там "еще тот", на качественный нет времени, но сделать ничего плохого с файлами он не может.
- вообще проблема хорошо и подробно описана тут(_хттп://through-the-interface.typepad.com/through_the_interface/2012/12/purging-unwanted-dgn-linestyle-data-from-an-autocad-drawing-using-net.html) , и там же приведен код. Код же в LISP(который выше,как и в моем приложении) по сути не очень правильный так как просто удаляет словарь "ACAD_DGNLINESTYLECOMP".
-толком не тестировал на сетевых папках(нет возможности).
-если скрипт не заработал надо сделать:
Попробуйте перерегистрировать COM модель nanoCAD-а, с командной строки Windows: ncad.exe /register.
C:\Program Files\Nanosoft\nanoCAD x64 Plus 8.0>ncad.exe /register - то ПО в котором запускается скрипт.Делать лучше с правами администратора.
- данная утилита поставляется в режиме "Как есть".

P.S буду благодарен за качественную обратную связь

[sharedmedia=core:attachments:8115]

Сообщение отредактировал Ivanco: 15 Ноябрь 2016 - 13:08

"ИнфоИндастри" г.Красноярск,г.Иркутск,г.Владивосток-официальный дилер Нанософт
YouTube,GitHub - Ivanco21, using:C#/MultiCAD.NET





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей