|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как переделать коды AutoCAD R14 работающие с БД для работы в AutoCAD 2009
г. Балаково
Регистрация: 29.08.2011
Сообщений: 48
|
||
Просмотров: 22594
|
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Облазил весь форум, все посылают к ADOLisp. А Вы сами это пробовали? Во-первых не могу понять как ее запустить, что бы посмотреть как она работает? Во-вторых я не так силен в LISP, а тем более в ActivX. Можно разобрать ADOLisp более подробно?
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Пробовали. Работает.
Там все написано - сначала надо сделать объект Connection к БД, потом формировать запрос и запускать его. Только по шагам и только самостоятельно. На данный момент проще будет просто взять его и использовать, особо не заморачиваясь с внутренностями этого черного ящика.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Ребята Вы здесь все такие умные. Один говорит смотри сюда, другой там все написано. Облазил всю ADOLISP_Library полно "defun", но нигде нет "defun c:", тоже самое ADOLISP_Example. Говорю Вам я "чайник". Можно просто объяснить, как воспользоваться эти файлами: ADOLISP_Library.lsp, ADOLISP_Example.lsp и ADOLISP_test.mdb, чтобы увидеть как она работает?
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Andru1968, это - библиотека функций, а не команд. У меня есть к тебе пара вопросов: ты pdf читал? Если да, то там написано, как работать (начиная с раздела 4). Сначала объявляешь объект коннекта к БД (setq ConnectionObject (ADOLISP_ConnectToDB ConnectString UserName Password)). Как определять строку ConnectString - там же, 4.1.1.3.
Потом формируешь запрос на стандартном SQL и выполняешь его (раздел 4.1.2). После окончания работы с БД надо освободить коннект к ней (раздел 4.1.3). И второй вопрос: а что ты хочешь увидеть? Что подразумевается под вопросом
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Кулик Алексей aka kpblc,
1. Большое спасибо за ответ. 2. PDF на английском, в котором я вообще ноль. И по-этому на перевод уйдет много времени. Если у кого-то есть русская версия для ознакомления пришлите в личку. Заранее буду благодарен. 3. Если Вас действительно заинтересовала эта тема я могу в Word натыкать картинок с описанием, как работают имеющиеся коды в AutoCAD R14. Потому что 90% кодов для AutoCAD R14, я переработал для AutoCAD 2009 и они работают можно сказать один в один. Оставшиеся 10 % так или иначе связаны либо с передачей данных в БД, либо с редактированием их, либо с просмотром, либо данные из БД вставляются в документы создаваемые для печати. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Andru1968, почти вся документация по программированию на английском (исключение - MSDN, да и та переведена не полностью). Полноценно заниматься твоей задачей, извини, я не могу - физически нет времени.
Могу сказать сразу: описание, как там и что работает, мало чем поможет. Надо знать формат БД, место ее расположения, структуру таблиц и хранимых запросов и т.д. Может быть, вся БД вообще хранится не в mdb или SQL, а в чем-нибудь типа текстовых файлов (как, например, знаменитый "Прокат").
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
специалист по околачиванию грушевых деревьев Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811
|
Цитата:
http://www.cadtutor.net/forum/showth...l=1#post384945 |
|||
![]() |
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Кулик Алексей aka kpblc,
Переводом PDF я займусь сам. БД расположена на сервере и все кто работают с данным пакетом имеют к ней полный доступ. БД храниться в *.dbf, но я нашел прогу позволяющую конвертировать ее в *.mdb или *.xls. О структуре таблиц и хранимых запросов ничего конкретного сообщить не могу. Знаю только что для соединения с БД были использованы функции ASE. |
|||
![]() |
|
||||
Цитата:
ps. по поводу кода, для связи с базой данных, посмотри мой код 2004 года с комментариями
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
Есть одно "но": диалект SQL, который работает в Access, отличается от MS SQL Server. По мелочам, но этого достаточно
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
Насколько я смог понять формат БД одна таблица, которая содержит 18 полей тип данных числовой и текстовый, 2 числовых поля имеют размер "Двойное с плавающей точкой", остальные "Целое". Может код для R14 поможет понять структуру хранимых запросов.
Код:
И существующую БД я сумел конвертировать в *.mdb. По-этому меня интересует SQL для Access |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Надо решать принципиально: 1. Зачем эта программа запихана в AutoCAD? Что она делает такого, чего бы не могло сделать нормальное приложение для работы с БД (хотя бы сама MS Access)? С помощью примитивных средств DCL ничего серьезного с БД сделать нельзя. Встраивание именно в AutoCAD имело бы смысл при организации связей объектов AutoCAD и базы данных. Например, при щелчке по объекту получать информацию из БД и т.п. Ничего этого в программе нет. 2. Такая "база данных" фактически пригодна только для однопользовательской работы и не должна быть на "сервере". На каком таком "сервере", кстати? На файловом? Но даже в этом случае должно быть множество средств для организации многопользовательской работы (блокировки и т.п.) 3. Судя по набору полей это БД каких-то объектов (зданий). Вообще все такие вещи элементарно делаются в программах - инструментальных средствах ГИС. В том числе в недорогих или "практически бесплатных", таких как ObjectLand. Там всё необходимое, включая работу с БД, встроено в систему и доступно на уровне "секретарши". В AutoCAD же для решения таких задач требуется серьезное программирование, с не очень надежным результатом. Особенно если "не знаю английского" , "нет defun c:" и т.п. Возьмите более подходящий инструмент! Ну, конечно можно и ADOLisp использовать - это великолепная библиотека. Но для её использования надо очень много знать. Есть и самый правильный вариант - нанять специалиста. |
|||
![]() |
|
||||
Регистрация: 29.08.2011
г. Балаково
Сообщений: 48
|
asilisp.arx присутствует это правда за asicfg.exe и т.д. отсутствует
ShaggyDoc При щелчке по объекту получаем информацию из БД, так оно и происходит. Приведенная программа я так понял устанавливала соединение с БД Код:
Основная часть кодов предназначена для топографов, она рисует условные знаки по всем предъявляемым к ним требованиям. Насколько мне известно ObjectLand этого не может, а БД нужна для землеустроителей. У нас 70% города нарисовано в этой карте и 50% района. Программированию я сейчас и пытаюсь научиться, для английского есть куча переводчиков, но на них уходит много времени. Подскажите где взять специалиста? Последний раз редактировалось Andru1968, 30.08.2011 в 17:19. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Вот это да, я честно говоря сразу и не смотрел, это-же действительно такой клиент БД на смеси автолиспа с ARX - то ли автор больше ничего не знал, то ли это "нашедшея жизнь" дипломная работа? Интересно а у пользователя, автокад по назначению вобще используется? Или он как библиотека к "программе" устанавливается.
Автору - напишите как (для чего) Вы это чудо используете - тут по ходу Вам автокад-то и не нужен.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
"В этой карте" - это в AutoCAD? Это тупиковый путь для информационных систем. AutoCAD, благодаря своим графическим возможностям, может быть очень удобен для топографов и геодезистов (т.е. "чертежников"). А в части информации - он "никакой". Какие бы завлекательные описания о нем не сочиняла фирма. Просто-напросто Autodesk проспала развитие "мира ГИС", а потом только делала вид, что и она "в теме", выпуская целую линейку продуктов. Знаю это не понаслышке - сам лет 10 делал ГИС на базе AutoCAD. Да, в AutoCAD можно сделать привязку "семантики" к "графике". Причем разными способами. Есть и Database Connectivity, и примеры с CAO в поставке AutoCAD (см. caotest.lsp, caotest.dcl). А раньше ASI было. Но всё это чрезвычайно примитивно. Просто навешивание лапши на уши, да показать, что "в принципе можно". И, самое главное, порочно по сути. Информация о любых пространственных объектах (например, земельных участках) состоит из двух частей: 1. "Семантическая" - описательная часть (номер, владелец и т.п.) 2. Координатная - координаты вершин. В "решениях Autodesk" координатная информация хранится внутри DWG - как обычные координаты примитивов. А "семантика" - может и прямо в DWG или, в "продвинутом" варианте в "базе данных". Связь графики и семантики производится через расширенные данные (ничего иного и не придумали). Ну и можно программы в разных вариантах сделать (мы делали), для работы с данными. Но самое главное и самое плохое то, что координаты внутри DWG. Это значит, что они оторваны от семантики, спрятаны в закрытом формате, с ними можно работать только посредством самого AutoCAD (или его "вертикальных" решений). Формат DWG - это не база данных, с которой могут работать множество пользователей одновременно. И даже для "попеременной" работы на каждом рабочем месте должен стоять полноценный AutoCAD. Вынести пространственные данные в БД можно - "назло Autodesk". Однако для этого надо делать серьезную систему для работы с БД и со связкой "БД-AutoCAD". И вообще с любой другой системой. Мы это делали ещё лет 20 назад, с современными инструментами это проще, хотя "вопрос интересный". Ну а зачем тогда нужен сам AutoCAD? Да только как очень дорогое средство визуализации "карт", использующее 10% от своей действительно великолепной графической системы. Мы его когда-то так и использовали, потому что иных средств просто не было. А потом отказались - слишком дорого. Это чертежи "рисовать" можно втихаря на пиратском AutoCAD, а с информационной системой (заведомо не частного уровня) такое не пролезет. А накопленная информация по нескольким городам никуда не делась. Она полностью, с координатами, находится в БД и отрисовать её можно в любой графической среде. Ну и цена у ObjectLand для 1 пользователя 6000 руб, для 10 пользователей - 21000 руб, а "сайт-лицензия" (неограниченное количество мест в пределах "места") - 180000 руб (я покупал еще за 96 т.р.). И даже если не покупать, а просто скачать и работать, то нет никаких ограничений, кроме логотипа на карте. Это очень удобно - можно как следует "пошшупать". И уж точно приобретение намного выгоднее, чем попытки чего-то смастерить "под AutoCAD", особенно не зная предмета. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Теперь стало более менее понятно. По вопросу: тут несколько вариантов, самый быстрый и дешевый - найти автора, я думаю он быстрее всего разберется и переделает под 2009, но это не всегда физически возможно; второй путь это попытаться "проапргрейдить" существующий рабочий проект, lisp кодам и DCL скорее всего редактирование не потребуется (если и потребуется то "не сильное"), что не скажешь про arx (exe?) библиотеки (модули) - если там используется только "фирменные", то шансы найти под новую версию (или перекопмилировать исходник) есть, если-же там еще есть "авторское творчество", то боюсь проще "все по новой" - со всеми вытекающеми - описание задачи, временем, деньгами, отладкой, обкаткой и пр.
з.ы. Специалисты "водятся" здесь и в поиске исполнителей. з.з.ы Пока писал, свое мнение касательно рациональности и перспективности этого вопроса описал ShaggyDoc - я с ним полностью согласен.
__________________
Когда в руках молоток все вокруг кажется гвоздями. Последний раз редактировалось Дима_, 30.08.2011 в 20:54. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ObjectARX. Расчленение и удаление proxy-объектов | Profan | Готовые программы | 293 | 08.04.2024 09:37 |
Разделение работы AutoCAD | AutoCAD Mechanical | PVal | Вертикальные решения на базе AutoCAD | 3 | 23.03.2012 10:16 |
AutoCAD Architecture 2009 стоит ли.. | mey | Вертикальные решения на базе AutoCAD | 25 | 19.04.2009 19:20 |
файл из AutoCAD 2004 сохранить в формат для AutoCAD R14 | acad_newbie | AutoCAD | 12 | 13.10.2008 13:03 |
Уже работаю в AutoCAD 2006, но нужна книжка чтобы знать все тонкости работы с 2D графикой. | Unt0nich | Поиск литературы, чертежей, моделей и прочих материалов | 17 | 06.05.2008 17:58 |