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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Какие существуют способы программного создания таблиц в акад

Какие существуют способы программного создания таблиц в акад

Ответ
Поиск в этой теме
Непрочитано 28.02.2005, 12:19 #1
Какие существуют способы программного создания таблиц в акад
Евгений, Екатеринбург
 
Регистрация: 30.09.2004
Сообщений: 1,552

Задача:
1. Имеется БД (Firebird) по арматурным, прокатным и прочим позициям, формат которой известен и может меняться при возникновении такой необходимости.
2. Создание необходимых отчетов для показа пользователю в оболочке БД не вызывает проблем и сделано.
3. Нужно вставить в чертежи полноценую спецификацию по ГОСТ.
Требуются советы по следующим вопросам:
1. Как расчерчивать таблицу - линиями или каждая строчка блок атрибутами - текстами соответсвующих граф.
1.а Как создать неструктурированную таблицу - в которой заголовки некоторых строк (а не столбцов) могут быть объеденены.
2. Кроме использования СОМ-серверов есть способы передать данные из БД в акад не используя ADO? Может через текстовый файл с разделителями или в виде ассоциированного списка - у кого есть примеры реальных грабель импользования таких методов?
3. Еще какие-нибудь хитрости работы с реальными СУБД в акаде.
Просмотров: 9238
 
Непрочитано 28.02.2005, 13:51
#2
{Smirnoff}

Инженер по системам безопасности
 
Регистрация: 23.11.2003
Рига
Сообщений: 1,099


Все возможно, путь через текстовый файл наиболее простой.

Однако, если вы поскорее хотите решить проблемму. Наверняка ваша база данных имеет возможность экспорта в Excel напрямую или через файл с разделителями. Надо просто преобрести одну из множества програмок позволяющих вставлять таблицы из Excel "как есть" т. е. с сохранением сетки ячеек как на листе Excel. Некоторое время назад юзал такую демку, но сходу обнаружить сайт немогу. Вот что-то похожее и демка вроде тоже есть http://www.ransen.com/TabiCAD/Screen.htm . Во всяком случае на диалоге есть переключатель 'Original table borders'.
{Smirnoff} вне форума  
 
Непрочитано 28.02.2005, 14:38
#3
VVS

проектирование автоматизированных систем управления и диспетчеризации на базе LonWorks
 
Регистрация: 24.01.2005
Санкт-Петербург
Сообщений: 16


Если есть возможность перекинуть ваши данные в Excel, то имхо http://www.alx.ncn.ru/r_atable_long.shtml вам поможет наилучшим образом.
VVS вне форума  
 
Непрочитано 28.02.2005, 17:25
#4
Колян

Самозанятый КМ+КМД
 
Регистрация: 09.09.2004
Раменское
Сообщений: 1,852


С помощью Exsel.. Создаем таблицу в Екселе.. делать ее нужно тонкими линиями.. Шрифт Ариал размером 7-8.. Рамер таблицы высчитываем 10мм=30пикселей.. Потом через копирование.. Вставляем в Акад через специальное копирование.. автокад ентирес.. Потом нужно только сделать SCALE таблицы..
[ATTACH]1109600709.jpg[/ATTACH]
Колян вне форума  
 
Непрочитано 28.02.2005, 17:28
#5
Колян

Самозанятый КМ+КМД
 
Регистрация: 09.09.2004
Раменское
Сообщений: 1,852


Вот, что должно получиться... не понимаю, почему люди не пользуются этим крайне простым способом...
[ATTACH]1109600912.jpg[/ATTACH]
Колян вне форума  
 
Автор темы   Непрочитано 01.03.2005, 07:19
#6
Евгений, Екатеринбург


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


Вопрос не в том как вставить из экселя....
Сколько раз надо нажать разные кнопки что бы сначала перекинуть в эксель, потом из экселя в акад, а потом еще в акаде отформатировать. и на каждом шаге могут быть ошибки...
Нужно (ну хотелось бы):
1. Создал спецификацию в специальной проге (она-то у меня и готова в версии 0.33, сейчас скриншот приложу)
2. Нажал в акаде кнопочку, выбрал, объект, раздел, элемент и вставил спецификацию.....
Один из методов есть в книге "САПР на базе autocad", но уж больно сложно все это для меня... может можно как-нибудь попроще
[ATTACH]1109650739.jpg[/ATTACH]
Евгений, Екатеринбург вне форума  
 
Непрочитано 01.03.2005, 08:42
#7
Alxd

Нач. отдела САПР
 
Регистрация: 14.05.2004
Тюмень
Сообщений: 466
<phrase 1=


Ответы:
1. Если писать свою собственную программу, которая сможет чертить примитивную таблицу, то наверное проще всего использовать для каждой строки таблицы отдельный блок. Но! Ограничений в этом МОРЕ! Проще использовать что-нибудь уже написанное. Уж мне поверьте
1а. Программно или расчерчивать вручную - что отстойно.
2. А чем не нравится COM? Ведь он позволяет делать все очень гибко. Его можно использовать в VLisp, что позволит один раз накатать программу и использовать ее в последующем очень быстро и просто!
Я на импорте/экспорте данных, что называется "собаку съел". Использование Excel в роли посредника очень удобно, но существование дополнительного этапа сильно грузит пользователей. Поэтому проще использовать COM + VLisp. Я сейчас заканчиваю новую версию ATable 6.5 которая содержит в себе COM модель для создания таблиц прямо в чертеже. Сам сейчас накатал на VLisp программу, которая переносит данные из Excel в AutoCAD. По аналогии можно написать перенос данных из любой базы в AutoCAD.
3. Вроде нет.
Alxd вне форума  
 
Автор темы   Непрочитано 01.03.2005, 09:11
#8
Евгений, Екатеринбург


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


Цитата:
Сообщение от Alxd
Ответы:
2. А чем не нравится COM? Ведь он позволяет делать все очень гибко. Его можно использовать в VLisp, что позволит один раз накатать программу и использовать ее в последующем очень быстро и просто!
Я на импорте/экспорте данных, что называется "собаку съел". Использование Excel в роли посредника очень удобно, но существование дополнительного этапа сильно грузит пользователей. Поэтому проще использовать COM + VLisp.
Только тем и не нравиться что придется осваивать новую для меня технологию, а это время.....
зы. где можно прочитать про ATable?
Евгений, Екатеринбург вне форума  
 
Непрочитано 01.03.2005, 16:19
#9
Alxd

Нач. отдела САПР
 
Регистрация: 14.05.2004
Тюмень
Сообщений: 466
<phrase 1=


Цитата:
Только тем и не нравиться что придется осваивать новую для меня технологию
Для того, чтобы извлечь из базы данных инфу через SQL запрос много осваивать не придется.
Импорт библиотеки -
(vlax-import-type-library
:tlb-filename "C:/Program Files/Common Files/System/ado/msado15.dll"
:methods-prefix "adom-"
roperties-prefix "adop-"
:constants-prefix "adoc-"
)
соединение, которое в ODBC описано
(setq connstr "Provider=MSDASQL.1;Password=sql;Persist Security Info=True;User ID=dba;Data Source=PDM")
(setq connstr (vlax-make-variant connstr))

строка запроса
(setq strsql "select ... from ... where")
(setq strsql (vlax-make-variant strsql))

выполнение запроса
(setq query (vlax-create-object "ADODB.Recordset"))
(adom-Open query strsql connstr -1 -1 -1)

здесь читай данные из query

освобождение
(vlax-release-object query)
(setq query nil)

Цитата:
где можно прочитать про ATable?
VVS выше писал http://www.alx.ncn.ru
Но там версия 5.7, которая COM модели не имеет. А новая версия пока не выпущена. Тестируется.[/quote]
Alxd вне форума  
 
Непрочитано 11.03.2005, 19:43
#10
Alxd

Нач. отдела САПР
 
Регистрация: 14.05.2004
Тюмень
Сообщений: 466
<phrase 1=


2 Евгений, Екатеринбург
Выпустил таки версию ATable for AutoCAD 6.5. В нем COM модель, которую можно изучить, скажем через Object Browser в Excel. Она простая... См. http://www.alx.ncn.ru/r_atable_long.shtml
Alxd вне форума  
 
Непрочитано 15.03.2005, 11:04
#11
rip


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


to Колян: У меня такая проблема. Я вставляю таблицу эксель как объект автокад и не могу установить размер шрифта через меню свойства (выделяю нужные ячейки таблицы и меняю в свойствах размер). Он меняется, но не соответствует заданному. Можно установить нужный размер в каждой ячейке по отдельности, но это долго Не подскажите, как это сделать быстро? Желательно с исп. autolisp, т.к. изучаю его сейчас. Ну и простой способ, если он есть
rip вне форума  
 
Непрочитано 15.03.2005, 11:18
#12
ShaggyDoc

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


Цитата:
Сообщение от Евгений, Екатеринбург
Вопрос не в том как вставить из экселя....
Сколько раз надо нажать разные кнопки что бы сначала перекинуть в эксель, потом из экселя в акад, а потом еще в акаде отформатировать. и на каждом шаге могут быть ошибки...
Нужно (ну хотелось бы):
1. Создал спецификацию в специальной проге (она-то у меня и готова в версии 0.33, сейчас скриншот приложу)
2. Нажал в акаде кнопочку, выбрал, объект, раздел, элемент и вставил спецификацию.....
Один из методов есть в книге "САПР на базе autocad", но уж больно сложно все это для меня... может можно как-нибудь попроще
Имеется главное - нормальная БД, нормальное средство для работы с ней. Осталась мелочь - нарисовать все в AutoCAD. Excel совсем незачем приплетать. Здесь и COM не требуется - экспортируем отобранное в CSV-файл (есть специальные компоненты). А csv читаем, пишем, рисуем как угодно из LISP. Это если надо именно в DWG. Или прямо из БД вывод в файл или на принтер с использованием генератора отчетов.

В книге "САПР на базе AutoCAD" в главе 32 есть Листинг 32.6 где заполнение таблицы решено. Это можно просто приспособить для своих целей.
ShaggyDoc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Какие существуют способы программного создания таблиц в акад

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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