пятница, 19 апреля 2013 г.

Аудит и пересохранение чертежей без наличия установленного САПР.

Недавно оформил подписку  Associate Member. Сейчас потихоньку знакомлюсь с Teigha и Teigha.NET (по сути между ними разницы нет). Обозначенные мною программные библиотеки удобно использовать как для написания своего САПР, что собственно и сделали эти компании, так и для разработки небольших утилит, предназначенных для решения небольшого набора конкретных задач. Библиотека позволяет работать с чертежами DWG, файлами подшивок, а так же чертежами DGN, не требуя при этом наличие установленного САПР (подробнее о возможностях - здесь).

В качестве своего первого "Hello World", использующего библиотеку Teigha.NET, я написал программку, задачей которой является возможность пакетного пересохранения чертежей указанного каталога (поиск рекурсивен по подкаталогам) в нужный формат DWG (от R14 до DWG 2013). Попутно программка может выполнять аудит пересохраняемых чертежей и устранять обнаруженные в базе данных чертежа ошибки. Для работы приложения наличие какого-либо САПР (например AutoCAD) не требуется.

Конечно же, для решения обозначенной мною выше задачи можно было бы воспользоваться уже имеющимся DWG TrueViewer 2014, который бесплатен и доступен для загрузки с сайта Autodesk, но во первых - на его установку требуется около 500 Мб места на жёстком диске, а во вторых - его нужно устанавливать, что весьма продолжительно по времени. Несомненно, DWG TrueViewer 2014 имеет богатый набор возможностей, однако для решения конкретных, указанных мною выше задач, можно обойтись и чем-то более скромным.

Поскольку моя фантазия не столь богата, как фантазия Modis (к сожалению), то применительно к решаемым задачам её хватило лишь на простенький интерфейс, показанный ниже. В процессе выполнения окошко выглядит так:


Обработка файлов вынесена в отдельный поток и по мере этой обработки производится динамическое обновление информации в основном окне (через Dispatcher, т.к. GUI построен на основе WPF). Параллельно выполнению, пользователь может прокручивать списки, просматривая уже имеющиеся результаты, динамически пополняющиеся новой информацией.

Большую часть элементов управления я блокирую на время выполнения операции (видно на первом скрине), т.к. их настройки непосредственно влияют на ход выполнения процесса. По завершению выполнения обработки, блокированные элементы становятся доступными. Можно ещё раз пробежаться по отчёту и посмотреть, в каком состоянии какие чертежи находились, т.е. содержали они в себе ошибки или нет:


Код, в котором использовалась Teigha.Net был написан быстро и без каких-либо проблем, что настраивает на позитивный лад в отношении дальшейшего изучения обозначенного программного обеспечения и применения его в рамках нашей организации.

8 комментариев:

Vovochka комментирует...

А ознакомиться?

Андрей комментирует...

На самом деле, по теме распространения всё не так просто, как хотелось бы... Дело в том, что согласно требованиям ODA, прежде чем свободно распространять приложение (и его исходный код), использующее библиотеки Teigha в процессе своей работы, я обязан предварительно подписывать с ними такой документ.

Мною был выполнен перевод обозначенного документа на русский язык и выложен здесь для того, чтобы те, кто заинтересуется Teigha, более отчётливо представляли себе условия распространения программного обеспечения, использующего обозначенную библиотеку.

Дело в том, что если на практике окажется, что нужно будет подписывать такую бумагу для каждой маленькой программки которую я пишу, то это превратится в бесконечный, долгий и нудный процесс (учитывая то, с какой скоростью идёт моё текущее общение с менеджером ODA), что само по себе напрочь убивает всякое желание заморачиваться с каким-либо распространением.

В указанном мною выше документе фигурирует такое понятие как "приложение, которое имеет существенную ценность в дополнение к уже имеющемуся содержимому Инструментов Разработки". Я отправлял менеджерам ODA письмо, в котором спрашивал о том, кто и на основе каких критериев определяет "существенную ценность" приложения. Спрашивал так же о том, как я могу распространять приложения, которые не попадают в такую категорию (например то приложение, которое я показал выше на скринах данной темы).

Однако, к сожалению, процесс общения с менеджером ODA пока настраивает на очень не оптимистический лад, поскольку в обратном письме я получаю ответы не на все заданные (и даже пронумерованные) мною вопросы, а там, где мне отвечают - отвечают порой совсем не о том, о чём я на самом деле спрашивал, а лишь банально дублируя фрагменты информации (по которым у меня вопросов как раз таки нет) из обозначенного мною выше документа. Очень похоже на отписку, в процессе которой отвечающий даже не пытается вникнуть в суть задаваемого вопроса (к сожалению). Надеюсь, что ситуация изменится - время покажет...

Я повторно попросил менеджера ODA ответить на те вопросы, которые были мною заданы. До сих пор тишина...

Евгений Хрущ комментирует...

Как заполнять заявление на Associate Membership в самом конце? Или оставить эти поля пустыми?

Андрей Бушман комментирует...

А что там может быть непонятно?

- Имя Кандидата в Члены Союза
- Наименование Приложения
- Описание Приложения
- Подпись
- Дата

Евгений Хрущ комментирует...

Конкретно непонятны следующие поля: Facsimile и By (signature) - две подписи? Title и Print Name - это о чём? О приложении? О каком? Которое я собираюсь сделать? Т.е. по сути не важно что написать?
Далее идёт подзаголовок Open Design Alliance - это для них поля, мне заполнять не нужно?

Андрей Бушман комментирует...

Ой... Только сейчас заметил, что в первом комментарии вместо англоязычного варианта соглашения дал ссылку на квитанцию об оплате... Поправить уже не могу, только удалить, ну да ладно, просто удалю документ.

Теперь по вопросам. Насколько я помню:
1. Достаточно либо факсимиле, либо подпись от руки.
2. Title - должность,
3. Print Name - имя и фамилия на буржуйском, чтобы они знали, как обращаться.

Я оформлял договор через посредников (Legal Softwave), т.к. буржуи отказываются подписывать копии документов на русском (что требовалось нашей бухгалтерии).

Евгений Хрущ комментирует...

Даа, много сложностей. А вы можете что-либо подсказать по этому вопросу http://clck.ru/8jR3t возможно удастся обойтись без Teiga?

Андрей Бушман комментирует...

Ответил в обозначенном по ссылке топике.