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

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

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’е, для работы с нашим классом.

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

Разрыв ТОЛЬКО ошибочных связей в 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.

Как удалить связь с Exel?

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

А потом как на рисунках.

VoVoRoNaLe
Посмотреть профиль
Найти ещё сообщения от VoVoRoNaLe
Sneginka_Clan
Посмотреть профиль
Найти ещё сообщения от Sneginka_Clan

Сначала нужно удалять DataLink, а потом файл Excel

Edit DataLink -> Выбрать другой (существующий) файл -> Ок

и тогда как на рис.

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.

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

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