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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как написать программу для AutoCAD 2009?, которая используя координаты хранящиеся в Access 2003 начертит трассу со свойством PLine и выбором слоя.

Как написать программу для AutoCAD 2009?, которая используя координаты хранящиеся в Access 2003 начертит трассу со свойством PLine и выбором слоя.

Ответ
Поиск в этой теме
Непрочитано 15.10.2010, 18:15 #1
Как написать программу для AutoCAD 2009?, которая используя координаты хранящиеся в Access 2003 начертит трассу со свойством PLine и выбором слоя.
rassom
 
Оросительные системы
 
Регистрация: 02.07.2010
Сообщений: 166

Привет всем. Я новичок в программировании и поэтому хотелось бы получить советы или помощь от опытных пользователей. Дело в том, что в проекте над которым я работаю, приходится нарисовать очень много линейных трасс и все это рутинно. Трассы нужно рисовать в полилайне и задать для нее слой с параметрами. Координаты всех трасс у меня находятся в таблицах Access 2003. Как и с чего надо начинать, на каком языке написать код, какую литературу нужно читать и т.д. Конечно, если можно, дать код и инструкции. Заранее благодарю за помощь.

С уважением, rassom
Просмотров: 11698
 
Непрочитано 15.10.2010, 18:29
#2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


выложи файл Access с примером
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 15.10.2010 в 21:43.
VVA вне форума  
 
Автор темы   Непрочитано 15.10.2010, 19:35
#3
rassom

Оросительные системы
 
Регистрация: 02.07.2010
Сообщений: 166


Цитата:
Сообщение от VVA Посмотреть сообщение
выложи файл Accsess с примером
Вот он файл Accsess, но Ваш вопрос на счет примера не понял. В общем таких вот таблиц в базе у меня будет очень много и по данным каждой из них нужно начертить в Автокаде отдельную трассу в полилайне и задать ей конкретный слой.
Что-то выложить файл не удается. Нажал на управление с вложениями и загрузил, но че-то файла не видно


С уважением, rassom

Последний раз редактировалось rassom, 15.10.2010 в 19:44. Причина: Забыл выложить файл
rassom вне форума  
 
Непрочитано 15.10.2010, 20:56
#4
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от rassom Посмотреть сообщение
Привет всем. Я новичок в программировании и поэтому хотелось бы получить советы или помощь от опытных пользователей. Дело в том, что в проекте над которым я работаю, приходится нарисовать очень много линейных трасс и все это рутинно. Трассы нужно рисовать в полилайне и задать для нее слой с параметрами. Координаты всех трасс у меня находятся в таблицах Access 2003. Как и с чего надо начинать, на каком языке написать код, какую литературу нужно читать и т.д. Конечно, если можно, дать код и инструкции. Заранее благодарю за помощь.

С уважением, rassom
Не изобретайте велосипед. Экспортируйте данные в MS Excel (надеюсь, что раз вы работаете в MS Access, то знаете что такое SQL и как этим пользоваться) и передайте их в эту программку (сначала видео до конца просмотрите, там второй задачей идёт как раз ваша) - она вам вычертит 3D полилинию и пронумерует вершины. При этот в виде гиперссылок сохранится связь с источником данных.
Цитата:
Координаты всех трасс у меня находятся в таблицах Access
а должны храниться в одной таблице.

Цитата:
Как написать программу...
Я новичок в программировании и поэтому...
Вообще пишут, как правило ручками (если не учитывать генераторы кода). Прежде чем сесть за кодинг, неплохо было бы прежде определиться с языком программирования (C++/.Net/Lisp/VBA) и предварительно с ним познакомиться (хотя бы в общих чертах). Полагаю, вам подойдёт Lisp, ибо на более серьёзное нужно более серьёзное время для освоения материала.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 15.10.2010 в 21:02.
hwd вне форума  
 
Непрочитано 15.10.2010, 21:29
#5
Дима_

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


Цитата:
Сообщение от hwd Посмотреть сообщение
Полагаю, вам подойдёт Lisp, ибо на более серьёзное ...
из этого я пологаю, что лисп это что-то не серьезное?
Цитата:
Сообщение от hwd Посмотреть сообщение
Не изобретайте велосипед. Экспортируйте данные в MS Excel ...
получить полилинию по координатам из access на "несерьезном" лиспе дело 30 минут.
Автору - выложи формат бд.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 15.10.2010, 21:39
#6
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Дима_ Посмотреть сообщение
из этого я пологаю, что лисп это что-то не серьезное?
ты прекрасно понял, в каком контексте это было сказано, не стоит провацировать холивар.

Цитата:
Сообщение от Дима_ Посмотреть сообщение
получить полилинию по координатам из access на "несерьезном" лиспе дело 30 минут.
и что? есть желание? пиши
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 15.10.2010, 21:54
#7
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Цитата:
Сообщение от rassom Посмотреть сообщение
Что-то выложить файл не удается. Нажал на управление с вложениями и загрузил, но че-то файла не видно
Посмотри внимательно на разрешенные форматы и размеры. mdb там нет. отсюда вывод - или упаковывай в rar или zip или выкладывай на файлообменник и сюда ссылку. hwd прав, координаты всех трасс должны находится в одной таблице.
Для работы с БД из lisp сущесвует библиотека ADOLISP Database Library
Осталось правильно составить SQL запрос.
Здесь на форуме уже обсуждались похожие проблемы. Нелохо бы с этим ознакомится так же для начала.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 15.10.2010, 21:57
#8
Дима_

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


Цитата:
Сообщение от hwd Посмотреть сообщение
ты прекрасно понял, в каком контексте это было сказано, не стоит провацировать холивар.


и что? есть желание? пиши
автор выложит структуру бд (по сути мне нужен только sql запрос который возращает XY(Z) координаты по порядку полилиниии) все остальное стандартное решение (по барабану - хоть в экселе, хоть в acsess, хоть в mysql - odbc все поддерживают).
по первому пункту - ну пошутил
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 15.10.2010, 22:03
#9
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Дима_ Посмотреть сообщение
(по сути мне нужен только sql запрос который возращает XY(Z) координаты по порядку полилиниии) все остальное стандартное решение (по барабану - хоть в экселе, хоть в acsess, хоть в mysql - odbc все поддерживают).
Это на любом языке "по барабану", не только на лиспе, поскольку алгоритм прост и очевиден. Но лично мне влом писать, хотя и не сложно - поэтому и рекомендовал воспользоваться уже готовым вариантом.
Цитата:
Сообщение от VVA
hwd прав...
да неужели? в кои-то веки...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 15.10.2010 в 22:12.
hwd вне форума  
 
Непрочитано 15.10.2010, 22:36
#10
ShaggyDoc

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


Цитата:
Сообщение от rassom Посмотреть сообщение
Как и с чего надо начинать, на каком языке написать код, какую литературу нужно читать и т.д.
Начинать надо с правильного проектирования базы данных - структур таблиц, сввязей между ними и прочим.

Хранить координаты (каждая вершина это список из двых или трех точек) в таблицах БД Acces можно двумя основными способами:

1. В какой-то таблице создается MEMO-поле (можно текстовое) и в этом поле хранится список координат в каком-то формате. Другие поля - по разумению, можно и атрибутивную информацию держать. Это очень простое решение - можно вообще одной таблицей обойтись.

Если эта база предназначена только для вычерчивания в AutoCAD, то список можно сделать прямо в виде LISP-списка, который потом можно прочитать и нарисовать линии. Если БД "общего назначения", надо сделать что-то универсальное, используя разделители чисел и точек.

2. Создается специальная таблица с ключевым полем и полями типа X, Y, Z числового типа. В этой таблице находятся координаты всех линий, атрибутивная информация находится в другой таблице и осуществляется связь по ключевым полям.

Здесь уже надо заботиться о целостности данных, да и выборку из такой БД сложнее делать.

Интересный вопрос - как координаты будут попадать в БД? Хорошо еще если есть какие-то источники их поступления.

Извлечение данных из БД делается достаточно просто, через SQL-запрос. Изучать надо SQL, технологию ADO и собственно AutoCAD - если уж чертить в нем. Разумеется всяким мудрым советам по поводу Excel не стоит следовать - это "чтоб мужика запутать и не дать ему дохтуром стать".

И конечно же есть другие системы (не AutoCAD), где хранение координат и информации в БД реализовано изначально, в том числе и рисование.
ShaggyDoc вне форума  
 
Непрочитано 15.10.2010, 22:40
#11
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
это "чтоб мужика запутать и не дать ему дохтуром стать"
я надеюсь, что вам полегчало
вообще-то я показал вариант, который уже можно использовать без кодинга и рассусоливаниях о том, что нужно изучать.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 16.10.2010, 00:13
#12
Дима_

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


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Здесь уже надо заботиться о целостности данных, да и выборку из такой БД сложнее делать.
От себя хочу добавить - что если "по хорошему" - то только вторым способом, ибо в конечном итоге с первым гемора будет больше и закончится он только (гемор) при переходе ко второму.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 16.10.2010, 07:10
#13
ShaggyDoc

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


Цитата:
Сообщение от Дима_ Посмотреть сообщение
От себя хочу добавить - что если "по хорошему" - то только вторым способом, ибо в конечном итоге с первым гемора будет больше и закончится он только (гемор) при переходе ко второму.
В общем-то да. По теории - оно так. Но все зависит от характера дополнительной атрибутивной информации, необходимости многочисленных связей из разных таблиц и от многого другого. Т.е. надо правильно проектировать базу данных.

И самый лучший способ - когда об этом и не надо задумываться. Такое реализовано уже в нескольких СУБД. Координаты объектов хранятся в отдельных таблицах, семантические данные - во многих других, и они только ссылаются на "пространственные" данные. Пользователю или прикладному программисту вообще ничего не надо об этом знать - он создает, например, дополнительные таблицы с семантикой, а пространственные данные где-то сохраняются "сами".

И еще один важнейший вопрос - как отобрать необходимые данные, например для рисования хоть в Автокаде. Т.е. для составления самого SQL-запроса. Здесь без визуальной части работы с БД никак не обойтись. Причем желательно чтобы просмотр семантики сопровождался и просмотром геометрии.

Как работает SQL можно прямо на примере форума увидеть. У форума есть БД. В ней десятки таблиц. В них находятся, наверное, уже несколько миллионов записей. Зайдя на форум и щелкнув "Новые сообщения" я посылаю "запрос" search.php?do=getnew (это видно в адресной строке). На этот запрос каждый посетитель получит свои данные. Выбрав конкретную тему мы посылаем "запрос" наподобие showthread.php?t=58427. Конечно, посетитель запросы не набирает, это делает программа - движок форума. Запрос из адресной строки она преобразует в настоящий SQL-запрос, посылает его к серверу БД, а тот возвращает результат в виде, например, сборника текстов сообщений по теме. Этот результат еще преобразуется в HTML-код, чтобы показать нам, бродягам в браузере.

Вот примерно такое же и надо делать с любыми БД. Только отображение по-разному надо решать.
ShaggyDoc вне форума  
 
Непрочитано 16.10.2010, 21:09
#14
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Координаты объектов хранятся в отдельных таблицах, семантические данные - во многих других, и они только ссылаются на "пространственные" данные. Пользователю или прикладному программисту вообще ничего не надо об этом знать - он создает, например, дополнительные таблицы с семантикой, а пространственные данные где-то сохраняются "сами".

И еще один важнейший вопрос - как отобрать необходимые данные, например для рисования хоть в Автокаде. Т.е. для составления самого SQL-запроса. Здесь без визуальной части работы с БД никак не обойтись. Причем желательно чтобы просмотр семантики сопровождался и просмотром геометрии.

Как работает SQL можно прямо на примере форума увидеть. У форума есть БД. В ней десятки таблиц. В них находятся, наверное, уже несколько миллионов записей. Зайдя на форум и щелкнув "Новые сообщения" я посылаю "запрос" search.php?do=getnew (это видно в адресной строке). На этот запрос каждый посетитель получит свои данные. Выбрав конкретную тему мы посылаем "запрос" наподобие showthread.php?t=58427. Конечно, посетитель запросы не набирает, это делает программа - движок форума. Запрос из адресной строки она преобразует в настоящий SQL-запрос, посылает его к серверу БД, а тот возвращает результат в виде, например, сборника текстов сообщений по теме. Этот результат еще преобразуется в HTML-код, чтобы показать нам, бродягам в браузере.

Вот примерно такое же и надо делать с любыми БД. Только отображение по-разному надо решать.
это "чтоб мужика запутать и не дать ему дохтуром стать"(c) - я верно цитирую?
Особенно понравилось плавное переползание на тему SQL-запросов к форумам. Это автору так нужно было, что он наверное прямо чесался без этой информации, а получив её прозрел. Если уж советовать, то книжки, ибо подобные "умные" примеры ясности ему не сильно внесут (имхо).
По теме топика - тынц.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 20.10.2010, 16:37
#15
rassom

Оросительные системы
 
Регистрация: 02.07.2010
Сообщений: 166


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
Начинать надо с правильного проектирования базы данных - структур таблиц, сввязей между ними и прочим.

Хранить координаты (каждая вершина это список из двых или трех точек) в таблицах БД Acces можно двумя основными способами:

1. В какой-то таблице создается MEMO-поле (можно текстовое) и в этом поле хранится список координат в каком-то формате. Другие поля - по разумению, можно и атрибутивную информацию держать. Это очень простое решение - можно вообще одной таблицей обойтись.

Если эта база предназначена только для вычерчивания в AutoCAD, то список можно сделать прямо в виде LISP-списка, который потом можно прочитать и нарисовать линии. Если БД "общего назначения", надо сделать что-то универсальное, используя разделители чисел и точек.

2. Создается специальная таблица с ключевым полем и полями типа X, Y, Z числового типа. В этой таблице находятся координаты всех линий, атрибутивная информация находится в другой таблице и осуществляется связь по ключевым полям.

Здесь уже надо заботиться о целостности данных, да и выборку из такой БД сложнее делать.

Интересный вопрос - как координаты будут попадать в БД? Хорошо еще если есть какие-то источники их поступления.

Извлечение данных из БД делается достаточно просто, через SQL-запрос. Изучать надо SQL, технологию ADO и собственно AutoCAD - если уж чертить в нем. Разумеется всяким мудрым советам по поводу Excel не стоит следовать - это "чтоб мужика запутать и не дать ему дохтуром стать".

И конечно же есть другие системы (не AutoCAD), где хранение координат и информации в БД реализовано изначально, в том числе и рисование.
Спасибо всем за советы. Вот на счет SQL , ADO технологии и решение визуальной части задачи, какие книги нужно читать. На счет выбора языка, мне хотелось бы изучать LISP и VB.NET Да еще, у меня сейчас на компьютере есть программа Visual Studio 2010 Proffessional Вот такая исходная позиция. Хочу изучать только программирование для Автокад.
Заранее благодарю всех за новые ответы.
rassom вне форума  
 
Непрочитано 20.10.2010, 16:47
#16
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


>rassom
Видео смотрел? Похоже на то, что искал (по теме топика)?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 20.10.2010, 16:59
#17
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от rassom Посмотреть сообщение
у меня сейчас на компьютере есть программа Visual Studio 2010 Proffessional
Offtop: Случайно на нем оказалась?

Последний раз редактировалось Do$, 21.10.2010 в 08:24. Причина: Исправил последствия бага инструмента цитирования сообщений.
Do$ вне форума  
 
Непрочитано 20.10.2010, 17:19
#18
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Do$ Посмотреть сообщение
Цитата:
Сообщение от hwd
у меня сейчас на компьютере есть программа Visual Studio 2010 Proffessional
Offtop: Случайно на нем оказалась?
ты автором цитаты не того указал
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 21.10.2010, 08:25
#19
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,702
Отправить сообщение для Do$ с помощью Skype™


Offtop: Криво работает инструмент цитирования , исправил.
Do$ вне форума  
 
Непрочитано 21.10.2010, 09:05
#20
Сергей Дубина


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


Напугали мужика, что он с темы соскочил.
Для акцесса проще написать ВБА и повестить на кнопку. На входе процедуры строка запроса, в результате работы - черчение через объектную модель АвтоКАДа.
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как написать программу для AutoCAD 2009?, которая используя координаты хранящиеся в Access 2003 начертит трассу со свойством PLine и выбором слоя.

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Информация по идентификационным кодам программ в сетевых лицензиях Autodesk KSI AutoCAD 1 14.09.2009 15:59
Автозагрузка приложения до загрузки чертежа Ax3 Программирование 14 15.02.2008 23:29