| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Чем, как определять связи объектов
топограф, технолог
Москва
Регистрация: 24.05.2009
Сообщений: 3,041
|
||
Просмотров: 1503
|
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,027
|
Цитата:
Если надпись должна отображать стандартное свойство объекта (например, длину или площадь), то пользуйтесь полями. Я, например, считаю, что штатный интерфейс полей слишком неудобный для частого применения, в связи с чем даже сделал небольшую прогу для "механизации" этого нудного дела. Т.е. выбираешь объект, потом надпись (текст, мтекст или атрибут), и в нее вставляется уже настроенное поле, отображающее длину объекта. Чтобы обеспечить перемещение надписи вместе с с объектом - есть параметризация, хоть ее многие не любят. Ежели функционала полей и параметризации недостаточно, и нужно что-то этакое, с подвывертом, то без "вертикалок" или достаточно серьезных лиспов не обойтись...главное, понять чего именно надо-то... Последний раз редактировалось kp+, 18.06.2023 в 17:57. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,599
|
Создание связи - несильно сложно. В словарь или РД (что, с моей точки зрения, более опасно) - засунуть указатель на "источник", внутрь источник по аналогии - указатели на "подчиненных".
Примерно то же самое - реакторы (на лиспе) / события (на NET). В последнем не уверен, еще толком не реализовывал.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 10,838
|
синхронно врятли получится, классика - в idle (простое). Ну выполнили определенное действие - а кто результат будет контролировать? Не налезло ли на другие элементы чертежа до степени нечитаемости и т.д. Не всегда можно по чисто габаритным условиям проверить в условиях "насыщенного" элементами чертежа.
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 10,838
|
причем они то должны быть синхронны - создал связь, сразу в палитре отразилась и выделилась где-то в контроле списка/дерева созданная связь. И сразу можно задать дополнительные параметры на той же палитре. Но с фантазиями ТС об универсальном решении... Хотя в том же WPF можно извратиться с произвольным набором полей ввода стандартными средствами ЯП - вопрос только, нафига)
|
|||
![]() |
|
||||
Если говорить именно о надписях, то я сам только вчера доформулировал их особенности в черчении - Начнем с начала (о надписях).
Исхожу из гипотезы, что определение самого факта связи не зависит от конкретики. Например, как предлагает Кулик Алексей: Цитата:
Я видел пример из смежной области - там определяют связи ("указатели" или т.п.) только у зависимых объектов на базовые.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,599
|
Мне сильно сложным не показалось. Одно "но" - записи в словарях не модифицируются (по крайней мере под лиспом), их надо сначала сносить, потом создавать новые.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,599
|
Не лей мне чай на спину...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 10,838
|
не говоря уже о том, что связанные объекты могут быть в разных файлах, часть из которых могут быть даже закрыты в текущий момент... но зачем использовать внешнюю БД с связями таблиц: связь один к одному, связь один ко многим, связь многие ко многим - когда можно заниматься изысканной камасутрой с синхронизацией хранимой в самих *.dwg информацией.
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,599
|
Вот тут не скажи, иногда подобные "связи" засовывать во внешнюю БД нет никакого смысла.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 10,838
|
ну если ТС, не зная программирования, решил - что он реализует (причем на лиспе) связь "динамических" параметров примитивов внутри *.dwg лучше непосредственных разработчиков - ну флаг ему в руки. Создание связей между объектами, как, например, в нашем spds graphics - вполне востребованная задача, имхо. Осталось найти волонтеров-программёров)
|
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,026
|
Цитата:
|
|||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,559
![]() |
Кроме навигации нужны механизмы регулирующие копирование связанных примитивов - один примитив скопирован или оба сразу... куча нюансов.
На голом автокаде средствами лисп это нормально не реализуемо имхо. Да и незачем - связал, показал площадь\длину\слой - не сильно лучше станет с автоматизацией проектирования. Я у себя сделал (ну почти) механизм "централизации" устройства могут ссылаться на "переменные" другдруга Также пытаюсь родить механизм "включения" когда примитив имеет доступ к переменным "включающего" его примитива на котором он лежит - например извещатель лежит на помещение, которое в свою очередь лежит на плане этажа, а план на листе и т.п. - но это еще на очень ранней стадии |
|||
![]() |
|
||||
Уточни, плз, какого рода указатели имеешь в виду?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,599
|
ename-указатели (в крайнем случае ObjectId). Насколько я помню, это допускается. Подробности были на adn-cis.org
Правда, опять же проблемы при клонировании объектов (что внутри чертежа, что между чертежами). Offtop: Кстати, на adn-cis последнее время плохо работает (или вообще не работает) сертификат. Делайте выводы.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Гм... А не шило ли на мыло, если что так, что эдак? Или хэндлы однозначно хуже?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,599
|
В моей сегодняшней реальности - хендлы хуже. Доказывать не буду.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 18.11.2019
Сообщений: 1,414
|
Цитата:
Т.е. информацию по связям объектов хранить можно, но контроль изменений и перегенерацию лучше включать отдельной кнопкой. Согласен полностью. Без средства отладки (как будут работать подобные связи) ничего более-менее сложного создать невозможно. Последний раз редактировалось nickname2019, 20.06.2023 в 20:25. |
|||
![]() |
|
||||
Цитата:
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разработка ПОС, искусство проектирования | Tyhig | Технология и организация строительства | 117 | 25.11.2021 17:38 |
Scad, Односторонние связи (КЭ 352) - как правильно задать | mann | SCAD | 27 | 20.12.2016 15:08 |
Связи по колоннам при покрытии из ферм "Молодечно" | HG | Конструкции зданий и сооружений | 27 | 26.06.2014 06:44 |
Максимальная ошибка в узле 50797 по направлению 2: 0.387%. | Kastrulkin | Расчетные программы | 11 | 06.12.2011 15:35 |
Непонятки со связями | bezo | Расчетные программы | 8 | 06.06.2010 12:34 |