Manifold Geometry // Многообразная Геометрия

Тестирование и эксперимент

Подписаться на эту рубрику по RSS

Про индустриализацию и QA.

Дела консольные

Зрелая библиотека геометрического моделирования предоставляет своим пользователям не только «бессловесные» бинарники с расширениями dll или so, но также и исполнимую среду, в которой эту библиотеку можно потестировать. В случае с Open CASCADE Technology (OCCT) такой средой является Draw, знакомый нам из заметки про установку OCCT. Draw дает нам возможность запускать функциональность каскейда, отдавая интерпретатору специфические команды Tcl. При этом средства визуализации и простейший пользовательский интерфейс сопровождают рабочую сессию Draw.

Ваш покорный слуга имел счастливую возможность подержать в руках и другую библиотеку 3D моделирования — ACIS.

ACIS — это своего рода «state of the art» технология в области САПР. В ее основе лежат труды таких людей, как Ian Braid, Alan Grayer и Charles Lang, известных тем, что они стояли у истоков не только ACIS, но и ROMULUS, а также Parasolid. Эта группа из Кембриджа — настоящие пионеры B-Rep, с которых началась увлекательная история индустриального геометрического моделирования. Конечно же, ACIS — продукт платный (по некоторым сведениям его стоимость составляет несколько сотен килобаксов в год). Получить его для пробного тестирования тоже немного сложно: потребуется объяснить ребятам из Spatial Corp (подразделение Dassault Systemes, начиная с 2000 года), с какой целью вы проявляете интерес к этой библиотеке. Впрочем, для юридических лиц, занятых в области CAD/CAM/CAE это не проблема.

ACIS похож на OCCT тем, что и в его поставке мы обнаружим исполнимую среду, называемую Scheme AIDE (ACIS Interface Driver Extension).

Командная среда ACIS предоставляет расширения для языка Scheme (диалект LISP) и, на первый взгляд, немного невыразительна. В любом случае, текстовые консоли есть у обеих библиотек, что является даже не преимуществом, а жизненной необходимостью для таких сложных продуктов. Навскидку можно назвать следующие области применения для интерпретаторов подобного рода:

  • Быстрое знакомство с библиотекой. Вместо чтения тонн документации и бесплодных часов компилирования геометрического "Hello World", вы можете «помучить» интерпретатор и получить базовые сведения о возможностях библиотеки не напрягаясь. Тестовых сценариев обычно хватает с избытком как в поставке самой библиотеки, так и просто в интернете.

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

  • Автоматическое тестирование. Пользовательские команды интерпретатора могут заключать в себе логику теста с доступом ко встроенным средствам визуализации.

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

Об интересных возможностях Draw мы поговорим в другой раз.