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

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

Создание списка атрибутов для изменяющихся объектов

Ответ
Поиск в этой теме
Непрочитано 27.06.2023, 04:25 #1
Создание списка атрибутов для изменяющихся объектов
Ролана
 
Регистрация: 16.08.2017
Сообщений: 24

Добрый день! Очень нужен совет для дальнейшего движения, ибо застопорился мыслительный процесс)))
Есть изменяющийся массив объектов - земельных участков, у каждого есть постоянный список атрибутов и характеристик. То есть участки разные, а список свойств один и тот же (только значения, конечно, меняются).
Необходимо создать общую графическую и информационную базу, где при наведении курсора на разные участки появляется определенный список свойств. И конечно вывод информации в сторонние таблицы эксель.
Все что я нашла - это создание идентичных блоков с набором атрибутов, а мне надо чтобы на каждый новый земельный участок (конечно они все разные) быстро прикреплять один и тот же список, только значения менять.
Было бы идеально конечно две связанные программы - типа 1С и Acad, в первой все движения этого объекта, а во второй иллюстрация, но это наверное мечты.
Буду благодарна за любые советы, пока все это делаем механически, уходит масса времени. (Acad 2012)
Просмотров: 1000
 
Непрочитано 27.06.2023, 07:13
| 1 #2
trir


 
Регистрация: 18.12.2010
Сообщений: 5,108


AutoCAD Map 3D + FDO + БД
trir вне форума  
 
Непрочитано 27.06.2023, 07:50
#3
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,187


Offtop:
Цитата:
Сообщение от trir Посмотреть сообщение
AutoCAD Map 3D + FDO + БД
Главное, чтоб не оказалось, как у многих: "надо решение для чистого Акада, потому что на работе Map не утвержден начальством, и поэтому его нет, не было и не будет"
kp+ вне форума  
 
Непрочитано 27.06.2023, 07:53
#4
trir


 
Регистрация: 18.12.2010
Сообщений: 5,108


Цитата:
Главное, чтоб не оказалось, как у многих: "надо решение для чистого Акада, потому что на работе Map не утвержден начальством, и поэтому его нет, не было и не будет"
https://forum.dwg.ru/showpost.php?p=...6&postcount=35
QGIS
trir вне форума  
 
Автор темы   Непрочитано 27.06.2023, 08:34
#5
Ролана


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


Цитата:
Сообщение от kp+ Посмотреть сообщение
Главное, чтоб не оказалось, как у многих: "надо решение для чистого Акада, потому что на работе Map не утвержден начальством, и поэтому его нет, не было и не будет"
а как Вы догадались? действительно не было, нет и не будет, хотя я много раз слезно просила. Но как то приспособились на чистом Acad, карты висят на координатах, хотя не покидает ощущение телескопа и гвоздей.

Проблема не в графике, с ней все более-менее, проблема в создании единой базы для объектов аренды. - Требуется создать файл acad, где будут все земельные участки, чтобы каждый участок имел выпадающий (или иной)список своих свойств (площадь, адрес и т.д) и эти же свойства (типа блока с атрибутами), и чтобы эти сведения можно было вывести во внешнюю таблицу. Вроде как напрашивается выход - создавать из каждого участка отдельный блок со своими атрибутами, но участков очень много и их состав постоянно тасуется, поэтому хотелось бы найти выход поизящнее.
Ролана вне форума  
 
Непрочитано 27.06.2023, 08:53
1 | #6
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,187


Цитата:
Сообщение от Ролана Посмотреть сообщение
а как Вы догадались?
На форуме было много подобных тем, в том числе Ваши за прошлые годы Да и у самого та же беда, и даже хуже - "белый список ПО" на рабочем компе, утвержденный в слишком высоком кабинете, чтоб хоть как-то и хоть на что-то повлиять <смайл головой апстену>

Цитата:
Сообщение от Ролана Посмотреть сообщение
хотелось бы найти выход поизящнее
Один есть, см. пред. пост уважаемого trir'a. Еще на geodesist.ru посмотрите, там много всякого интересного.
Ну и третий вариант - самописная прога специально для вас. Может, кто откликнется, договоритесь... Даже я когда-то что-то писал на эту тему, но это было очень давно и совсем неправда, и неизвестно, подойдет ли. Там фишка была в том, что массив контуров был представлен полилиниями, экспортированными из какого-то специализированного ПО. По каждой полилинии была кадастровая информация, зашитая в xdata. Одна из задач состояла в том, чтобы вытащить ее в более привычный и доступный формат.

Последний раз редактировалось kp+, 27.06.2023 в 10:05.
kp+ вне форума  
 
Непрочитано 27.06.2023, 12:31
1 | #7
Rustaman


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


Я думаю так... Нужно создать пустой типовой блок с нужными атрибутами повторяющимися в каждом новом блоке участка, далее этот типовой блок с атрибутами закинуть в палитру инструментов. В любом случае вам для каждого нового участка создавать блок, если я всё правильно понял. Тогда в каждый новый блок участка вы из палитры инструментов закидываете свой типовой блок с атрибутами, и взрываете его там. В итоге закрыв и сохранив блок участка вы имеете в нем свои типовые атрибуты. Я думаю это хотя бы сэкономит время и избавит от постоянного создания атрибутов для каждого нового блока... Я бы эту проблему решил так)
Rustaman вне форума  
 
Непрочитано 27.06.2023, 13:08
#8
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,187


Цитата:
Сообщение от Rustaman Посмотреть сообщение
В любом случае вам для каждого нового участка создавать блок, если я всё правильно понял
Особо нет проблем и в существующие блоки массово добавить атрибуты. Программными средствами, конечно. И даже массово создать блоки из контуров участков, при условии 1 полилиния (или что там) - 1 блок.
Можно даже организовать обмен данными с таблицей.
Но это будет совершенно неизящное решение, чего девушки не любят
kp+ вне форума  
 
Непрочитано 27.06.2023, 21:09
1 | #9
Сергей812


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


Ну если Excel и Acad одинаковой разрядности x86|x64, то можно использовать динамические (умные) таблицы эксель:
1. Оформление таблицы стандартными средствами эксель.
2. Поиск в таблице стандартными средства эксель.
3. Атрибуты/характеристики в таблице располагаются в столбцах, начиная со второго.
4. Первый столбец - это хэндл примитива, являющимся границей участка. И простейший макрос на событие двойного клика на странице экселя:

Код:
[Выделить все]
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  ' Если двойной клик по первому столбцу динамической таблицы
  If (Not (Intersect(Target, Me.ListObjects(1).DataBodyRange.Columns(1)) Is Nothing)) Then
    ' Отменяем вызов редактирования ячейки
    Cancel = True
    ' Получаем объект акада и его активный документ
    Dim lAcadApp As Object: Set lAcadApp = GetObject(, "AutoCAD.Application")
    Dim lAcadDoc As Object: Set lAcadDoc = lAcadApp.ActiveDocument
    ' Если кликнутая ячейка пустая
    If (IsEmpty(Target)) Then
      ' Переключаемся на акад
      lAcadApp.WindowState = acMax
      AppActivate lAcadApp.Caption
      ' И предлагаем выбрать примитив, являющийся границей участка
      Dim lAcadObj As Object, lBasePoint As Variant
      lAcadDoc.Utility.GetEntity lAcadObj, lBasePoint, "Выберите примитив границы участка"
      ' Заносим хэндл выбранного примитива в ранее кликанутую ячейку экселя
      Target.Value = lAcadObj.Handle
      ' И переключаемся обратно на эксель (Reestr - имя листа экселя в коде)
      AppActivate Reestr.Application.Caption
    Else
      ' Если в кликанутой ячейке есть хэндл примитива, то даем команду
      ' акаду отзумироваться по этому примитиву
      lAcadDoc.SendCommand "_ZOOM" & vbCr & "_O" & vbCr & _
        "(handent """ & CStr(Target.Value) & """)" & vbCr & vbCr
    End If
    ' Освобождаем ссылки на COM объекты акада
    Set lAcadDoc = Nothing
    Set lAcadApp = Nothing
  End If
End Sub

макрос написан без всяких дополнительных проверок, просто как пример. Работает следующим образом: если ячейка, по которой дважды кликнули мышью - расположена в первом столбце таблицы и пустая, то предлагается выбрать примитив акада (который является визуальной границей участка) и его хэндл автоматически заносится в эту ячейку. Если ячейка не пустая - акад зуммируется по границам данного примитива. Нужно задать другую границу - просто удалить значение из ячейки. Экспериментируйте)
Сергей812 вне форума  
 
Непрочитано 28.06.2023, 00:20
#10
trir


 
Регистрация: 18.12.2010
Сообщений: 5,108


dbConnect
trir вне форума  
 
Автор темы   Непрочитано 28.06.2023, 01:55
#11
Ролана


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


всем большое спасибо за комментарии. Все советы буду изучать и пробовать.
Ролана вне форума  
 
Непрочитано 28.06.2023, 12:27
1 | #12
koMon


 
Блог
 
Регистрация: 26.09.2017
Сообщений: 1,814


Цитата:
Сообщение от Ролана Посмотреть сообщение
совет для дальнейшего движения
в автокаде
1. гиперссылки
2. расширенные данные
3. словари
не без программирования
__________________
K Lisp
koMon вне форума  
 
Непрочитано 28.06.2023, 12:56
1 | #13
VitalyAF


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


Цитата:
Сообщение от Ролана Посмотреть сообщение
Создание списка атрибутов для изменяющихся объектов
Очень напоминает стандартную задачу "Квартирографию" в Autocad Architecture.
Таблица autocad (Schedule Table) связанная с Excel возможно и с 1С
динамически обновляется площадями и др. свойствами, автоматически зуммирует графику по ячейке, добавляет/удаляет объекты - площадь, ячейки
Можно группировать ячейки по атрибутам с пом. встроенных формул на vbscript и прочее...
Архитектура - м.б. как отдельный модуль для Autocad но более свежей версии...

Последний раз редактировалось VitalyAF, 28.06.2023 в 13:03.
VitalyAF вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Создание списка атрибутов для изменяющихся объектов



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нарушается видимость атрибутов при вставке вхождения блока в чертеж Joann88 AutoCAD 7 28.03.2021 14:52
LISP Объединение нескольких объектов многострочного текста в один Cren LISP 8 26.02.2016 08:57
LISP создание списка из text 4ertegn1k LISP 10 09.03.2011 15:32
Создание плоских объектов в 3d streamc AutoCAD 2 02.08.2010 21:03
Создание базы данных атрибутов текста чертежа в VBA -still alive- Программирование 4 26.08.2008 15:10