isicad.ru :: портал САПР, PLM и ERP :: версия для печати

Статьи

20 декабря 2013

Сравнительный обзор возможностей ZWCAD+ и AutoCAD: Невероятная совместимость форматов, .NET API и Онлайн сервисы

Вильям Форти

От редакции isicad.ru: После оглушительного успеха статьи о результатов сравнения T-FLEX CAD, SolidWorks и Inventor, наша редакция продолжила тему сравнения разных САПР, в том числе, статьей Ракеша Рао «Сравнение производительности Lisp в AutoCAD, BricsCAD и ZWCAD+». Сегодняшняя статья, предоставленная российским офисом ZWSOFT, продолжает эту серию.

Следует иметь в виду, что всякое сравнение сложных и уже широко применяемых программных продуктов неизбежно оказывается, хотя бы в некоторой или в значительной степени, субъективным. Ярким примером является легендарное сравнение Inventor-SolidWorks, охарактеризованное, в частности, в статье Эла Дина, главного редактора DEVELOP3D: «Независимые отчеты: Когда все идет не так, то пойдет не так все время». Наша точка зрения на такого рода сравнения изложена, например, в статье «isicad.ru продолжает сравнивать САПРы».

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

Вильям Форти (William Forty) Об авторе

Вильям Форти (William Forty) имеет 10-тилетний опыт работы в сфере проектирования, преимущественно использует AutoCAD и Civil 3D. Благодаря образованию в области обработки компьютерных данных и большому интересу к разработке приложений он в совершенстве владеет большинством основных языков программирования и различными веб-технологиями. Все это способствовало разработке большого количества программных продуктов для линейки приложений AutoCAD, которые он зачастую бесплатно предлагает в своем блоге HowToAutocad.com.

Исходный текст статьи доступен по ссылке.


DWG/DWF Совместимость

Когда мы говорим о совместимости форматов, необходимо четко прояснить и осознать, совместимости с чем добивается ZWCAD+. При оценке совместимости DWG и DXF файлов эталоном считаются оригинальные DWG и DXF форматы, разработанные и закрепленные за программными продуктами AutoCAD от Autodesk.
DWG — Объекты
Первой и самой очевидной вещью, которую, как мне кажется, нужно проверять, это откроет ли ZWCAD+ файлы DWG, содержащие тот набор базовых элементов, которые поддерживаются в AutoCAD. На собственном опыте разработчика приложений я отлично знаю, что распознавание данных из таких файловых форматов, как DWG, преисполнено сложностей. Приложение должно быть написано таким образом, чтобы оно могло понимать и обрабатывать все возможные виды структуры DWG файлов. Если структура такова, что приложение не может ее понять, то какие-то элементы могут быть пропущены или преобразованы в другие, менее специфические типы данных.

Поэтому первым моим тестом стало открытие ряда чертежей и простой подсчет различных типов элементов, содержащихся в тестовых чертежах. Я использовал четыре чертежа, каждый из которых содержит различные типы данных. Ниже вы можете увидеть созданную мной таблицу, в которой перечислены типы элементов и их количество в каждом из файлов.

Эта проверка является, по сути, основной, при ее выполнении мы опосредованно тестируем широкий спектр возможностей, она является хорошим способом выяснить совместимость по множеству факторов за одно простое действие. Итак, ZWCAD+ здесь полностью идентичен AutoCAD, что является, безусловно, отличной новостью для начала знакомства с ним.
DWG — Размеры файлов
Другим способом увидеть отличия между AutoCAD и ZWCAD+ в обработке файловых форматов является сравнение размеров файлов. Ниже вы можете увидеть таблицу, в которой показаны размеры тех же самых четырех файлов, сохраненных в AutoCAD и ZWCAD+.

Размеры файлов, сохраненных в ZWCAD+, очень близки к размерам файлов AutoCAD, но не идентичны им на все 100%. Однако, наличие некоторого расхождения вполне ожидаемо, и я хотел бы с удовлетворением отметить, что находится оно в пределах допустимого. Таким образом, мы можем сделать вывод, что ZWCAD+ сохраняет данные очень близким к AutoCAD образом.
DWF — Размеры файлов
Так же, как и в случае с DWG, можно сравнить размеры DWF файлов, сохраненных в ZWCAD+ и AutoCAD. Ниже вы можете увидеть таблицу размеров файлов, созданных при помощи одних и тех же настроек печати в DWF.

Интересно, что иногда ZWCAD+ создает файлы меньшего размера, чем AutoCAD, а иногда — большего. И хотя это не является признаком наличия проблем в совместимости форматов, этот факт, безусловно, стоит иметь в виду. Реальной проверкой будет лишь визуальный осмотр файлов в Autodesk Design Review.
DWF — Внешний вид
Визуальный осмотр двух DWF файлов показал, что DWF от ZWCAD+ имеет невероятное сходство с файлом, созданным в AutoCAD. Веса и типы линий линий безупречны. Штриховки тоже, размерные и вспомогательные объекты (аннотации) невозможно отличить от их аналогов из родного AutoCAD’овского DWF.

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

Взаимодействие с облачными хранилищами данных

Настройка
По началу я сразу с оптимизмом перешел на вкладку Онлайн (Online) на ленте и кликнул «Сохранить в Облако» («Save to Cloud»). Конечно, на самом деле для начала нужно выполнить некоторую предварительную настройку, поэтому я тут же получил сообщение, гласящее, что «ZWCAD+ Syble» недоступен, его нужно сначала включить.

Зато прямо под моим курсором обнаружилась кнопка «Открыть и настроить» («Open and Configure»). Нажав на нее, я сразу попал на вкладку Онлайн (Online) диалогового окна Настройки (Properties).

В самом верху в глаза бросается чек-бокс «Включить облачное хранилище» («Enable cloud storage»), если в нем поставить галочку, то станут доступны все остальные пункты для выбора и настройки данных поставщика облачных услуг. Так как у меня есть учетная запись в Dropbox, я выбрал именно его и нажал кнопку «Авторизовать» («Authorise»). Сразу после этого открылся сайт Dropbox. После ввода логина и пароля ZWCAD+ был авторизован для использования моего аккаунта.

Процесс настройки очень и очень прост.

Работа с Облаком
После выполнения первичной настройки работать с облаком необычайно просто. На вкладке Онлайн (Online) я могу просто нажать на кнопку «Сохранить в Облако» («Save to Cloud»), после этого появляется окно «Сохранить как» («Save As») как при обычном сохранении чертежа. После нажатия кнопки «Сохранить» («Save») нужно подождать мгновение, как при простом сохранении файла, окно закрывается без каких-либо дополнительных оповещений о том, что загрузка в облачное хранилище выполнена. Процесс абсолютно прозрачен вплоть до того момента, когда я почувствовал необходимость удостовериться, действительно ли все сработало. Я вошел в свой аккаунт на Dropbox для того, чтобы проверить это, и действительно, обнаружил свою работу в новой папке, созданной для ZWCAD+.

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

API Совместимость: .NET

Так как этот вопрос является одним из направлений моей специализации, я с нетерпением ждал именно этой части обзора.
Перенос существующего проекта
Для реализации этого этапа я решил пойти ва-банк и перенести на новую платформу одну из самых популярных своих разработок, мою утилиту для выстраивания геодезических данных. Если говорить кратко, суть этого инструмента заключается в переводе 2D геодезического чертежа в 3D чертеж (подробности вы можете узнать на http://howtoautocad.com/autocad-civil-3d-survey-fix-tool/)

Обдумывая процесс перевода моего автокадовского .NET проекта на новую платформу, я предполагал, что мне придется переписывать часть кода для того, чтобы я мог использовать типовые библиотеки ZWCAD+. Я думал, что при этом придется местами видоизменять свойства и методы таким образом, чтобы они удовлетворяли требованиям ZWCAD+.

Однако, мне с готовностью были предоставлены документы, определяющие, каким образом перейти от AutoCAD .NET проекта к ZWCAD+ .NET проекту, и я был поражен, обнаружив, что процесс обещает быть невероятно простым.

Первым делом нужно установить .NET версии 4.0 и заменить все ссылки на файлы AcMgd.dll и AcDbMgd.dll на соответствующие версии этих файлов для ZWCAD+. Естественно, сделать это несложно. Далее необходимо соответствующим образом изменить пространство имен. Например, моя утилита была написана в VB.NET, и потребовалось внести следующие изменения в список импортов в начале программного кода:

В проекте было еще несколько аналогичных моментов, которые требовали корректировки, но, опять же, все это были всего лишь модификации пространства имен, как и в случае, показанном выше. Невероятно, но помимо этих, очень незначительных изменений, больше ничего не понадобилось делать. Все свойства и методы, использованные мной в первоначальном AutoCAD’овском API, по-видимому, имели действующие равнозначные эквиваленты в ZWCAD+, поскольку в IDE никаких ошибок выдано не было.

Сборка проекта тоже прошла без ошибок — на этом этапе я, должен признаться, подумал про себя: «не может быть, чтобы все было так просто...»

Однако, вызов команды NETLOAD в ZWCAD+ и выбор проекта сработал с первого же раза. Запуск моей команды SURVEYFIX, при помощи которой выполнятся моя программа, также сразу прошел успешно. Весь процесс конвертации приложения сработал с первого раза и моя программа заработала в ZWCAD+ именно так, как была должна.

Я не могу описать, насколько сильно я впечатлен API в ZWCAD+. Он имитирует API от AutoCAD очень точно, позволяя разработчикам, таким как я, использовать собственный исходный код, не меняя, по сути, ничего кроме ссылок в проекте. Изменения, которые потребовались для переноса моего проекта на платформу ZWCAD+ .NET API, можно перечесть по пальцам, на все обновление ушло около 5 минут.

Другой большой плюс заключается в том, что людям, учившимся разработке приложений для AutoCAD, не нужно будет переучиваться под API от ZWCAD+, как мне могло показаться раньше. Благодаря тому, что ZWCAD+ столь хорошо имитирует AutoCAD, знание API для AutoCAD, автоматически означает также возможность разрабатывать приложения для ZWCAD+. Разработчики же приложений для ZWCAD+ только выиграют благодаря обилию уже существующей информации по разработке .NET приложений для AutoCAD.

Итоги

Я всегда был большим поклонником приложений AutoCAD от Autodesk, но я всегда интересовался альтернативными решениями, делающими по своей сути то же самое. Я никогда всерьез не задумывался над заменой моих приложений на альтернативные, но качество ZWCAD+ и его невероятное сходство с AutoCAD как в вопросах совместимости, так и в сфере API и разработки приложений, не даст мне забыть о ZWCAD+ при очередном обновлении лицензии.


Все права защищены. © 2004-2024 Группа компаний «ЛЕДАС»

Перепечатка материалов сайта допускается с согласия редакции, ссылка на isicad.ru обязательна.
Вы можете обратиться к нам по адресу info@isicad.ru.