|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Цитата:
Атрибутами в информационных системах за пределами AutoCAD обычно называют описательные свойства объектов. В исходном посте это: Наименование, Номер колодца, Назначение, Диаметр, Материал и т.д. С соответствующими значениями. Всего здесь 10. Понятно, что может быть и 1, и 20. И понятно, что для одних полилиний нужен один набор таких свойств, а для других другие, с разным количеством описательных свойств. Одни свойства текстовые, другие числовые. Кроме того, нормален вариант, когда одна полилиния может быть с несколькими наборами описательных свойств одновременно. Например, полилиния - граница участка, забор, граница улицы, огорода, газона одновременно. Как это делать гиперссылкой? Вопрос без подвоха - поделитесь опытом.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Судя по отсутствию ответа на мой предыдущий вопрос - никак не получить) т.е. заполнить расширенные данные, и нехай болтаются отдельно от той же актуальной длины полилинии.
ну split/merge строк никто не отменял. Костыль, конечно, но не больший - чем носиться годами с XData отдельно от самих реальных данных) |
|||
![]() |
|
||||
Регистрация: 24.01.2017
Сообщений: 125
|
Цитата:
|
|||
![]() |
|
||||
Цитата:
Но это другой вопрос - не в тему.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Регистрация: 24.01.2017
Сообщений: 125
|
Цитата:
но тема заслуживает внимания, на самом деле. вы мне дали интересную идею лиспа для создания кабельного журнала. осталось только изучить ЛИСП ![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431
|
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 24.01.2017
Сообщений: 125
|
Цитата:
что б не отходить от темы, я хочу написать Лисп, который ищет ближайшую точку к концу линии (будь то текст или атрибут блока) и записывает содержимое в гиперссылку, тогда у меня будет реальная привязка полилинии к блоку. а уж если сделать проверку на дублирование этого содержимого - так вообще круто получится. а дальше извлечение данных в эксель, где уже всё подготовлено, благо VBA маленько знаю (честно говоря, VBA у меня там применяется больше для форматирования/сортировки, расчёты производятся через формулы). |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Регистрация: 24.01.2017
Сообщений: 125
|
да, но только если лисп ищет среди всех объектов, а не только среди выделенных. и плюс начальная точка не так важна, она чаще всего уже скрыта в маркировке конечной. согласен, что будет тяжко заставить считать КЖ между коммутаторами, но вот до абонентов (на что уходит уйма времени) вполне сойдёт.
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
|
|||
![]() |
|
||||
И Вы дали мне интересную идею! Вместе с другими, кто советовал гиперссылки как альтернативу XData. (Не зная, что это тоже XData).
Можно сделать две программки: 1. Создавать гиперссылки с Текст для отображения из названий всех пользовательских XData. Например, с префиксом "XD=", чтобы отличать от собственно гиперссылки, если она была. И отделять друг от друга, если XData у одного графэлемента несколько. 2. Удалять из гиперссылок эти названия. Это сделает XData "видимыми" в окне Свойства и при наведении на графэлемент.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431
|
С чего вдруг?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
для одиночных - в свойствах текст гиперссылки отражается, для множества объект - либо *различные*, либо общий одинаковый текст гиперссылкиссылки. При наведении отображается только для текущего элемента под курсором. Видимо, с практический стороны для чисто академической задачи описательных данных больше для счастья человеку и не нужно)
|
|||
![]() |
|
||||
Конечно, видимы так могут быть только названия XData, не данные в них.
Но это лучше же, чем ничего. И уже позволяет понимать, что у объекта XData есть. Возвращаясь к апологетике гиперссылок как альтернативы - многие же уже видеть одни названия считают достаточным.
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 09.02.2022 в 16:44. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,431
|
Значит, я неправильно понял предложение
Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
взять типа этого и переделать на получение данных из XData. Lisp все-таки не очень подходит для интерактивных вещей.
|
|||
![]() |
|
||||
Цитата:
![]() Но я написал же "из названий всех пользовательских XData", "эти названия".
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Цитата:
1. XDTOOLS_2HYPERLINKS - создание гиперссылок из названий XData. Имеющиеся гиперссылки сохраняются в XData "SAVED_PE_URL". 2. XDTOOLS_RETURNHYPERLINKS - восстановление исходных гиперссылок из сохраненных в XData "SAVED_PE_URL". Т.о., в любой момент можно сделать свои XData "видимыми" - как гиперссылки. Такие гиперссылки начинаются на "xd=". И в любой момент такие гиперссылки можно убрать. В т.ч. таким способом можно оптом и в розницу изменять гиперссылки средствами XData. И создавать из XData "SAVED_PE_URL" гиперссылки с нужным содержанием.
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 18.02.2022 в 19:32. Причина: подправлен лисп |
||||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Тот же результат без всяких гиперссылок - выдает дополнительную информацию в виде списка пар { Код - Значение } значений XData примитивов под апертурой курсора.
Код:
----- добавлено через ~6 мин. ----- собственно об этом говорил в п.57 - сделать на основе кода от Kean Walmsley, заменив только сбор информации о кривых на получение XData. Зачем судорожно пихать лишние объекты в базу чертежа dwg... |
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дублируются полилинии, блоки, атрибуты в динамических блоках. Как избежать? | Nemyheim | Динамические блоки | 30 | 22.10.2021 13:34 |
Проблемы с возвратом площади полилинии в динамическом блоке (поля и атрибуты) | Полусолнце | Динамические блоки | 10 | 11.11.2016 11:51 |
Атрибуты не в блоках, атрибуты как самостоятельный примитив | АлексЮстасу | AutoCAD | 11 | 13.05.2015 10:39 |
Можно ли полилинии присвоить доп. свойства посредством LISP | piter_ch | LISP | 1 | 20.11.2012 18:32 |
Атрибуты для полилинии | Botticelli | AutoCAD | 13 | 17.10.2011 23:17 |