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

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Связать БД Access с блоками AutoCAD

Связать БД Access с блоками AutoCAD

Ответ
 
Поиск в этой теме
Старый 03.11.2006, 13:04 #1
Связать БД Access с блоками AutoCAD
Pave1
 
электроснабжение и автоматика
 
г. Пермь
Регистрация: 21.06.2005
Сообщений: 329

Создал базу.
Создал блоки.
Дальше как действовать?
__________________
хочу все знать
Просмотров: 9636
 
Старый 03.11.2006, 13:09
#2
Кулик Алексей aka kpblc
Moderator

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


Работать А что хочешь сделать-то?
Ctrl + 6 (он же _dbconnect, кажись) и там в справку - другого я предложить пока не могу
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Старый 03.11.2006, 13:13
#3
Евгений, Екатеринбург


 
Регистрация: 30.09.2004
Сообщений: 1,552


Делал такое, только не под Access а под Firebird
Блоки хранил в виде автокадовских файлов (в котором созданы блоки) в виде blob-поля. Система работает нормально, особенно удобно то что конечным юзерам библиотеки с блоками устанавливать не надо, они сами переписываются с базы на комп пользователя если нужного файла там нет.
Ессно вставлять нужно из файла а не из самой базы.
Еще удобно то что в базе можно дополнительно хранить картинку поясняющую действие (не обязательно вставку блока), текстовое пояснение, вычислять частоту использования той или иной команды (удобно для создателя системы отслеживать чем пользуются а что оказалось бесполезным).
Хотя БД в обычном ее понимании здесь не особенно нужна - все можно решить и обычными средствами - хотелось создать систему клиент-сервер.
Евгений, Екатеринбург вне форума  
 
Автор темы   Старый 03.11.2006, 13:18
#4
Pave1

электроснабжение и автоматика
 
Регистрация: 21.06.2005
г. Пермь
Сообщений: 329


Далее захожу в папку
C:\Documents and Settings\Odegov\Application Data\Autodesk\AutoCAD 2006\R16.2\rus\Data Links
там хранится файл с названием jet_dbsamples.udl
копирую его, переименовываю копию.
Затем захожу в него. На вкладке ПОДКЛЮЧЕНИЕ меняю старую базу, на ту, что создал сам. Жму ОК.
Далее Сервис/База данных
Выскакивает окно "Диспетчер подключения в БД"
Выделяю "Источник данных", правую кнопку и "Настроить источник данных ..."
__________________
хочу все знать
Pave1 вне форума  
 
Автор темы   Старый 03.11.2006, 13:22
#5
Pave1

электроснабжение и автоматика
 
Регистрация: 21.06.2005
г. Пермь
Сообщений: 329


в списке возможных баз появились базы, которые я указал в файлах *.udl
выбираю эти вазы
Теперь они мне доступны для редактирования и т.д.
__________________
хочу все знать
Pave1 вне форума  
 
Автор темы   Старый 03.11.2006, 13:43
#6
Pave1

электроснабжение и автоматика
 
Регистрация: 21.06.2005
г. Пермь
Сообщений: 329


И вот теперь, есть блоки, хранящиеся в файле *.dwg
есть база, хранящаяся в формате *
Что делать дальше?
[ATTACH]1162550630.jpg[/ATTACH]
__________________
хочу все знать
Pave1 вне форума  
 
Автор темы   Старый 03.11.2006, 15:50
#7
Pave1

электроснабжение и автоматика
 
Регистрация: 21.06.2005
г. Пермь
Сообщений: 329


далее выбрав из подключенной уже БД нужную строчку нажимаю правую кнопку и выбираю СВЯЗЬ!
За ключевой столбец выбираю КЛЮЧЕВОЕ ПОЛЕ базы.
Дальше в коммандной строке вижу: ВЫБЕРЕТЕ ОБЪЕКТ
выбираю блок.
Появляется вот такая вот связь
[ATTACH]1162558222.jpg[/ATTACH]
__________________
хочу все знать
Pave1 вне форума  
 
Автор темы   Старый 03.11.2006, 16:10
#8
Pave1

электроснабжение и автоматика
 
Регистрация: 21.06.2005
г. Пермь
Сообщений: 329


Теперь, выделяя блок, или несколько блоков, высвечиваются те строки, которые им присвоены.
А дальше?
Дальше я хочу пользоваться этим в своих проектах.
Я хочу всем блокам присвоить в своих проектах.
Хранить их в палитре инструментов. От куда добавлять их по мере надобности в проект.
Только я вот непойму как коллтчество блоков считается, где это отображается и как получить таблицу с данными заложенными в Access и колличеством блоков сосчитанном в AutoCAD.
__________________
хочу все знать
Pave1 вне форума  
 
Автор темы   Старый 08.11.2006, 13:59
#9
Pave1

электроснабжение и автоматика
 
Регистрация: 21.06.2005
г. Пермь
Сообщений: 329


и все же!
может кто-нибудь видел где-нибудь, как соединить Access и AutoCAD
__________________
хочу все знать
Pave1 вне форума  
 
Старый 06.03.2007, 12:51
#10
serg01


 
Регистрация: 04.07.2005
Иркутск
Сообщений: 213


Написано много, но все же действительно, что же с этим делать то?
создать создали, связи сделали и все. А как выбирать связанные детали, и можно ли из сформированного в access отчета брать данные?
Перерыл весь форум, есть куча процедур, а как ими воспользоваться не ясно.
Может кто-нибудь растолкует доходчево? Буду признателен сильно
serg01 вне форума  
 
Старый 06.03.2007, 13:17
#11
ShaggyDoc

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


Какие вопросы, такие и ответы. Шедевр:
Цитата:
Создал базу.
Создал блоки.
Дальше как действовать?
Как будто вопрос к телепатам был.

Кулик Алексей aka kpblc четко ответил:

Цитата:
Работать А что хочешь сделать-то?
Сначала надо сформулировать конечную цель. Да подумать, надо ли связываться вообще с dbconnect. Это ведь всего лишь "демонстрация концепции, что в принципе можно связать примитивы Автокада с базой данных. И потом можно запросы делать, формы сочинять, отчеты формировать и т.д.

А далее, на основе принципиальной возможности, решаете свою конкретную задачу. Толко тут без программирования в Access и в AutoCAD не обойтись. И "штатный" способ связки как раз самый неудобный из всех возможных вариантов.
ShaggyDoc вне форума  
 
Старый 07.03.2007, 04:16
#12
serg01


 
Регистрация: 04.07.2005
Иркутск
Сообщений: 213


Цель такая:
1) есть база данных, в которой выбирается конкретное оборудование и его характеристики;
2) нужно чтоб результат выбора попал в чертеж в виде спецификации и в виде вставки блоков.
Вот я и не могу понять как это сделать.
serg01 вне форума  
 
Старый 07.03.2007, 06:34
#13
ShaggyDoc

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


Цитата:
Сообщение от serg01
Цель такая:
1) есть база данных, в которой выбирается конкретное оборудование и его характеристики;
2) нужно чтоб результат выбора попал в чертеж в виде спецификации и в виде вставки блоков.
Вот я и не могу понять как это сделать.
Ни MS Acces, ни dbconnect здесь не нужны и не помогут. Здесь надо программировать, и серьезно.

1. Программа ведения базы данных оборудования (хоть в формате ACCESS, хоть в любой другой), формирования спецификаций путем отбора из базы и формирования готовой спецификации на бумаге (отчет называется). Автокад для вывода спецификаций вообще не нужен.

2. Программа (куча программ) привязывающая к примитивам Автокада ссылки на записи в базе данных оборудования.

3. Программа (часть программы 1), позволяющая отобрать из чертежа объекты, ссылающиеся на базу данных, сделать из базы выборку примененного оборудования с соответствующей сортировкой, объекдинением, группировкой. И вывод отчета.

А вот про то, как это сделать, как реализовать - можно целую книгу написать. Блоки во всем этом - тупиковый путь.
ShaggyDoc вне форума  
 
Старый 07.03.2007, 08:18
#14
Кулик Алексей aka kpblc
Moderator

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


Позволю себе немного не согласиться с последней фразой:
Цитата:
<...> Блоки во всем этом - тупиковый путь.
В блоки можно засовывать либо невидимые атрибуты, либо расширенные данные, либо словарные данные - зависит (ЯТД) от желания программера выглядеть "покруче гор". А вот что в этих "навесках" хранить - это уже тема для отдельного разговора. Который лично я считаю достаточно малоэффективным - достаточно отослать к "САПР на базе..." - там расписаны все тонкости были (точно страницу и главу не помню, уж простите великодушно).
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Старый 07.03.2007, 08:57
#15
ShaggyDoc

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


Цитата:
Сообщение от Кулик Алексей aka kpblc
Позволю себе немного не согласиться с последней фразой:
Цитата:
<...> Блоки во всем этом - тупиковый путь.
В блоки можно засовывать либо невидимые атрибуты, либо расширенные данные, либо словарные данные - зависит (ЯТД) от желания программера выглядеть "покруче гор". А вот что в этих "навесках" хранить - это уже тема для отдельного разговора. Который лично я считаю достаточно малоэффективным - достаточно отослать к "САПР на базе..." - там расписаны все тонкости были (точно страницу и главу не помню, уж простите великодушно).
Блоки как единственный путь для привязки к БД (через атрибуты) были в R10. В том числе применялся метод, когда рядом со всеми специфицируемыми объектами мог вставляться универсальный блок-галочка, позволявший специфицировать чертеж - не по реальным объектам, а по "галочкам", которыми можно помечать и не нарисованные, но подразумевающиеся изделия.

Теперь правильный путь - присоединение расширенных данных со связкой к любым примитивам, в том числе и к блокам.

Упомянул про "тупиковость" еще и потому, что некоторые пытаются весь чертеж составить из блоков, причем имя блока используют как наименование объекта в спецификации. На блоки заглядываются и потому, что атрибуты можно легче "увидеть". Но это очень малая (и самая простая) часть всей задачи - все равно надо серьезно программировать.
ShaggyDoc вне форума  
 
Старый 07.03.2007, 09:38
#16
Кулик Алексей aka kpblc
Moderator

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


Ну я бы не делал ставку на РД. По мне лучше через vlax-ldata-* работать - более внятно, чем даже работа со словарями; нет ограничения по суммарной длине; не надо помнить собственные dxf-представления ну и так далее.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Старый 07.03.2007, 10:13
#17
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Вставлю и я свои 5 копеек.
РД использую только для "пометки" нужных мне примитивов (для этого достаточно группы 1000 - текст). РД - потому, что их можно использовать в ssget
Цитата:
(ssget "X" '((0 . "CIRCLE") (-3 ("APP1,APP2"))))
И таким образом быстро получить нужные мне примитивы, а потом через vlax-ldata-* всю недостающую информацию
VVA вне форума  
 
Старый 07.03.2007, 10:43
#18
ShaggyDoc

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


Цитата:
Сообщение от VVA
Вставлю и я свои 5 копеек.
РД использую только для "пометки" нужных мне примитивов (для этого достаточно группы 1000 - текст). РД - потому, что их можно использовать в ssget
Цитата:
(ssget "X" '((0 . "CIRCLE") (-3 ("APP1,APP2"))))
И таким образом быстро получить нужные мне примитивы, а потом через vlax-ldata-* всю недостающую информацию
Правильно. А связка с БД как раз и является короткой строкой. И примитивы со связкой требуют быстрого выбора.
ShaggyDoc вне форума  
 
Старый 04.11.2009, 18:06
#19
Segavj


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


Доброе время суток !
Извините, если уже данная тема поднималась.
Помогите с решением данного вопроса:
как автоматизировать процесс извлечения данных о чертеже в внешнюю БД Access. Т.е. в идеале хотелось бы иметь кнопку на панеле с макросом, которая помогла бы миновать ряд операций в аналогичном инструменте AutoCAD <Сервис/Извлечение данных...>.
Заранее спасибо !
Segavj вне форума  
 
Старый 05.11.2009, 11:05
#20
Victor


 
Регистрация: 14.06.2009
Бат-Ям
Сообщений: 295


Attribute Extraction что ли. Так сделай макрос методом проб и ошибок. Тем более что не ясно что тебе нужно.
Victor вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Связать БД Access с блоками AutoCAD

Опции темы Поиск в этой теме
Поиск в этой теме:

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