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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Методы вставки блока из внешних программ в чертеж AutoCad 2015.

Методы вставки блока из внешних программ в чертеж AutoCad 2015.

Ответ
Поиск в этой теме
Непрочитано 18.09.2015, 12:48 #1
Методы вставки блока из внешних программ в чертеж AutoCad 2015.
Plutos
 
Регистрация: 20.01.2012
Сообщений: 12

Уважаемые коллеги.

Вопрос.
В связи с попыткой сращивания чертежа автокада с базой данных (к примру FrireBird или другой).
Требуется обеспечение возможности передачи параметров блоков туда и обратно.
Какие методы существуют или уже применяются для выполнения этой операции.?

Задача.
Обеспечить возможность вставки блока с параметрами из базы данных (блок в отдельном DWG файле).

Например запуск программы на LISP или VBasic из внешней программы с параметрами или ещё что-то.
Попытки получить или передать параметры с использованием обычной коннекта не привели к требуемому результату.

Заранее спасибо всем за оказанную помощь.

Если есть какие-либо ссылки на литературу или примеры был бы весьма признателен.
Просмотров: 4533
 
Непрочитано 18.09.2015, 13:16
#2
trir


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


проще создавать блок, а не хранить...
trir вне форума  
 
Непрочитано 18.09.2015, 14:09
#3
Erbol2014

ТОО
 
Регистрация: 22.05.2014
Аршалы
Сообщений: 52


Попробуйте вот это http://www.kdmsoft.ru/multielement.html , как раз для Ваших целей и не только.
Erbol2014 вне форума  
 
Автор темы   Непрочитано 18.09.2015, 15:09
#4
Plutos


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


Erbol2014, Именно потому что это появилось я вообще и задумался на этот счет. Я это ПО поюзал, однако меня не устраивают многие моменты, поэтому хочется набросать для себя нечто более подходящее.

----- добавлено через ~2 мин. -----
trir, Если вы имеет ввиду создавать элемент из примитивов в чертеже, то не есть хороший вариант. Во-первых параметры, а во вторых прописывать каждый блок умучаешься, да ещё с параметрами.
Plutos вне форума  
 
Непрочитано 18.09.2015, 15:20
#5
Erbol2014

ТОО
 
Регистрация: 22.05.2014
Аршалы
Сообщений: 52


Цитата:
Сообщение от Plutos Посмотреть сообщение
Я это ПО поюзал, однако меня не устраивают многие моменты, поэтому хочется набросать для себя нечто более подходящее.
В общении с автором (по другим прогам) - думаю он по запросу сделает то, что Вам надо, напишите. По крайней мере под нас допиливал, правда другую прогу, но ...
Erbol2014 вне форума  
 
Автор темы   Непрочитано 18.09.2015, 16:44
#6
Plutos


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


Ааа... Понял. Спасибо. Буду иметь ввиду если не смогу обойтись своими силами.
Самому же тоже хочется узнать чего и как.
Plutos вне форума  
 
Непрочитано 18.09.2015, 20:28
#7
trir


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


можно хранить lisp как текст, entget и ...
trir вне форума  
 
Автор темы   Непрочитано 19.09.2015, 19:24
#8
Plutos


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


trir, В смысле передавать как параметр в приложение?
Plutos вне форума  
 
Непрочитано 19.09.2015, 19:54
#9
trir


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


через entget получаем описание блока как текст, сохраняем в базу, а потом по этому описанию создаём заново...
trir вне форума  
 
Непрочитано 20.09.2015, 15:04
#10
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,840


Цитата:
Сообщение от trir Посмотреть сообщение
проще создавать блок, а не хранить...
Только вот дин. блок программно создать никакой возможности нет -
У меня такой функционал реализован на .Net - на лиспе аналогичный в "прямую" по моему не получится - если только искать какой-либо внешний функционал для работы с двоичными данными. На .Net - там все просто - запись в БД - Database.Wblock(id).SaveAs(tempFile) создается файл блока - после чего его надо только прочитать и отправить в СУБД; чтение из БД - select соответствующих полей записывается во временный файл, создается новая БД (автокада - dbs) - dbs.ReadDwgFile(...), db.Insert(blockName,dbs,true) - где db база данных автокада в которую вставляется описание блока. Далее, для красоты, можно добавить Jig для вставки вхождения блока. Таким образом можно вставлять любые блоки - в том числе с атрибутами и динамические.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 21.09.2015, 02:32
#11
Сергей812


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


судя по

Цитата:
Сообщение от Plutos Посмотреть сообщение
Задача.
Обеспечить возможность вставки блока с параметрами из базы данных (блок в отдельном DWG файле).
речь о хранении самих блоков в БД и не шла)

Даже не понятно, в чем вызывает затруднение это: если разобрались в хранении информации в БД для инициализации атрибутов и других необходимых параметров блока, то добавить строчку с именем блока и именем файла при необходимости.. а вставка блока - это классика.. )
Сергей812 вне форума  
 
Автор темы   Непрочитано 22.09.2015, 11:45
#12
Plutos


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


Сергей812, Если я вас правильно понял то идет разговор о вставке уже существующего блока в чертеже, но не размещенного на нем. Я же предполагаю что блок нарисован на другом чертеже и имеет параметры. Обычная вставка уже имеющегося блока труда не вызывает, а вот перенос блока из одного чертежа (источника) в другой чертеж (получатель) да ещё связать с параметрами в базе данных вот тут есть для меня трудности. Пока мысль только одна сделать средствами VB в самом автокаде с подключенной базой как исходных блоков так и результирующего чертежа. А в дальнейшем при работе с основным чертежом (во время проектирования) просто проводить обновление данных что в базе, что на чертеже. Вот основная идея.

----- добавлено через ~17 мин. -----
Дима_, Спасибо за идею. Попробую.
Plutos вне форума  
 
Непрочитано 22.09.2015, 14:18
#13
Сергей812


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


Цитата:
Сообщение от Plutos Посмотреть сообщение
а вот перенос блока из одного чертежа
Для примера - как подобное сделано у Бушмана Андрея
Сергей812 вне форума  
 
Автор темы   Непрочитано 23.09.2015, 20:25
#14
Plutos


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


Сергей812, Сергей весьма признателен. Я правда предпочитаю больше Pasсal, но как примера достаточно.
В принципе я уже начал методом проб и ошибок нечто подобное реализовывать через ActiveX. Однако лишним примером не будет.
Plutos вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Методы вставки блока из внешних программ в чертеж AutoCad 2015.

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ACADVER (Системная переменная) Makswell Справочник команд 19 13.10.2016 05:58
запуск программы из AutoCADа kminas Программирование 19 15.06.2012 13:42
В русской версии AutoCAD 2010 SP1 32-bit файл Acad.PGP содержит ошибки. hwd Баги и пожелания в Autodesk 21 21.04.2010 20:27
Информация по идентификационным кодам программ в сетевых лицензиях Autodesk KSI AutoCAD 1 14.09.2009 15:59