|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,002
|
либо немного связки программирование + извлечение данных)
1. Делается в экселе "умную" таблицу в таком же виде, как выглядит спецификация (назовем таблицу tbl_Data на листе DataSheet) и заполняете ее данными. Только в начале добавляете столбец ID, который будет содержать уникальный идентификатор (если заполняете таблицу вручную, то просто делаете над таблицей поле с формулой "=МАКС(tbl_Data[ID])+1" и оно будет показывать следующий свободный ID для таблицы). 2. В блоках делаете один вспомогательный скрытый атрибут. 3. В редакторе VBA экселя на странице кода листа DataSheet реализуете обработчик двойного клика по ячейке вида: Код:
И, соответственно, используя поиск на странице экселя, находите нужные строки, а затем двойным кликом по строкам вызываете макрос и выбирая вставки блока, автоматически в их скрытый атрибут прописывается ID выбранной позиции из таблицы экселя. А можно сначала проверять наличие предварительного выбора вставок блока на чертеже, и только при отсутствии предварительного выбора запрашивать уже у пользователя примитивы - это позволит использовать механизмы акада для поиска/выделения примитивов. 4. Извлекаете данные стандартным путем, получаете ID и их количество. А дальше заносите данные в книгу эксель и формулами по ID подтягиваете все необходимые значения для составления спецификации. Также можно подтянуть данные для расчетов при необходимости. А если нужно добавить/убрать какие то дополнительные данные - то правите лишь таблицу tbl_Data экселя, не нужно шаманить с синхронизацией атрибутов той же. В блоках чертежа храниться лишь ID, акад вообще не знает - что к ним какие-то данные привязаны. А можно вместо скрытого атрибута использовать XData - и тогда вообще можно работать с любыми блоками, есть там скрытый атрибут или нет.. Данные развязаны. Единственный минус - не видно привязанные данные в явном виде, поэтому какие то атрибуты для визуальной идентификации пользователя все же придется делать и так же их заполнять из таблицы tbl_Data вместе с ID. Но не надо дублировать полностью все необходимые данные, большая их часть будет в файле экселя. |
|||
|
||||
Регистрация: 06.06.2016
Сообщений: 327
|
А как мою задачу решить?
Чтобы в столбце "скриншот" были скриншоты участков схемы, содержащих ошибку/ И чтобы скриншот был кликабельный. Т.е. чтобы при двойном клике мышкой по нему я автоматом попадал в то место в автокадовском файле, откуда этот скриншот взят. ----- добавлено через ~1 мин. ----- я в автокаде выделяю места ошибок "пометочными облаками". Так вот, пометочное облако служит границей скриншота Последний раз редактировалось Кондратий Тихонович, 28.09.2019 в 15:34. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,002
|
Цитата:
Offtop: Ваша задача решается программированием - можно и описание добавить, и скриншот сделать, и позиционирование/зумирование по двойному клику в палитре в самом акаде (это применительно к .Net). |
|||
|
||||
Регистрация: 16.04.2009
Петрозаводск
Сообщений: 323
|
А Вам точно надо каждый раз выбирать объекты в нужном порядке? Или для Ваших задач порядок приходится менять? Может все же придумать идентификатор (отдельный атрибут или поле гиперссылки) с порядковым номером. А нумерацию задавать каким-нибудь макросом, коих много предлагают.
|
|||
|
||||
Генпланист, AutoCad 2009 Eng Регистрация: 26.06.2008
Москва
Сообщений: 33
|
Цитата:
Зоны могут быть перенесены в новые слои, может меняться нумерация. Например, MText я перенумеровываю с помощью автонумератора, выделяю поочередно тексты в нужном порядке и нумерация меняется. А в след за этим хотелось бы также выделять поочередно штриховки и собирать данные о площади, чтобы внести в сводную таблицу зон. Возможно, это можно делать другим способом. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,002
|
группировать текст и штриховку? Правда потом все равно программно скорее всего.
|
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,002
|
Просто
Цитата:
ну тогда остаются из стандартных средств акада гиперссылки (хоткей Ctrl + K), как советовал выше Theodor. Значение отображаемого текста гиперссылки попадают в извлечение, дублировать значения в гиперссылках можно - т.е. одно значение на штриховку и текст. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,002
|
штатного функционала нет - так что ручками. Ну а так можно нумератор какой-нибудь дописать - чтобы он помимо нумерации текста еще и гиперссылку к тексту добавлял, а так же просил указать штриховку связанную и ей ту же гиперссылку добавлял.
|
|||
|
||||
Регистрация: 18.12.2010
Сообщений: 5,047
|
Цитата:
|
|||
|
||||
Регистрация: 16.04.2009
Петрозаводск
Сообщений: 323
|
Еще есть "костыли". Ну или как это еще называют. Промежуточные объекты, которые надо научить себя правильно применять, что бы получить автоматизацию на выходе.
Предлагаю вариант на скорую руку. Думаю, что можно упростить, если подготовить себя к иным лишениям. Ограничения: штриховки надо не добавлять, а копировать с двумя текстами одновременно, в противном случае теряются привязки. ----- добавлено через ~26 мин. ----- есть еще ряд ограничений: - нумерация должна быть из целых чисел от 1 до 49. Хотя это мой косяк. Что бы было до 99 надо в настройках формул извлечения данных вместо round поставить trunc. - думаю, что можно сделать и дробные номера помещений типа 11.1, 45.5 - но надо будет поколдовать с формулами. А вот с наличием букв (7а, 18г) - увы... не прокатит. |
|||
|
||||
Регистрация: 28.02.2019
Сообщений: 53
|
Всем привет!
Такой вопрос: выгружаю данные в эксель и выгружаю таблицу в автокад. При изменении чертежа и если обновить связи с данными таблицы, тогда таблица обновляется согласно изменениям на чертеже, а таблица в экселе при нажатии на кнопку "выгрузить в исходный файл" не обновляется. Возможно ли что таблица в экселе также будет обновляться? |
|||
|
||||
Регистрация: 12.03.2012
Сообщений: 110
|
Цитата:
По файлу во вложении. Создайте заново таблицу на основе связи с таблицы с эксель, у вас таблица с порушенной связью и всё заработает. |
|||
|
||||
Регистрация: 16.04.2009
Петрозаводск
Сообщений: 323
|
Цитата:
|
|||
|
||||
Регистрация: 28.02.2019
Сообщений: 53
|
Таблица в автокаде создана путем извлечения данных, на последнем этапе извлечения данных, поставил галочки, чтобы данные извлекались в чертеж и в эксель и хотелось бы чтобы эти таблицы были связаны, но похоже как говорит "Theodor", таблица в эксель одноразовая.
|
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,002
|
Цитата:
|
|||
|
||||
Регистрация: 12.03.2012
Сообщений: 110
|
Цитата:
И еще, фактически акад связывает определенные ячейки конкретной акадовской таблички - с определенными ячейками в Excel, так что записать новые строки/столбцы из autocad в excel не получится. |
|||