| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как добавить пользовательское свойство объекту

Как добавить пользовательское свойство объекту

Ответ
Поиск в этой теме
Непрочитано 15.06.2021, 18:46
Как добавить пользовательское свойство объекту
Publipor
 
Регистрация: 02.03.2021
Сообщений: 49

Здравствуйте. Интересует такой вопрос, возможно ли отрезку, или полилинии, задать пользовательское свойство?
Просмотров: 19303
 
Непрочитано 17.06.2021, 16:15
#41
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,000


Цитата:
Сообщение от azmt Посмотреть сообщение
Как вариант использовать гиперссылку (см изображение). Затем через быстрый выбор можно выделить все полилинии с нужной гиперссылкой.
в извлечении данных гиперссылки вроде тоже участвуют, насколько помню.

А поскольку месяц назад ТС интересовался вопросом - как влиться в стройные ряды проектировщиков-программистов, то вполне достойная задача для "пробы пера", имхо. Если ТС уже сделал уже самый важный выбор в своей жизни - на каком ЯП творить)
Сергей812 вне форума  
 
Непрочитано 22.06.2021, 23:40
#42
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от kp+ Посмотреть сообщение
А вот готового и бесплатного решения с блекждеком и ш... удобным интерфейсом я пока не нашел, может, надо еще поискать.
Интересно, кстати, и поискать.
Очень многое постоянно мелькает на форумах и пр.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 23.06.2021, 13:14
#43
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,224


... Примерно та же история с проводами. Шли, шли от палочек к поли линиям, блокам с атрибутами и постепенно пришли т.н. вертикалкам.
Так казалось бы радоваться надо, бери и пользуйся, что снова не так?
Слишком долго шли, наверно. Несовместимость м-ду вертикалками и базовой платформой, многие не смогли и не захотели переходить...
Начинать снова с палочек-арматуры... Не знаю, за арматурой "потянутся" стены и прочие надобности, снова всё по кругу?!

Последний раз редактировалось VitalyAF, 23.06.2021 в 13:47.
VitalyAF вне форума  
 
Непрочитано 23.06.2021, 18:24
#44
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от kp+ Посмотреть сообщение
может, надо еще поискать
Например, сейчас нашелся лисп выбора объектов с XData по appname - sel_by_apps_ru.lsp.
Если добавить:
- обработку предварительного выбора объектов (если был сделан до вызова команды),
- запрос выбора объектов (если не было предварительного),
- указание не одного appname (Ctrl, Shift, Ctrl A),
- вариант инвертированного выбора - выбора объектов без указанных appname,
то будет удобный, полноценный инструмент, закрывающий задачу выбора объектов с XData по appname.
Вложения
Тип файла: lsp sel_by_apps_ru.lsp (2.6 Кб, 16 просмотров)
__________________
количество моих сообщений не говорит о знании Автокада

Последний раз редактировалось АлексЮстасу, 23.06.2021 в 18:41. Причина: уточнил про инвертирование
АлексЮстасу вне форума  
 
Непрочитано 23.06.2021, 19:08
#45
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,000


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
то будет удобный, полноценный инструмент, закрывающий задачу выбора объектов с XData по appname.
чем закрывающий? Надо, во первых, занести XData в примитивы, во вторых - не просто выбрать примитивы с указанным XData, но и еще обработать данные в XData на предмет их вхождения в заданные критерии отбора.
Сергей812 вне форума  
 
Непрочитано 23.06.2021, 19:24
#46
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
чем закрывающий? Надо, во первых, занести XData в примитивы, во вторых - не просто выбрать примитивы с указанным XData, но и еще обработать данные в XData на предмет их вхождения в заданные критерии отбора.
Смешивать разные задачи не стоит.
Ясно, что "занести XData в примитивы" - тоже задача.
И что еще для нормальной работы с XData нужен выбор по значениям в их "полях".

Этот же лисп выбора по appname - нормальная задача при работе с допданными. Вот эту задачу и закрыл бы.
В т.ч. (если будет инвертирование) находить примитивы без нужных XData.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 23.06.2021, 19:36
#47
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,000


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Смешивать разные задачи не стоит.
Ясно, что "занести XData в примитивы" - тоже задача.
И что еще для нормальной работы с XData нужен выбор по значениям в их "полях".
это не разные задачи - а связанные подзадачи. Хотя бы в силу того, что в XData данные потоковые - в какой последовательности занес, в такой и получил. Хотя, помниться, приводил пример в свое время - как сделать с полями-идентификаторами.
Сергей812 вне форума  
 
Непрочитано 23.06.2021, 19:54
#48
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
это не разные задачи - а связанные подзадачи.
Пусть подзадачи.
Стоит искать удовлетворительные решения каждой подзадачи.

Вроде бы эта sel_by_apps_ru.lsp даже в существующем виде - уже неплохо для использующих XData.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 23.06.2021, 20:16
#49
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Стоит искать удовлетворительные решения каждой подзадачи.
Кому надо, те давно нашли. Вот перечень функций для любых манипуляций с XDATA

Код:
[Выделить все]
 ru-xdata-add-for-ent.lsp
ru-xdata-add-list-bracket.lsp
ru-xdata-write-for-ent.lsp
ru-xdata-get-for-pline-vertex.lsp
ru-xdata-get-reg-apps.lsp
ru-xdata-get-ruclass-by-layer-name.lsp
ru-xdata-get-ruclass-for-active-layer.lsp
ru-xdata-get-ruclass-for-all-layers.lsp
ru-xdata-get-ruclass-for-layer-obj.lsp
ru-xdata-read-for-ent.lsp
ru-xdata-rem-for-selection.lsp
ru-3d-xdata-rucad-regapp.lsp
ru-xdata-rucad-regapp.lsp
Были в книге "САПР на базе AutoCAD - как это делается".
ShaggyDoc вне форума  
 
Непрочитано 23.06.2021, 21:35
#50
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Кому надо, те давно нашли. Вот перечень функций для любых манипуляций с XDATA
Были в книге "САПР на базе AutoCAD - как это делается".
... Нашли, и спрятали.
Нашел оглавление книги в pdf - страниц 20. Просмотрел - XData, extended data, расширенные данные не упоминаются.
Нашел подслеповатый djvu - в Предметном указателе XData, extended data, расширенные данные не упоминаются. Есть упоминание ru-xdata-get-ruclass-by-layer-name.lsp и еще трех на страницах 616, 617, но на этих страницах что-то совсем другое.

Правильно предположу, что это "функции", для программистов, а не для пользователей?
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 23.06.2021, 21:45
#51
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787


1. Расширенные данные = Extended Data
2. На форуме есть архивы с текстом книги. Займись поиском.
3. Предположение верное. Пользователи должны нажать кнопку и выполнить выбор. А фильтрация выбора, его обработка и теде - забота нормального программиста. Вариант кода, который ты показал, я комментировать не буду. С моей точки зрения - неплохая разминка, но в реальной жизни вряд ли пригодится.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 24.06.2021, 06:49
#52
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,381


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Правильно предположу, что это "функции", для программистов, а не для пользователей?
Разумеется. Программист, используя эти функции может сделать конечные "команды" для пользователей, в том числе и с "ГУИ". С добавлением неких "дополнительных свойств" к чему угодно. И пользователь и знать не будет, как эти свойства сделаны.

В штатном окне свойств они не будут отображаться. Для этого тоже нужна своя "команда" с интерфейсом. Это вариант на Лисп. А "по-большому" делается в "вертикальных" приложениях и другими средствами.

Только применять-то все надо с умом. Уж точно не для того, чтобы "подсчитать сколько колес включить в спецификацию автомобиля". Подсчет чего угодно для спецификаций надо делать более простыми и надежными методами.
ShaggyDoc вне форума  
 
Непрочитано 24.06.2021, 17:18
#53
shartal


 
Регистрация: 12.08.2009
Сообщений: 447


Здесь https://www.sites.google.com/site/avcprg/palette про добавление доп свойств объектам. Эти свойства позже можно в мультивыноски запихать и некую спецификацию получить.
shartal вне форума  
 
Непрочитано 24.06.2021, 17:30
#54
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от shartal Посмотреть сообщение
про добавление доп свойств объектам
Если я понял правильно, но там для "пользовательских свойств" используются как раз XData.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 24.06.2021, 18:03
#55
shartal


 
Регистрация: 12.08.2009
Сообщений: 447


Вероятно. XDLIST из express видит это свойство.
shartal вне форума  
 
Непрочитано 24.06.2021, 18:20
#56
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от shartal Посмотреть сообщение
XDLIST из express видит это свойство.
Вот еще средства просмотра и редактирования данных XData: listxd.lsp, XDA.lsp и xdedit_l_ru.lsp.
Редактирование только в xdedit_l_ru.lsp.
Вложения
Тип файла: lsp listxd.lsp (1.1 Кб, 4 просмотров)
Тип файла: lsp XDA.lsp (1.5 Кб, 3 просмотров)
Тип файла: lsp xdedit_l_ru.lsp (11.2 Кб, 3 просмотров)
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 26.06.2021, 18:25
#57
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Если есть 2012 или старше (точно не знаю, но, возможно, от 2007), то есть программа на .NET для создания описаний appname, редактирования описаний appname (добавлять-удалять "поля", менять последовательность "полей"), просмотра-редактирования значений в appname - XdataEditor(en) от gile (Gilles Chanteau, Франция). Команда XDEDIT.
Хоть и написано "(en)", но английского варианта не нашел - французский.
В 2014 и новее пробовал - у меня не получилось, хотя и сообщений об ошибках не было.
Вложения
Тип файла: zip XdataEditor(en).zip (20.7 Кб, 5 просмотров)
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 26.06.2021, 21:14
#58
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,000


Ну в сборке подключены библиотеки Акада 17 версии ядра, т.е. 2007-2009.
Сергей812 вне форума  
 
Непрочитано 26.06.2021, 21:24
#59
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,030


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
Ну в сборке подключены библиотеки Акада 17 версии ядра, т.е. 2007-2009.
У меня в 2012 работает.
Миниатюры
Нажмите на изображение для увеличения
Название: xdedit_net.png
Просмотров: 48
Размер:	11.2 Кб
ID:	238450  
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 26.06.2021, 21:53
| 1 #60
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,000


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
У меня в 2012 работает.
это возможно в .Net)

Только вы опять, сев на своего любимого конька описательных данных, самозабвенно игноруете тот факт - что конечному пользователю нужен готовый инструмент под определенные задачи. XData, внешние хранилища - это уже инструмент программиста, как тут выше писали не раз.
Сергей812 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как добавить пользовательское свойство объекту

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавить вершину в существующую мультивыноску? kp+ AutoCAD 8 07.06.2018 13:49
Снова про выноски. как сделать, чтоб в выноске прописывалось свойство объекта? Deader AutoCAD 16 13.12.2013 08:33
Как отобразить пустую строку в поле дин.блока, которое ссылается на незаполненное свойство листа подшивки? ГОСТ&ОПОКА AutoCAD 5 28.10.2013 13:47
ЛИСП: как извлечь свойство блока "аннотативный масштаб"? cj_lex LISP 6 25.04.2012 10:36
Как добавить пользовательское свойство произвольному объекту? RussianCarlson AutoCAD 19 11.01.2011 08:31