Как удалить связь с данными в автокаде
Перейти к содержимому

Как удалить связь с данными в автокаде

  • автор:

Как удалить связь с данными в автокаде

Разрыв ТОЛЬКО ошибочных связей в excel
Добрый день форумчане! Нужна ваша помощь. Есть много файлов. В них есть ссылки-привязки связей на.

Чтение текста сразу из всех полей Edit сразу
Всем привет. У меня на форме есть 6 текстовых полей. Вот файл .h class TForm1 : public TForm <.

1. Select the table ->right-click -> Click Data Links -> Detach Data Link.

VoVoRoNaLe
Посмотреть профиль
Найти ещё сообщения от VoVoRoNaLe
Sneginka_Clan
Посмотреть профиль
Найти ещё сообщения от Sneginka_Clan
VoVoRoNaLe
Посмотреть профиль
Найти ещё сообщения от VoVoRoNaLe
Sneginka_Clan
Посмотреть профиль
Найти ещё сообщения от Sneginka_Clan
У меня при удалении пропадает кнопна ОК.
VoVoRoNaLe
Посмотреть профиль
Найти ещё сообщения от VoVoRoNaLe
Sneginka_Clan
Посмотреть профиль
Найти ещё сообщения от Sneginka_Clan
Sneginka_Clan
Посмотреть профиль
Найти ещё сообщения от Sneginka_Clan
mr.beginner
Посмотреть профиль
Найти ещё сообщения от mr.beginner

1. Select the table ->right-click -> Click Data Links -> Detach Data Link.

1. Select the table ->right-click -> Click Data Links -> Detach Data Link.

VoVoRoNaLe
Посмотреть профиль
Найти ещё сообщения от VoVoRoNaLe
Sneginka_Clan
Посмотреть профиль
Найти ещё сообщения от Sneginka_Clan
VoVoRoNaLe
Посмотреть профиль
Найти ещё сообщения от VoVoRoNaLe
Sneginka_Clan
Посмотреть профиль
Найти ещё сообщения от Sneginka_Clan
У меня при удалении пропадает кнопна ОК.
VoVoRoNaLe
Посмотреть профиль
Найти ещё сообщения от VoVoRoNaLe
Sneginka_Clan
Посмотреть профиль
Найти ещё сообщения от Sneginka_Clan
Sneginka_Clan
Посмотреть профиль
Найти ещё сообщения от Sneginka_Clan
mr.beginner
Посмотреть профиль
Найти ещё сообщения от mr.beginner

1. Select the table ->right-click -> Click Data Links -> Detach Data Link.

AutoCAD: Связь с внешними данными

Часто пользователи хотят связать объекты чертежа с внешними данными – Таблицей Excel, базой данных или просто с текстовым или xml файлом. Конечно, в AutoCAD существует множество способов взаимодействия с внешними данными: _DataLink, dbConnect, attin, _script. Но все эти инструменты требуют «много кликов» и не обеспечивают нужного взаимодействия. Пользователю хочется, что бы объекты чертежа автоматически приводились в соответствие с внешними данными, с минимальным его участием. Образцовым примером подобного взаимодействия является FDO в AutoCAD Map 3D – когда после подключения к источнику мы сразу получаем его содержание в виде графики (и при желании даже с подписями) и для синхронизации с источником, достаточно выполнить обновление слоя (одна команда). Но это специальный (а значит ограниченный) ГИС инструмент, который подойдет не всем. И тогда остаётся лишь применить программирование, благо существует огромное количество способов это сделать – Lisp, C++, .Net, Delphi, Python и т. д.

Одним из способов, установить такую связь с источником данных – создать класс, который будет отвечать за связь с данными или просто агрегировать эти данные для импорта/экспорта. В данной статье я покажу пример подобного класса, который:

  1. Сам себя рисует (но не Custom object*)
  2. Имеет собственные данные и следит за их актуальностью
  3. Умеет импортировать/экспортировать себя в XML

В AutoCAD’е у программиста есть несколько инструментов для хранения собственных данных в чертеже, это – XData и XRecord. Но это весьма ограниченные инструменты и доступ к этим данным имеется только из AutoCAD. Поэтому мы будем использовать внешний источник данных, а связывать их с примитивами в чертеже, через Handle.

Наш объект будет рисовать круг, а также текстовую метку содержащую радиус этого круга, но данный метод позволяет создавать любые примитивы (на пример Solid3d или NurbSurface) – лишь бы у них был Handle. Нам понадобятся методы для отрисовки Объекта и Метки. Но самое главное нам понадобится метод для отслеживания изменения объекта, обработчик события, который мы повесим на событие Modified. Также нам понадобятся методы для обновления примитивов и экспорта в XML. Ну хватит, меньше слов — больше кода.

Не забыли подключить cmgd.dll, acdbmgd.dll, accoremgd.dll (AcAd >= 2013)?

Собственные данные объекта, да это свойства примитива, но это же пример.

Ссылки на примитивы чертежа.

Рисуем сам объект, а заодно запоминаем ссылку на примитив и главное — вешаем обработчик на изменение объекта.

Обрабатываем изменение объекта — получаем новые знаения свойств объекта, обнавляем Метку.

Рисуем Метку объекта.

Импорт/экспорт в XML.

Ну конечно, нам понадобятся команды в AutoCAD’е, для работы с нашим классом.

Как удалить связь с данными в автокаде

1. Select the table ->right-click -> Click Data Links -> Detach Data Link.

VoVoRoNaLe
Посмотреть профиль
Найти ещё сообщения от VoVoRoNaLe
Sneginka_Clan
Посмотреть профиль
Найти ещё сообщения от Sneginka_Clan
VoVoRoNaLe
Посмотреть профиль
Найти ещё сообщения от VoVoRoNaLe
Sneginka_Clan
Посмотреть профиль
Найти ещё сообщения от Sneginka_Clan
У меня при удалении пропадает кнопна ОК.
VoVoRoNaLe
Посмотреть профиль
Найти ещё сообщения от VoVoRoNaLe
Sneginka_Clan
Посмотреть профиль
Найти ещё сообщения от Sneginka_Clan
Sneginka_Clan
Посмотреть профиль
Найти ещё сообщения от Sneginka_Clan
mr.beginner
Посмотреть профиль
Найти ещё сообщения от mr.beginner

1. Select the table ->right-click -> Click Data Links -> Detach Data Link.

Как вставить таблицу Excel в AutoCAD и настроить связь данных

Как вставить таблицу Excel в AutoCAD и настроить связь данных

Очевидно, что работать с таблицами удобнее в Excel, а вот оформление (основная надпись — штамп и рамка) лучше делать в AutoCAD. Сегодня расскажу, как вставить таблицу Excel в AutoCAD, как связать эти два файла так, чтобы при изменении данных в Excel, в AutoCAD автоматически всё обновлялось. А главное, покажу настройки, с которыми AutoCAD не тормозит при обновлении данных.

Чтобы информация была максимально полезной и понятной, буду делать на примере спецификации. Аналогичным образом можно сделать связь для кабельного журнала.

Шаг 1. Заполняем таблицу в Excel

Для начала скачайте файлы шаблонов спецификации по ГОСТ и заполните таблицу в Excel. Тут всё как обычно, но есть один очень важный момент: в первом столбике Поз. не должно быть пустых ячеек. Иначе дальше не сработает.

Спецификация в Excel

Спецификация в Excel

Шаг 2. Умные формулы в Excel

Далее на ленте Excel переходим на вкладку Формулы и нажимаем кнопку Диспетчер имён.

Кнопка Диспетчер имён на ленте Excel

Кнопка Диспетчер имён на ленте Excel

Появится окошко. Там уже всё настроено, просто проверьте, что ничего не сломалось. Заодно я объясню, как это работает. Если будете работать со своими таблицами, сможете сделать аналогично.

Header — это диапазон «шапки» нашей таблицы. Там должна быть такая формула:

Спецификация — название листа. $A$1:$D$1 — диапазон данных на листе (шапка таблицы).

Окно диспетчер имён в Excel. Формула для диапазона Header

Окно диспетчер имён в Excel. Формула для диапазона Header

Data — это диапазон данных, который формируется автоматически.

Там должна быть такая формула:

Окно диспетчер имён в Excel. Формула для диапазона Data

Окно диспетчер имён в Excel. Формула для диапазона Data

В этой формуле одна функция вложена в другую.

Функция СЧЁТЗ подсчитывает число непустых ячеек в диапазоне (в нашем случае столбик «А»). Как только обнаружится пустая ячейка в столбике «А», то формула считает её концом таблицы. Именно поэтому выше акцентировал внимание на том, что в столбике А не должно быть пропусков ячеек.

Функция СМЕЩ возвращает ссылку на диапазон, смещённый относительно указанной ячейки (диапазона ячеек) на нужное число строк и столбцов. У неё пять аргументов:

  1. Ссылка — ячейка, от которой нужно отсчитывать. Берём верхнюю левую ячейку с данными таблицы. В нашем случае это ячейка «А2» на листе «Спецификация».
  2. Смещ_по_строкам. Мы будем отсчитывать от ячейки А2. Поэтому в формуле 0.
  3. Смещ_по_столбцам. Мы будем отсчитывать от ячейки А2. Поэтому в формуле 0.
  4. Высота — высота в строках результирующего диапазона (т.е. нашей таблицы). Сюда вставляем формулу СЧЁТЗ, прибавляя ещё единицу. Таким образом, у нас в конце спецификации будут ещё две пустых ячейки, т.к. СЧЁТЗ посчитала ещё и первую строчку — шапку таблицы.
  5. Ширина — ширина в столбиках результирующего диапазона (т.е. нашей таблицы). Указываем 9, т.к. в нашей спецификации фиксированная ширина — 9 столбиков.

Когда в спецификацию будут добавлены новые строки, то диапазон данных автоматически расширится, т.к. функция СЧЁТЗ посчитает число заполненных ячеек в первом столбике листа и автоматически расширит таблицу. Когда лишние строки из таблицы будут удалены, диапазон данных автоматически уменьшится. В итоге, для передачи в AutoCAD у нас всегда будет таблица необходимого размера.

Кстати, если в каком-то другом случае ширина таблицы тоже может меняться, то в аргумент Ширина прописываем аналогичную формулу СЧЁТЗ, только указывая подсчёт по первой строке: $1:$1.

Шаг 3. Настройка в AutoCAD

Открываем шаблон спецификации в AutoCAD с пустой таблицей.

3.1. Настройка связи для шапки таблицы

Выделяем ячейки шапки таблицы (надо выделить всю строку заголовков). Появляется панель с кнопками редактирования таблицы.

Спецификация в AutoCAD. Настройка связи с Excel. Заголовок таблицы

Спецификация в AutoCAD. Настройка связи с Excel. Заголовок таблицы

Нажимаем кнопку «Связь ячейки. » — она вторая справа. Появляется окошко «Выбор связи с данными».

AutoCAD. Окно создания связи с Excel

Окно создания связи AutoCAD и Excel

Нажимаем «Создайте новую связь с данными Excel» и вводим название новой связи — Header. Появляется окно настройки связи с данными Excel.

Выбираем наш Excel-файл cо спецификацией. И устанавливаем ниже «Относительный путь». В параметрах связи выбираем из списка нужный лист (в нашем случае единственный лист «Спецификация»), устанавливаем переключатель в положение «Связь с именованным диапазоном» и выбираем из списка диапазон «Header».

Настройка в AutoCAD новой связи с данными в Excel. Настройка диапазона данных

Настройка в AutoCAD новой связи с данными в Excel. Настройка диапазона данных

Дальше в правом нижнем углу этого окошка нажимаем на кнопку со стрелкой, чтобы появились настройки форматирования и вносим некоторые изменения:

  • В блоке «Содержимое ячеек» устанавливаем переключатель в положение «Сохранить форматы данных, вычислить формулы в Excel».
  • Флажок «Разрешить запись в исходный файл» снимаем. Так получится односторонняя связь — изменения вносим только в Excel, а в AutoCAD будет редактирование будет недоступно.
  • В блоке «Форматирование ячеек» флажок «Использование форматирования Excel» отключаем, переключатели ниже должны быть неактивны.

Должно получиться как на картинке.

Настройка в AutoCAD новой связи с данными в Excel. Настройка форматирования

Настройка в AutoCAD новой связи с данными в Excel. Настройка форматирования

Нажимаем кнопку «Ок». Связь для шапки таблицы настроена.

3.2. Настройка связи для данных таблицы

Устанавливаем курсор на первую пустую ячейку в первом столбике, сразу под «шапкой» таблицы.

Спецификация в AutoCAD. Настройка связи с Excel. Данные таблицы

Спецификация в AutoCAD. Настройка связи с Excel. Данные таблицы

Далее действуем аналогично настройке связи для заголовка таблицы. Нажимаем кнопку «Связь ячейки. ». Создаём новую связь с именем Data, выполняя аналогичные настройки, только выбираем именованный диапазон Data. Настройки форматирования делаем точно такие же, как для заголовка.

Нажимаем Ок. Связь с данными установлена. AutoCAD сразу же загрузит данные из таблицы Excel в таблицу AutoCAD. Остаётся удалить лишние строки, которые были в таблице шаблона. При этом строки, которые охватывает связь с Excel, удалить не получится.

Заполненная спецификация в AutoCAD после настройки связи с Excel

Заполненная спецификация в AutoCAD после настройки связи с Excel

Шаг 4. Обновление данных

При изменении данных в таблице Excel, сразу после сохранения файла, в AutoCAD в правом нижнем углу появится уведомление.

Уведомление в AutoCAD об изменении данных в связанной таблице Excel

Уведомление в AutoCAD об изменении данных в связанной таблице Excel

Для импорта обновлённых данных из таблицы Excel в AutoCAD просто нажмите на синюю ссылку в уведомлении. AutoCAD импортирует и перезапишет изменённые данные в связанной таблице.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *