english english
+7 953 867 4298
bcad@propro.ru
skype bcad.propro.ru
  Программное обеспечение для автоматизации производства
Предлагаем Вашему вниманию статью, опубликованную в 4 номере журнала "САПР и Графика" за 1998 г. и посвященную нововведениям и изменениям, имеющим место в новой версии программного пакета bCAD 3.4.

bCAD образца 98.

В этой статье мы познакомим читателей с новой версией пакета bCAD. С точки зрения технологии программирования он претерпел изменения эволюционного порядка, то есть ядро и большинство команд остались прежними, лишь добавлены новые элементы. Однако с позиции функциональности это - революционно обновленный продукт с принципиально новыми возможностями. Основным в новой версии было увеличение эффективности работы за счет усовершенствования существующих инструментов и внесения ряда новых. Итак, по порядку.

Пользовательский интерфейс bCAD и в прежних версиях отличался особой дружественностью и был понятным и легки в освоении - даже для человека, только начинающего работать с САПР. Тем не менее, для совершенствования нет предела. В новой редакции сделаны как изменения общего плана, так и модифицированы многочисленные "мелочи", так порой так облегчающие работу. Многие изменения просто сократили количество нажатий на клавиши и щелчков мыши, необходимых для работы с инструментами.

Во-первых, изменен (точнее введена возможность выбора) так называемый "look-and-feel", то есть общий вид и стиль поведения управляющих элементов программы. Те кто пользуются Microsoft Internet Explorer или Office-97 могут получить тотже "новый" стиль пиктограмм и панелей управления в bCAD.

Новый стиль пользовательского интерфейса.

рис.1 - Новый стиль пользовательского интерфейса. Пиктограммы легче распознаются, выключенные функции меньше бросаются в глаза. -

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

Еще одна новинка - единое немодальное (т.е. работающее в параллельном режиме с другими окнами и диалогами) окно вывода, где отображаются информационные сообщения, возникающие в процессе работы инструментов или сообщения об ошибках. Это окно может быть либо оставлено плавающим поверх всех остальных окон либо "приклеено" к любой из границ рамки программы либо просто закрыто - вся выводимая информация продолжает накапливаться в нём и остается доступной в любой момент. Такой подход позволяет пользователю работать быстрее, отвлекаясь на просмотр выходной информации только в случае необходимости. Содержимое информационного окна можно в любой момент записать в файл или просто поместить в Windows Clipboard.

Среди полезных "мелочей" в первую очередь следует отметить улучшенный интерфейс работы с помеченными объектами. В отличие от прежних версий выбранные и постоянно помеченные объекты отображаются пунктиром, а не просто измененным цветом, что часто приводило к путанице. Тип пунктира и цвет его штрихов можно настроить по собственному вкусу. Иногда было затруднительно определить, содержит ли редактор помеченные объекты, сейчас это просто, если нет ничего помеченного - кнопка снятия пометки просто "выключена". В режиме индивидуального выбора объектов, в том случае если курсор указал в точку, где находятся несколько элементов, появится специальное окно, позволяющее выбрать именно те объекты, которые нужно отредактировать. Кстати, в новой версии Вы можете изменять уникальные имена объектов - ранее они создавались системой и оставались неизменными. Согласитесь удобнее найти в списке элемент, который называется "западная стена", нежели просто "Поверхность N321", особенно если проект сложный, да к тому же был создан полгода назад, а требуется его подправить, просто прорезав еще одно окно в этой самой западной стене.

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

Для облегчения освоения многочисленных новых функций, а также для того, чтобы подсказать некоторые специфические приемы работы, введена функция "Сообщение дня", часто встречающаяся в массовых пакетах для Windows. Текущий список советов и рекомендаций составлен с использованием опыта работы многих пользователей bCAD, но при необходимости Вы можете добавить в него и свои наработки, особенно это удобно при работе в коллективе - например, так легко оставить сообщение своему коллеге о найденном решении или внесенных в проект изменениях.

Даже в такой классической области САПР как выполнение чертежей можно найти возможность для усовершенствования. В новой редакции изменения в основном коснулись способа использования уже существовавших инструментов - появились новые способы построения дуг, усовершенствован интерфейс работы с командой припуск (offset), сильно упрощен ввод специальных чертежных символов в надписях. Остановимся на этом немного подробнее. Как правило, ввод символов типа "градус", "плюс-минус", "диаметр" не предусмотрен стандартными средствами Windows, поэтому многие САПР решают эту проблему, помещая необходимые символы либо в специальный шрифт, либо в "незанятые" места в табличке основного шрифта, при этом, чтобы ввести символ пользователь должен набрать Alt и цифровой код нужного символа на дополнительной клавиатуре. Такой подход не очень удобен. Новый bCAD реализует два режима, один - для начинающих пользователей, второй - для более опытных. В первом режиме следует использовать диалоговое окно ввода текста и, поместив курсор в то место, где необходимо вставить спецсимвол, следует нажать кнопку и в появившемся меню выбрать нужное.

Диалоговое окно ввода спецсимволов.
рис.2 - Диалоговое окно ввода спецсимволов. -

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

Ввод спецсимволов при простановке размеров.
рис.3 - Ввод спецсимволов при простановке размеров. -

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

Результат работы инструмента -вырезка-
рис.4 - Результат работы инструмента "вырезка" -

Говоря об усовершенствованиях в области объемного моделирования, хочется особо упомянуть о помощи, оказанной конструкторами Новосибирского филиала ОКБ им. Сухого. Дело в том, что наиболее сложной частью новых проектов является постановка задачи и выяснение узких мест в существующих решениях. Поэтому опыт использования bCAD в столь сложном приложении как проектирование элементов авиационных конструкций просто неоценим. Естественно никто не ставил задачу полной замены сложного специализированного пакета. Основной целью было доведение bCAD до уровня, необходимого для выполнения предварительных проектов, компоновочных работ, но не в виде эскизов а используя полноценную трехмерную технологию. Конструкторские работы проводились одновременно в bCAD на ПК и такой зарекомендовавшей себя системе как UDS-Unigraphics, что позволило выявить, какие еще технологии из "тяжелых" САПР необходимо перенести в системы среднего уровня, чтобы сделать их удобными для решения соответствующих задач.

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

Построение сложной поверхности по шаблонам
рис.5 - Построение сложной поверхности по шаблонам -

Точность аппроксимации поверхностей регулируется точностью построения исходных сечений.

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

Создание сечений и разрезов
рис.6 - Создание сечений и разрезов -

Многолетний опыт эксплуатации bCAD свидетельствует о том, что его производительность (скорость выполнения базовых операций - вывода на экран, тонирования, записи в файл и т.п.), как правило, выше, чем в аналогичных пакетах, это достигается тщательным программированием и отладкой геометрического ядра системы. Тем не менее, на определенном этапе возник "конкурент", который заставил еще раз вернуться к вопросам быстродействия. Как ни странно этим конкурентом стал... сам bCAD. Дело в том, что благодаря достаточно высокому быстродействию даже на персональном компьютере невысокой мощности, наши пользователи стали работать над все более сложными и сложными проектами. В конце концов, появились проекты сложностью в несколько сот тысяч и даже миллионов(!) полигонов, что вызвало существенное замедление в ряде операций. Впрочем, следует отметить, что благодаря иерархической структуре чертежа затруднений в режиме черчения, создания объемной модели и даже реалистическом тонировании не возникло, основным камнем преткновения стало создание изображений с удаленными невидимыми линиями. Этот режим часто используется для отображения промежуточных этапов работы и для подготовки вывода на черно-белых принтерах с низким разрешением и, в частности, для передачи вариантов чертежей факсимильной связью. В дополнение к существующей команде новая версия bCAD имеет режим удаления невидимых линий с использованием технологии OpenGL. Новая команда создает растровое изображение, в отличие от старой, которая создает векторный чертеж. Растровую картинку неудобно редактировать, но скорость ее получения в десятки, а при особенно сложных моделях - в сотни раз выше. Также, растровый вариант менее подходит для печати с высоким разрешением или на листах большого размера, однако этого и не требуется для черновых эскизов, повторимся, главное здесь - скорость. Для справки для получения изображения, приведенного на рисунке 7, потребовалось десять секунд, на том же компьютере создание векторного чертежа занимает около сорока минут, сложность модели - более 150,000 полигонов.

Результат удаления невидимых линий с помощью технологии OpenGL.

рис.7 - Результат удаления невидимых линий с помощью технологии OpenGL. -

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

Сложение тонированного изображения и изображения с удаленными невидимыми линиями делает презентации более наглядными.
рис.8 - Сложение тонированного изображения и изображения с удаленными невидимыми линиями делает презентации более наглядными. -

Одно из наиболее радикальных изменений в новой версии - возможность программировать bCAD, предоставленная в руки опытного пользователя, либо независимого разработчика. Практически все системы "тяжелого" уровня предоставляют такую возможность, так как они рассчитаны на эксплуатации в специализированных инженерных центрах, там, где наверняка есть опытный программист. До недавнего времени типичным пользователем bCAD были небольшие предприятия или даже "кустари-одиночки с компьютером", как правило, не имеющие средств и возможностей для самостоятельной разработки программ. Однако со временем потребность в относительно недорогой платформе САПР, которая позволила бы разрабатывать специализированные приложения для нужд конкретных групп - архитекторов, строителей, инженеров. Судите сами - странным выглядит факт, что для использования, прикладного пакета ценой в 200-300$ необходимо приобрести базовую САПР за несколько тысяч, да еще и соответствующее по производительности (и цене) оборудование. Как функциональная база bCAD является вполне подходящей платформой для таких приложений, так как содержит развитые как чертежную так и трехмерную подсистемы так сказать "в одном флаконе". Дело остается за выбором программного интерфейса - он должен быть достаточно гибким, чтобы позволить создавать различные приложения, несложным в освоении для специалистов в предметных областях и, что особенно важно, безопасным в программировании, то есть созданные приложения не должны иметь возможности "разрушить" основную систему, например в случае ошибок программирования. Кроме того, системы программирования должны быть достаточно доступны по цене, иначе это также вызовет повышение цены самих разработок. Практически идеальным решением является наиболее современная на сегодня технология программирования Java. Традиционно Java ассоциируется как средство разработки приложений для Internet, однако, это лишь часть ее возможностей. Сам по себе язык Java, являясь логическим развитием языков C и C++, предоставляет практически неограниченные возможности для программирования как алгоритмов, так и пользовательского интерфейса. Однако в отличие от C/C++, с использованием которых и разработан bCAD, технология Java позволяет скрыть (и "защитить") от разработчика прикладной программы внутренние структуры данных, что делает исполнение приложений "безопасным". Освоение языка не представляет труда, благодаря его популярности в Internet к настоящему времени уже изданы и продолжают появляться тысячи пособий и руководств по программированию на языке Java. Средства программирования также весьма доступны - от совершенно бесплатных инструментариев, в том числе от Sun и Microsoft - основных разработчиков средств программирования на Java, до интегрированных, отлично документированных сред, оснащенных отладчиками, большим количеством библиотек и примеров. Программный интерфейс bCAD (bAPI), предоставляет разработчику функции (или, в терминологии объектно-ориентированного программирования - методы) для создания и модификации любого объекта - чертежных элементов и поверхностей, разделов (слоев) и групп, камер и источников освещения, а также ряд дополнительных, например - ввести точку, напечатать сообщение в стандартное окно вывода и т.п. Прикладная программа может иметь развитый интерфейс в виде сложных диалогов, обращаться к файлам, запускать другие приложения. Инсталляция приложений необычайно проста - все они содержатся в едином реестре (он называется CofeeTree, рис. 9), который, в свою очередь, может иметь разделы и подразделы - достаточно щелкнуть правой кнопкой мыши на окне реестра, выбрать команду "Новое приложение" и указать где расположен исполняемый файл.

Реестр приложений bCAD (CoffeeTree)
рис.9 - Реестр приложений bCAD (CoffeeTree) -

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

Для выполнения инженерных работ зачастую недостаточно просто подготовить чертежи или описать геометрию изделия. Есть еще одна важная сторона работы - расчеты на прочность. И если в случае проектирования типовых изделий можно воспользоваться стандартными методиками, то для деталей необычной формы или скажем, сложных схем нагрузки требуется численный расчет. Такие системы, как правило, имеются в САПР высшего эшелона, но что делать пользователю систем среднего уровня? В январе 1998 года ПроПро Группа (компания - разработчик bCAD) заключила соглашение с разработчиками пакета Rieman, предназначенного для численного анализа напряженно-деформированного состояния упругих конструкций, о распространении Rieman совместно с bCAD (на опциональной основе). В связи с этим, система Rieman претерпела ряд доработок и дополнений. Положенная в основу архитектуры пакета идея простоты и легкости достижения пользователем результата, получила дальнейшее развитие в новой версии. Rieman обладает собственным инструментарием для ввода границ расчетной области с произвольной геометрией. Однако, для ускорения работы пользователей и для интегрирования пакета с bCAD введена возможность импорта графических объектов в векторном формате.

Геометрия детали, перенесенная из bCAD в пакет Riemann для прочностных расчетов.
рис.10 - Геометрия детали, перенесенная из bCAD в пакет Riemann для прочностных расчетов. -

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

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