Вариант подхода к построению CAD или модернизации CAD
Можно построить всю работу CAD сразу с априорной, неразрывной связью каждого графического элемента с описательными данными. Т.е. при вставке в файл любого графического примитива, к нему в таком CAD сразу всегда привязана соответствующая запись в соответствующей «таблице». Которые пользователь сможет определять по своим потребностям, и которые предназначены для ввода и хранения описательных данных об объектах чертежа и др.
ПО для черчения и анализа графических данных с такими принципами построения работы существует чуть ли не дольше, чем сами CAD. Примерами такого ПО являются все классические и не очень ГИС. Сразу нужно учесть, что в ГИС черчение, скорее, факультатив, и потому в них процесс создания нужных таблиц для данных, описания графических свойств объектов не быстр, и чертить в них заметно сложнее. Потому стОит сделать так, чтобы в принципе черчение в гипотетическом CAD было не сложнее, чем сейчас.
Итак: начиная черчение, вызываем привычными способами (кнопкой, командой в комстроке) обычную команду вставки в файл первого графического элемента. Или переносим из дизайн-центра блок, копируем из другого файла и т.п. В общем – чертим любым стандартным обычным примитивом, с нужными графическими свойствами. Хоть отрезок в нулевом слое и т.п. Или блок любым способом, или текст и т.п. Чертим, вставляем в файл абсолютно так, как сейчас в CAD.
Но одновременно тут же, «само»:
- Создается «таблица» с временным названием вроде «таблица_0», в ней создается «запись», привязанная к этому элементу. В «таблице» сначала всего одно «поле» – для временного названия объекта вроде «отрезок_0». Название «таблицы», «поле» (далее – без кавычек), значение в поле отображаются в окне Свойства.
- В специальном окне меню объектов чертежа появляется строка с «отрезок_0». Это окно – вроде окна палитр инструментов (Tool Palettes), но автоматически заполняется по мере добавления в чертеж объектов с уникальным набором графических и описательных параметров.
- Создается текстовый файл описания объектов чертежа понятной и простой структуры – как это тоже делается при создании палитр инструментов, но не таким непонятным, как их xml. С одноименным чертежу названием. В этот файл записывается описание объекта, основные его параметры – название, тип примитива, слой, цвет, ширина и пр. обязательное. И описание таблицы объекта – название, описания полей, допустимых значений в полях.
Таблицы для данных об объектах могут быть реализованы штатными средствами CAD (AutoCAD) расширенных данных – XRecord или т.п. Т.е. ничего в этом смысле разрабатывать, дополнять к имеющимся возможностям не нужно. Графические элементы с расширенными данными абсолютно такие же, как и без них. Никаких сложностей для привычной работы не создают.
Соответственно, при черчении каждого следующего элемента привычными способами (через кнопки, команды и пр.), меню объектов пополняется - «отрезок_1». «отрезок_2». «текст_34». «блок_17» и т.п.
Пользователю дается возможность редактировать названия объектов – заменять их на всем понятные. Например, вместо «отрезок_2» - «линия стены», вместо «полилиния_6» - «ось дороги», вместо «блок_22» - «светильник дневного света», вместо «текст_1» - «надпись названия» и т.п.
И пользователям дается возможность редактировать в описании объектов все параметры – слой, цвет и пр., дается возможность добавлять нужные поля для описательных данных.
Таким образом, одновременно с созданием чертежа появляется и автоматически пополняется меню типов объектов чертежа и файл с описанием этих объектов. В конце концов, возникает описание всех типов объектов чертежа и их описательных данных, соответствующих содержанию чертежа.
Благодаря меню объектов, сразу появляется возможность чертить не только привычными командами, но и из меню – уже с определенными графическими свойствами и с определенной таблицей данных. Практически аналогично черчению из палитр инструментов. Но меню объектов стОит сделать удобнее – на идее меню-дерева. Т.е. с возможностью собирать объекты в классы, с возможностью сворачивать списки объектов до строки класса, и разворачивая их по необходимости. Описания классов и вхождение в них объектов также вносить в файл описания.
Готовые файлы описания объектов могут являться описанием стандартов черчения, их можно передавать соисполнителям, другим пользователям, что даст возможность чертить и быстрее, и выдерживая нужный стандарт. Т.е. готовые файлы описаний объектов можно загружать перед началом черчения, что обеспечит черчение в одном стандарте всем соисполнителям одного проекта или одной организации, или одной задачи.
Поля описательных данных могут быть предназначены для любой нужной информации об объектах – об их размерах, положении, особенностях, свойствах и т.д. По этим данным можно производить любой нужный анализ созданной модели, создавать отчеты, экспликации и пр.
Поля описательных данных могут быть предназначены для названий скриптов, которые нужно выполнять для объектов этого типа. Для описания условий, событий, при которых эти скрипты нужно применять. Для описания типов объектов, при взаимодействии с которыми эти скрипты нужно применять.
Естественно, что в таком CAD нужно снабдить пользователя соответствующим базовым набором возможностей работы с таблицами и полями данных, анализа этих данных, анализа совместно описательных данных с геометрией объектов. И т.п.
Многочисленные плюсы, которые дает такой подход, во многом описаны в прежних статьях – в «Ускорить черчение…», «OD/DB...», но в них рассматривался путь дополнения к существующим CAD. Полнее и продуктивнее, конечно, строить сам CAD на таком подходе. При этом происходит целый ряд качественных изменений в работе в CAD. Не только в скорости и в степени соответствия стандартам, не только в во много бОльших возможностях анализа, подсчетов и т.п. Изменяется в целом подход к самому процессу черчения - внимание исполнителей переносится с инструментов черчения на сам предмет черчения, моделирования.
Таким образом, CAD из средства в основном графического, из средства создания чертежей превращается в средство создания «информационных моделей». (Здесь кавычки не для умаления таких моделей, а из-за расплывчатости термина). При сохренении всех уже имеющихся привычных возможностей работы. CAD становится вполне информационной системой. Пусть и не в том же смысле, что подразумевается специальными BIM-системами или т.п., пусть относительно них слишком статичной, но по праву системой информационной. Т.е. во всех аспектах предназначенной для компьютерного, программного анализа данных. И при том не менее, а более удобной для черчения, чем существующие CAD.
Добавлено:
О формате данных. Обнадеживающий реальный пример есть в AutoCAD Map 3D - формат sdf. Данные этого формата читаются и воспроизводятся AutoCAD. При том, что количество объектов может составлять многие миллионы, а скорость работы при этом вполне удовлетворительная, без сильного торможения. В т.ч. при одновременной работе с данными многих исполнителей. Естественно, что в AutoCAD Map 3D есть обмен между dwg и sdf.
16.07.2016
Шаров Александр
Комментарии
Авторизоваться
Цитата:Сообщение #8 от АлексЮстасу
"Если бы судить только по нашему форуму и блогу, то я единственный придурок, которому эти возможности вдруг примерещились..."
Нас таких много. Но останавливает:
...
Вот, буду расценивать Вашу реплику, как таковые :)
Нас таких много. Но останавливает:
- простых юзеров - отсутствие простых, доступных и стабильных СТАНДАРТНЫХ инструментов для работы с этими вещами. По какой-то причине создатели Акада сделали так, что с расширенными данными и словарями могут работать только достаточно подготовленные разработчики приложений. Впрочем, в Express есть инструмент работы с XDATA, но совершенно убогий:(
- тех, кто немного пишет на LISP для своих нужд - отсутствие времени и банальная лень в отношении написания собственных инструментов:)
Если говорить только о расширенных данных, то пик интереса к ним приходится на 2002-2009 годы. На 2003-2006. Сужу по выборке тем-сообщений на caduser.ru. А потом этот интерес в основном, похоже, угас.
Расширенные данные играют в моей идее одну из ключевых ролей, но не одни они - в идее сочетается несколько ключевых средств. Идея, скорее, технологическая, т.е. как добиться наилучшего решения, используя почти только имеющиеся средства. Собирать воедино, конечно, приходится с программированием, но ингредиенты все давно существующие.
kp+ , 20 августа 2016 в 15:51 #10
Цитата:
"Сообщение #8 от АлексЮстасу
" Неиспользование мощи инструментов .dwg для хранения подцепленной информации в чертежах. С помощью XDATA, объектных словарей и т.п...."
Если бы судить только по нашему форуму и блогу, то я единственный придурок, которому эти возможности вдруг примерещились..."
Нас таких много. Но останавливает:
- простых юзеров - отсутствие простых, доступных и стабильных СТАНДАРТНЫХ инструментов для работы с этими вещами. По какой-то причине создатели Акада сделали так, что с расширенными данными и словарями могут работать только достаточно подготовленные разработчики приложений. Впрочем, в Express есть инструмент работы с XDATA, но совершенно убогий:(
- тех, кто немного пишет на LISP для своих нужд - отсутствие времени и банальная лень в отношении написания собственных инструментов:)
АлексЮстасу, 27 июля 2016 в 13:28 #8
http://isicad.ru/ru/articles.php?article_num=18690
Сообщение #6 от trir
http://isicad.ru/ru/articles.php?article_num=18690
" Неиспользование мощи инструментов .dwg для хранения подцепленной информации в чертежах. С помощью XDATA, объектных словарей и т.п. вы можете легко прикреплять описательную информацию к любому объекту, осуществлять поиск по ней, экспортировать эту информацию в Excel, легко создавать таблицы с количественными и стоимостными оценками.
Вы можете удивиться тому факту, что вы можете трансформировать вашу .dwg платформу (AutoCAD/BricsCAD) в мощную базу данных и простое BIM-ГИС окружение за долю стоимости..."
Если бы судить только по нашему форуму и блогу, то я единственный придурок, которому эти возможности вдруг примерещились... Впрочем, это в темы предыдущих статей.
(Спасибо за ссылку. Сами идеи CADPower или GeoTools я давно оценил).
0
3DSOLID
5
254
330
1F
100
AcDbEntity
8
0
100
AcDbModelerGeometry
70
1
1
koo nnm n o
1
ni ^ *+0;:,4 ^ *+0\^ [ nf ^ LR mmoqoqoqjkoo QK o
1
n fqfffffffffffffffj:rooh n:rono
1
=0;& {rn {n {rn {m |
1
3*2/ {rn {rn {l {o |
1
+->1,90-2 {rn n o o o n o o o n nfimqkfmmghhlkomlm nmlnqhjologmkmfmkg ljjqkmkfhnnnmnfhmg n 10@-0+>+: 10@-:93:- |
1
,7:33 {rn {rn {rn {k {rn {n |
1
9>-; ,6183: |
1
/:-,*=:1+r>;L036;W6,+0-&r>++-6= {rn {rn {rn {k n n n o |
1
9>1:r,*-9>;L036;W6,+0-&r>++-6= {rn {rn {rn {i n n m o |
1
9>1:r,*-9>++-6= {rn {rn {rn {no n n l o |
1
9>1:r,*-9>1:r,*-9>687+r;L036;W6,+0-&r>++-6= {rn {rn {rn {mk n n nm o |
1
9>1:r,*-9>-; |
1
/:-,*=:1+r>;L036;W6,+0-&r>++-6= {rn {rn {rn {ln n n mn o |
1
):-+:' {fo {ln {fn |
1
):-+:' {fm {hm {fl |
1
,+->687+r-; |
1
-; {ni {rn |
1
/:-,*=:1+r>;L036;W6,+0-&r>++-6= {rn {rn {rn {lk n n j o |
1
):-+:' {fi {in {fh |
1
,+->687+r++-6= {rn {rn {rn {li n n ni o |
1
):-+:' {fg {li {ff |
1
,+->687+r-; |
1
:;8: {nom {kn {jg {lg {nol 90-(>-; |
1
/:-,*=:1+r>;L036;W6,+0-&r>++-6= {rn {rn {rn {kn n n mj o |
1
/061+ {rn rliqijohhfliliinojf rmkiqfmnhnhmghfkmji ljjqkmkfhnnnmnfhmg |
1
/:-,*=:1+r>;L036;W6,+0-&r>++-6= {rn {rn {rn {km n n mi o |
1
/061+ {rn rliqijohhfliliinojf mkiqfmnhnhmghfkmji ljjqkmkfhnnnmnfhmg |
1
/:-,*=:1+r>;L036;W6,+0-&r>++-6= {rn {rn {rn {kj n n ng o |
1
/3>1:r,*-9>-; |
1
/:-,*=:1+r>;L036;W6,+0-&r>++-6= {rn {rn {rn {jn n n f o |
1
):-+:' {noi {gk {noh |
1
,+->687+r-; |
1
/:-,*=:1+r>;L036;W6,+0-&r>++-6= {rn {rn {rn {jk n n nl o |
1
):-+:' {nno {jk {nnn |
1
,+->687+r;L036;W6,+0-&r>++-6= {rn {rn {rn {jj n n k o |
1
,+->687+r;L036;W6,+0-&r>++-6= {rn {rn {rn {jh n n mm o |
1
/061+ {rn rliqijohhfliliinojf mkiqfmnhnhmghfkmji rljjqkmkfhnnnmnfhmg |
1
/:-,*=:1+r>;L036;W6,+0-&r>++-6= {rn {rn {rn {jg n n mo o |
1
/061+ {rn rliqijohhfliliinojf rmkiqfmnhnhmghfkmji rljjqkmkfhnnnmnfhmg |
1
/:-,*=:1+r>;L036;W6,+0-&r>++-6= {rn {rn {rn {in n n no o |
1
,+->687+r;L036;W6,+0-&r>++-6= {rn {rn {rn {ik n n nn o |
1
/061+ {rn liqijohhfliliinojf rmkiqfmnhnhmghfkmji ljjqkmkfhnnnmnfhmg |
1
/:-,*=:1+r>;L036;W6,+0-&r>++-6= {rn {rn {rn {if n n nh o |
1
/061+ {rn liqijohhfliliinojf mkiqfmnhnhmghfkmji ljjqkmkfhnnnmnfhmg |
1
/:-,*=:1+r>;L036;W6,+0-&r>++-6= {rn {rn {rn {hn n n ml o |
1
,+->687+r;L036;W6,+0-&r>++-6= {rn {rn {rn {hm n n nf o |
1
,+->687+r;L036;W6,+0-&r>++-6= {rn {rn {rn {go n n nj o |
1
,+->687+r;L036;W6,+0-&r>++-6= {rn {rn {rn {gm n n g o |
1
/061+ {rn liqijohhfliliinojf rmkiqfmnhnhmghfkmji rljjqkmkfhnnnmnfhmg |
1
/:-,*=:1+r>;L036;W6,+0-&r>++-6= {rn {rn {rn {gk n n h o |
1
,+->687+r;L036;W6,+0-&r>++-6= {rn {rn {rn {gi n n nk o |
1
/061+ {rn liqijohhfliliinojf mkiqfmnhnhmghfkmji rljjqkmkfhnnnmnfhmg |
1001
ACAD_OBJECT_CHANGE_GUID
1070
1
1071
-139857395
1070
26658
1070
19450
1070
174
1070
148
1070
210
1070
158
1070
238
1070
155
1070
94
1070
1
но наверняка какой-то 3дсолид
синтезировать также легко как текст
(нашёл в наработках 5,5-летней давности):
TEXT
5
2E
8
0
10
A
20
B
30
0.0
40
2.5
1
C$
0
где переменные вводятся... ну короче всем очевидно
обсуждайте лучше статью в целом а не мои очевидности
применяемые в других программах десятки лет
сохрани в формат DXF
открой DXF в ... блокноте
удивись что там всё на человеческом языке
синтезируй DXF солид3д разобравшись в коде
объяснять подробнее очевиднейшее для меня 15 лет
имеет смысл
ежели про DXF заинтересует более 5-ти читателей статьи
имеет смысл
ежели про DXF заинтересует более 5-ти читателей статьи
существуют программы синтезирующие чертежи в DXF
...
и то же может делать каждый: синтезировать DXF
создавая программы на бэйсике и/или/либо в эксцель синтезирующие DXF
главное для черчения параметрических чертежей через DXF
Т.е. эта возможность, наверное, может быть только дополнением, а не основой? И не для всех, не для общего случая, а для определенных случаев и задач?
CAD - инструмент все-таки для всех и для любого черчения. В т.ч. для самого простого.
например систему отопления можно синтезировать в DXF
Не оч. понятно, что у Вас предполагается на входе? Трехмерная модель здания?
например систему отопления можно синтезировать в DXF
и то же может делать каждый: синтезировать DXF
создавая программы на бэйсике и/или/либо в эксцель синтезирующие DXF
главное для черчения параметрических чертежей через DXF
синтез DXF недооценён
хоть эксцелем хоть бэйсиком
хоть эксцелем хоть бэйсиком