|
Информация и графика в Computer Aided Design В этой публикации мне хотелось бы дать краткое описание возможностей соединения заданной пользователем информации с графикой, точнее с графическими объектами CAD, на примере современных версий AutoCAD и IntelliCAD, а также их тематических приложений. К примеру, это может быть интерактивный атлас, где города, изображенные на карте, расскажут Вам о своих достопримечательностях, описания деталей станка, архитектурных ансамблей, или документация проекта. В общем, все что угодно. Итак: любая Ваша информация, описывающая графический объект любой сложности, в том числе и структурированная и “разложенная по полочкам“ в базы данных, может быть присоединена к соответствующим объектам, а затем извлечена или отредактирована – одним-единственным кликом на этом умном (но не более, чем его автор) объекте. Все возможные способы такого соединения можно разделить на три категории: 1. AutoCAD SQL Extention. Механизм присоединения баз данных, уже давно встроенный в AutoCAD и его приложения, выпущенные компанией Autodesk. В IntelliCAD на сегодняшний день отсутствует полностью. Позволяет реализовать связь с такими мощными базами данных, как dBase, FoxPro, Oracle, а также с Excel и MS Access. При помощи SQL можно формировать сложные запросы и проводить статистические исследования. Имеет смысл, если Вы собираетесь обрабатывать данные крупного предприятия или руководите институтом. Рассмотрено в руководстве по Автокаду. По этой (и предыдущей) причинам в этой статье рассматриваться не будет. 2. Многочисленные приложения, созданные при помощи технологии ActiveX, и позволяющие связать с CAD напрямую такие прудукты Microsoft, как Excel или MS Access, а также Word, или просто текстовые файлы, открывающиеся в Notepad. Огромный простор для фантазии разработчика и большой выбор программ. Вот лишь пара примеров, но в сети их можно найти гораздо больше. EXCELLINK for AutoCAD Hot-link AutoCAD attributes to Excel sheet http://www.xanadu.cz/default.asp?page=excellink.htm MACROS BASED ON AUTOCAD INTEGRATION WITH EXCEL http://members.fortunecity.com/tigrek/ 3. Extended Entity Data. Рискнем перевести, как Расширенные Данные Обьекта. Может быть, перевод и не вполне литературный, но не пугайтесь. Cмысл у этой entity-сущности довольно простой: не надо никаких внешних программ или баз данных – можно добавить свои собственные данные в информацию об обьекте, которая и так, без нашего участия, содержится и хранится в его родном файле-чертеже. Автор в общем и не скрывает, что отдает предпочтение этому способу, ввиду его простоты, удобства и “демократичности“ (см. публикацию “IntelliCAD 4 – демократизация компьютерного проектирования“ IF N4) Этот способ может при меняться и в Автокаде, и в Интелликаде. Как не странно, в Интелликаде (может быть по причине отсутствия SQL) расширенным данным уделено даже большее внимание. рис.1 Итак, выбирается объект, создается база данных, регистрируется в файле чертежа DWG, и различные типы данных вводятся в соответствующие ячейки. После нажатия на ОК вся введенная информация сохраняется в файле чертежа – и в любой момент может быть прочитана, отредактирована или удалена. Тем не менее, вся эта, как казалось бы, идиллия имеет три очень существенных недостатка, грозящих сделать хорошую идею непригодной в практической деятельности. 1. Совершенно непонятно, почему оператор, делающий свою профессиональную работу, должен сортировать данные по типам (строка, целое или дробное число, точка и т. д.), и почему это не может делать сама программа, если вообще в данной информации тип данных имеет какое-то значение. 2. Если уж создается в файле, пусть простая, но база данных, то почему оператор не может назначать ее параметры – (собственно, тоже типы данных, но такие, какие нужны ему, оператору (к примеру: номер детали, название гостиницы и пр.) и фиксировать их? 3. Самый основной недостаток, по крайней мере в IntelliCAD - тот, что информацию можно “приклеить“ сразу только к одному объекту, а если у Вас их 500 или 1000, и многие данные у них совпадают, Вы вынуждены каждый раз вводить их заново. Абсолютно ясно, что такая жуткая рутина возвращает Вас в докомпьютерную эпоху, делает Вашу работу непроизводительной и катастрофически понижает реальную ценность всей программы. Однако, сама идея – создавать не слишком громоздкие, и не слишком сложные информационные системы, какие, как правило и требуются в практической жизни - внутри чертежей, была слишком соблазнительной, чтобы от нее отказаться. Поэтому далее автору хотелось бы познакомить Вас с собственным вариантом решения этой задачи, а именно, небольшим приложением Atoll Data Manager, входящим также в состав программы Atoll Land Surface 4.0 рис.2 Прежде всего, база данных создается и регистрируется отдельной командой, включающей набор параметров, количеством до 10, и запрос выбора любого количества объектов. В наличии также опция “глобального выбора“ (т.е. кликнув на один из них, Вы фиксируете в базе данных все объекты с аналогичными свойствами) После выполнения этой команды – при клике на любой из выбранных объектов появляется окно с определенными оператором параметрами: рис.3 Название базы данных и параметров на этом примере для наглядности самые простые, но полная свобода выбора гарантируется. Слово, два слова с пробелом, (три просто не поместятся в окне), целые или дробные числа – не надо иметь никаких дел с типами данных, программа разберется сама. Далее заполняются соответствующие строчки в окне, нажимается ОК – и Ваша информация сохранится в чертеже. Войдя в команду View Object Data и кликнув на объект, можно в этом убедиться, а также в любой момент отредактировать, заменить или стереть информацию единичного объекта. Если же одинаковые значения параметров требуют распространения, то можно за секунды присвоить всю информацию одного объекта или значения избранных параметров – любому количеству других объектов сразу - при помощи Assign Data. Таким образом, база данных собирается как конструктор из кубиков, за вполне приемлемое время и без особой рутины. Изменить при необходимости саму структуру базы данных (т. е. названия параметров) или добавить новые параметры можно в DataBase – Update. Но вот мы собрали наш иллюстрированный справочник, который периодически обновляется. Глаза разбегаются от разнообразных (уж не знаю, чего – деревьев в ботаническом саду или поселков на карте, с политическими пристрастиями их обитателей) Пожалуй, остановимся на этих двух примерах, а то редактор может нас не понять, и вырежет остальные чудеса. Как нам, скажем, определить в этом разнообразии, сколько в нашем саду японских вишен определенного сорта, или на каких хуторах живут сторонники партии “зеленых“? Воспользуемся командой Find Object by Data. В первом случае мы вводим ключевые слова, соответствующие параметрам: “Происхождение“, “Название“, “Сорт“ - во втором, всего одному: “Политическая партия“ и выбираем соответствующие цвета для маркировки значков. Несколько секунд – и нам все ясно, заданная информация как на ладони, в зеленом, вишневом или любом другом исполнении, зависящем от нашего вкуса. Еще один способ визуализации распределения данных – (на этот раз числовых) изолинии. Команда Point Digital Data извлечет из базы данных координаты х, у в каждой точке, соответствующей числовому значению избранного параметра – и придаст созданному ею объекту-точке координату z, соответствующую этому значению. Далее созданные точки можно ввести, как обычную топографию, в программу Surface Creator (см. публикацию “IntelliCAD 4 – демократизация компьютерного проектирования“ IF N4) или в любую другую программу, создающую триангуляционную сеть и контуры поверхности. Благополучно обманув наивную программу, мы получаем виртуальную поверхность распределения наших данных. (Только надо не забыть, что вместо высоты - z у нас выражает частоту паводков или или плотность населения) Разумеется, Atoll Data Manager – не конкурирует с товарами крупных производителей и само использование аппарата Extended Entity Data не является панацеей. Совершенно очевидно, что если требуется более нескольких тысяч графических объектов или информационных ячеек, то нужно искать другие методы, исключающие хранение информации и графики в одном и том же файле. Но прямой путь к достижению цели, а также простота и доступность – все же очень весомые аргументы в защиту этого направления. В частности, очень хотелось бы сделать базы данных реляционными (взаимодействующими), а систему запросов и вывода данных более гибкой. Удастся ли это, покажет время. Но уже сейчас ясно, что такие приложения способны решать многие практические задачи в любой профессиональной области, а не только в системах географической информации, столь близких автору. Все заинтересованные лица приглашаются к обсуждению. Безумные идеи имеют шанс быть рассмотренными по адресу: рис. 4 atoll-geocad@xmsg.com Борис Гольдинов тел. 04-8661237 068-621878 P.S. В соответствии с соглашением между канадской компанией Cadopolis.com Inc. и Atoll GeoCAD, Cadopolis.com Inc. стала официальным дилером программы Atoll Data Manager и других приложений серии Atoll. С 9 января 2004 года 7 программ представлены на сайте Cadopolis.com, одном из крупнейших порталов, посвященных приложениям Автокада. Здесь можно прочесть детальные описания программ, увидеть иллюстрации их работы, скачать демо или приобрести полные версии программ: http://www.cadopolis.com/whatsnew.asp
|