VetCAD

Вариант подхода к построению CAD или модернизации CAD

   0 оценок

размещено: 16 Июня 2016
обновлено: 01 Июля 2016

Вариант подхода к построению 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

 

Шаров Александр

Комментарии

Комментарии могут оставлять только зарегистрированные участники
Авторизоваться
Комментарии 1-15 из 17
АлексЮстасу , 21 августа 2016 в 14:55
#17
Цитата:
Сообщение #10 от kp+
Цитата:Сообщение #8 от АлексЮстасу
"Если бы судить только по нашему форуму и блогу, то я единственный придурок, которому эти возможности вдруг примерещились..."
Нас таких много. Но останавливает:
...
Пока я не вижу никакого интереса к идее и поддержки.
Вот, буду расценивать Вашу реплику, как таковые :)
Цитата:
Сообщение #10 от kp+
Нас таких много. Но останавливает:
- простых юзеров - отсутствие простых, доступных и стабильных СТАНДАРТНЫХ инструментов для работы с этими вещами. По какой-то причине создатели Акада сделали так, что с расширенными данными и словарями могут работать только достаточно подготовленные разработчики приложений. Впрочем, в Express есть инструмент работы с XDATA, но совершенно убогий:(
- тех, кто немного пишет на LISP для своих нужд - отсутствие времени и банальная лень в отношении написания собственных инструментов:)

Если говорить только о расширенных данных, то пик интереса к ним приходится на 2002-2009 годы. На 2003-2006. Сужу по выборке тем-сообщений на caduser.ru. А потом этот интерес в основном, похоже, угас.

Расширенные данные играют в моей идее одну из ключевых ролей, но не одни они - в идее сочетается несколько ключевых средств. Идея, скорее, технологическая, т.е. как добиться наилучшего решения, используя почти только имеющиеся средства. Собирать воедино, конечно, приходится с программированием, но ингредиенты все давно существующие.
АлексЮстасу , 21 августа 2016 в 14:36
#16
Перенесено из https://dwg.ru/b/topomap/193#comments

kp+ , 20 августа 2016 в 15:51 #10
Цитата:
"Сообщение #8 от АлексЮстасу

" Неиспользование мощи инструментов .dwg для хранения подцепленной информации в чертежах. С помощью XDATA, объектных словарей и т.п...."

Если бы судить только по нашему форуму и блогу, то я единственный придурок, которому эти возможности вдруг примерещились..."

Нас таких много. Но останавливает:
- простых юзеров - отсутствие простых, доступных и стабильных СТАНДАРТНЫХ инструментов для работы с этими вещами. По какой-то причине создатели Акада сделали так, что с расширенными данными и словарями могут работать только достаточно подготовленные разработчики приложений. Впрочем, в Express есть инструмент работы с XDATA, но совершенно убогий:(
- тех, кто немного пишет на LISP для своих нужд - отсутствие времени и банальная лень в отношении написания собственных инструментов:)
АлексЮстасу , 21 августа 2016 в 14:32
#15
Перенесено из https://dwg.ru/b/topomap/193#comments

АлексЮстасу, 27 июля 2016 в 13:28 #8

Цитата:
Сообщение #6 от trir
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 я давно оценил).
trir , 23 июня 2016 в 06:42
#14
Самый простой
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
HORSY , 23 июня 2016 в 00:30
#13
про 3дсолид какой-то ничего не напишу
но наверняка какой-то 3дсолид
синтезировать также легко как текст
(нашёл в наработках 5,5-летней давности):

TEXT
5
2E
8
0
10
A
20
B
30
0.0
40
2.5
1
C$
0

где переменные вводятся... ну короче всем очевидно

обсуждайте лучше статью в целом а не мои очевидности
применяемые в других программах десятки лет
trir , 22 июня 2016 в 22:12
#12
и кстати, найди открытую библиотеку, для работы с brep. я знаю только одну
trir , 22 июня 2016 в 22:11
#11
наивный, там бинарник. хотя в последней версии и нет, но от этого не легче
HORSY , 22 июня 2016 в 20:35
#10
возьми солид3д в автокаде
сохрани в формат DXF
открой DXF в ... блокноте
удивись что там всё на человеческом языке
синтезируй DXF солид3д разобравшись в коде
trir , 22 июня 2016 в 06:47
#9
приведи код, генерирующий dxf с solid3d
АлексЮстасу , 22 июня 2016 в 04:02
#8
Цитата:
Сообщение #7 от HORSY
объяснять подробнее очевиднейшее для меня 15 лет
имеет смысл
ежели про DXF заинтересует более 5-ти читателей статьи
Можно же не объяснять одному мне. Напишите развернуто в собственной статье.
HORSY , 22 июня 2016 в 03:38
#7
объяснять подробнее очевиднейшее для меня 15 лет
имеет смысл
ежели про DXF заинтересует более 5-ти читателей статьи
АлексЮстасу , 22 июня 2016 в 01:26
#6
Цитата:
Сообщение #5 от HORSY
существуют программы синтезирующие чертежи в DXF
...
и то же может делать каждый: синтезировать DXF

создавая программы на бэйсике и/или/либо в эксцель синтезирующие DXF

главное для черчения параметрических чертежей через DXF
Вот насчет "каждый" есть вопросы. И насчет общей нужности такого синтезирования.
Т.е. эта возможность, наверное, может быть только дополнением, а не основой? И не для всех, не для общего случая, а для определенных случаев и задач?
CAD - инструмент все-таки для всех и для любого черчения. В т.ч. для самого простого.

Цитата:
Сообщение #5 от HORSY
например систему отопления можно синтезировать в DXF

Не оч. понятно, что у Вас предполагается на входе? Трехмерная модель здания?
HORSY , 21 июня 2016 в 02:32
#5
существуют программы синтезирующие чертежи в DXF

например систему отопления можно синтезировать в DXF

и то же может делать каждый: синтезировать DXF

создавая программы на бэйсике и/или/либо в эксцель синтезирующие DXF

главное для черчения параметрических чертежей через DXF
АлексЮстасу , 21 июня 2016 в 02:20
#4
Цитата:
Сообщение #3 от HORSY
синтез DXF недооценён

хоть эксцелем хоть бэйсиком
Э... В смысле?
HORSY , 21 июня 2016 в 01:57
#3
синтез DXF недооценён

хоть эксцелем хоть бэйсиком