Ускорить черчение от 20% до 50-100%, улучшить качество чертежей на порядок и пр.
Этих результатов можно добиться, если собрать вместе уже хорошо известные решения, но и добавить к ним один неожиданный на первый взгляд элемент.
Больше года назад я уже пытался изложить эту идею в http://forum.dwg.ru/showthread.php?t=115290 («Чертить сразу с нужными графическими свойствами, сразу определять элемент как объект реальности, сразу присоединять описательные данные»). Я тогда недостаточно ясно описал назначение идеи и способы реализации, и был неправильно понят – участники обсуждения решили, что я говорю о прокси-объектах, о пользовательских объектах, о создании полноценных моделей объектов реальности.
Поэтому вынужден оговорить.
Речь пойдет об идее решения для обычного черчения обычными простыми элементами AutoCAD – полилиниями, отрезками, блоками и т.п. самыми обычными примитивами. Все-таки подавляющее большинство чертежей до сих пор создается в базовом AutoCAD самыми простыми примитивами.
Речь об идее решения для любого предмета черчения, создания чертежей любого назначения и содержания.
Решение может быть, конечно, только программное, но для пользователей полностью независимое от программистов – все изменения, настройки пользователи смогут производить сами, не имея ни программистских навыков, ни серьезной квалификации, а только здравый смысл и простую логику.
Первая основа предлагаемой идеи решения – использование единственного внешнего текстового файла самой простой формы и структуры. В этом файле описываются нужные общие параметры черчения, чертежей и AutoCAD, указания на все необходимые ресурсные файлы – файлы с описаниями блоков, слоев, типов линий, стилей текстов, размеров, мультивыносок, мультилиний, штриховок, листов. Все эти параметры, настройки и ресурсы автоматически программно подгружаются и активизируются автоматически в процессе черчения.
В этом же файле описываются все типы объектов чертежей – нужного стандарта черчения. Типы объектов можно объединять в классы, которые могут содержать подклассы и т.д. – любой глубины классификации и любого содержания.
Описания типов объектов состоят из их идентификаторов - названий типов объектов, наборов их графических свойств – типов примитивов, цветов, слоев, весов, стилей текстов, высот текстов и т.п., названий блоков, их масштабов, углов разворота и т.п. и т.д.
Кроме этого описания типов объектов содержат названия «таблиц» (XRecord, Object Data), в которых необходимо сохранять идентификаторы типов объектов, а так же нужную описательную информацию об объектах – об их «характеристиках». В том числе могут задаваться ограничения значений для полей этих данных – списки или диапазоны допустимых значений.
Файлы описания должны иметь предельно простую, интуитивно понятную структуру, максимально лаконичны, и создаются самими пользователями в простых текстовых редакторах. Созданные однажды файлы описаний стандартов черчения могут использоваться любое число раз, и могут использоваться любым числом пользователей.
Вторая основа предлагаемой идеи решения – черчение и манипулирование объектами из наглядного раскрывающегося меню объектов, в котором все объекты в компактном классифицированном виде отображаются на экране. Пользователи указывают нужный для черчения тип объекта и нужное действие, по умолчанию – черчение, вставка в файл. При черчении из этого меню автоматически активизируется необходимая команда черчения AutoCAD и все необходимые для этого типа объектов графические свойства, ресурсы. При необходимости (после PURGE или т.п.) все необходимые в выбранном стандарте черчения параметры, настройки, ресурсы программно автоматически восстанавливаются.
Одновременно к каждому созданному графическому элементу автоматически присоединяется своя запись в соответствующей «таблице» (XRecord, Object Data), в которой содержится соответствующий идентификатор типа объектов и поля для описательной информации, для «характеристик». Естественно, все необходимые XRecord (Object Data) нужной структуры создаются программно автоматически по описанию из внешнего файла.
Это третья, неочевидная, основа предлагаемой идеи решения – использование расширенных данных, которое в данном случае приведет не к дополнительным трудозатратам и усложнению чертежей, а, наоборот, к новым бОльшим возможностям. У каждого графического элемента появляются стандартизованные расширенные данные с идентификаторами типов объектов – новое неграфическое свойство, дающее однозначную обратную связь с элементами dwg-файлов. Это дополнительное свойство элементов не зависит от текущих графических свойств элементов. Т.е. идентификаторы (названия) типов объектов дают возможность находить нужные объекты вне зависимости от их текущих графических свойств, восстанавливать нужные графические свойства, манипулировать объектами вне зависимости от их графических свойств.
В том числе, к одному графическому элементу можно присоединить любое число записей (XRecord, Object Data), включая и одинаковые. Т.е. один графический элемент можно определить как отображение многих типов объектов одновременно.
В целом добавление неграфических стандартизованных идентификаторов дает для анализа и манипулирования данными чертежей новые мощные степени свободы.
Кроме того, появление у каждого графического элемента записей (XRecord, Object Data) для расширенных данных, дает возможности превращения чертежей в базы описательных данных, дает возможности создания экспликаций, отчетов и пр. анализа описательных данных. Что существенно – эти возможности предполагаются доступными для пользователей базового AutoCAD, и, в сочетании с набором базовых необходимых инструментов, могут решить множество задач, от которых сейчас приходится отказываться или для которых приходится разрабатывать собственные приложения.
Ускорение черчения достигается за счет исключения ручных действий и настроек, повторяющихся при создании чертежей – автоматической их подгрузки и активизации. Ускорение и улучшение качества достигается за счет максимальной стандартизации чертежей, возможностей полных и всеобъемлющих проверок.
При появлении описаний всех необходимых свойств всех графических элементов чертежей появляются возможности программно, автоматизированно определять элементы файлов нужными типами объектов, присоединять нужные записи (XRecord, Object Data), если наборы графических свойств элементов чертежей соответствуют нужному стандарту. Появляется возможность автоматизированно находить все элементы dwg-файла, чьи свойства не соответствуют стандарту черчения. Эта возможность существенно превосходит штатные инструменты AutoCAD проверки соответствия «стандарту».
При появлении у графических элементов названий типов объектов (идентификаторов) появляется возможность программно, автоматизированно назначать всем или выбранным элементам dwg-файла нужные графические свойства. В том числе и заменять при необходимости одни свойства на другие. Появляется возможность поиска элементов, не определенных типами объектов, без нужных записей (XRecord, Object Data). Появляется возможность автоматизированно манипулировать данными – выбирать объекты нужного типа, относящиеся к нужным классификационным группировкам. Появляется возможность дополнительных действий – однозначно правильно определять приоритеты отображения элементов, автоматизированно заменять способы отображения на отображение в другом стандарте, автоматизированно переводить чертежи из одного стандарта черчения в другой.
Программно, автоматизированно можно определять значения характеристик объектов в их полях данных в записях (в XRecord, в Object Data). Можно находить элементы, в записях которых не определены значения характеристик, в которых значения не соответствуют ограничениям, заданным в файле описания.
Значения из записей расширенных данных можно просматривать, вводить и редактировать для указанных элементов в специальном окне. Так же можно просматривать, вводить и редактировать все эти значения в виде таблиц. Эти значения можно экспортировать в нужные форматы и импортировать в XRecord/Object Data в dwg.
В принципе, многое из предлагаемой идеи решения в разных видах, частями реализовано в самом AutoCAD: в Design Center (Дизайн центр) – возможность подгрузки нужных ресурсов, в Tool Palettes (Панели инструментов) – наличие файлов описания и окно меню объектов для черчения, в инструментах проверок на стандарт. Но самим же Autodesk, например, в Tool Palettes не реализована и треть возможностей, возникающих при наличии файла описания. А окна Tool Palettes для меню объектов не позволяют создавать раскрывающиеся списки, реализовывать классификацию объектов, не компактны, т.е. недостаточно удобны.
Во многом предлагаемая идея решения реализована в вертикальных приложениях AutoCAD – использование расширенных данных, меню объектов, автоматизация процессов поиска и проверок и т.п. Но они не доступны основному большинству пользователей, и специализированы, ограничены специализацией приложений (хотя и не во всем).
Еще больше реализаций этой идеи в пользовательских приложениях - вероятно, мнигие сотни, может быть тысячи пользовательских программ, предлагающих свои меню объектов, автоматическую или полуавтоматическую загрузку ресурсов и настроек в dwg, способы описания и хранения характеристик объектов, в т.ч. в расширенных данных AutoCAD. И эти решения сильно привязаны к частным мнениям и предпочтениям, специализированны, чаще всего их пользователи зависимы от постоянного участия программистов и т.п.
Ограничения в применении данной идеи связаны в первую очередь с трудоемкостью создания файлов описания стандартов черчения. С наличием и качеством готовых файлов описания. Эта трудность преодолима. Во-первых, возможно программное создание «заготовок» таких файлов по образцовым представительным готовым чертежам, по тем же Tool Palettes, если они уже были сделаны или по формализованным описаниям нужных объектов, если они есть. Во-вторых, структура файлов описания может быть настолько простой, прозрачной и лаконичной (проверено - возможно), что ручное создание таких файлов описания может быть достаточно несложным и быстрым. В-третьих, уже созданные файлы описания во многих случаях могут быть использованы как заготовки – когда стандарты черчения отличаются не принципиально, частично.
Соответственно, применение данной идеи больше оправдано для проектов, требующих одновременно многих исполнителей, для больших фирм, выдерживающих собственные стандарты, при создании чертежей с жесткими требованиями заказчиков к качеству чертежей, очень эффективно при привлечении сторонних исполнителей – субподрядов и фрилансеров.
Других ограничений фактически никаких нет – внешне и функционально созданные таким образом чертежи ничем не отличаются от обычных чертежей AutoCAD, описательные данные из XRecord не создают для работы с dwg проблем, не являются proxy.
Предлагаемая идея реализована мной (как постановщиком задач) для вертикального приложения AutoCAD Map 3D на основе его расширенных данных – Object Data, и почти полностью повторена для базового AutoCAD на основе XRecord.
Уже одно только черчение из удобного меню объектов, поиск по типам объектов и по классификационным группировкам, поиск не определенных элементов дают общее снижение трудозатрат примерно на 10-20% и очень заметное улучшение качества чертежей. Остальные цифры в моем обещании ускорить оценочные, т.к. сейчас пока невозможно широкое производственное применение, тестирование и доработка. Обещания улучшить, упростить, расширить, создавать новые виды продукции и пр. в базовом AutoCAD вполне проверены и ответственны.
При этом я считаю, что правильной во всех смыслах и случаях реализацией такой идеи может быть только решение самой фирмы – Autodesk.
Надеюсь, видно, что это позволило бы перевести черчение и сами чертежи на другой, более высокий уровень и производительности, и качества, и содержания.
Почему делюсь идеей, а не пиарю свой продукт.
Во-первых, косвенно пиарю. :)
Во-вторых, идеи считаю вообще самым ценным.
В-третьих, хорошая идея – всегда продукт критики и обсуждения.
В-четвертых, реализация всегда ограничена вкусами и склонностями ее авторов, что-то от идеи теряет, а что-то несет лишнее.
В-пятых, надеюсь, что те, кто будет реализовывать такое решение, не забудут упомянуть и меня. :)
В-шестых, повторюсь, считаю, что реализовывать подобное должен сам Autodesk.