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

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

Помогите. Программа отображения каталогизированного списка блоков.

Ответ
Поиск в этой теме
Непрочитано 27.11.2009, 15:06 #1
Помогите. Программа отображения каталогизированного списка блоков.
--Илья--
 
Регистрация: 24.11.2009
Сообщений: 39

Здравствуйте, Уважаемые!

Обращаюсь за бескорыстной (ну или условно бескорыстной) помощью в реализации программы для автокада.

Суть в следующем.
Имеются многочисленные библиотеки блоков (статические), к которым необходимо иметь постоянный удобный доступ. Соответственно – требуется программа для отображения всех этих многочисленных библиотек и объектов в виде каталогизированного списка, с возможностью поиска и последующей вставкой в чертеж (форма на рисунке во вложениях)
Программа может храниться непосредственно в файле чертежа, может быть в виде подгружаемой программы (.dvb) или связана с автокадом посредством СОМ сервера – не принципиально.

Все данные программа получает из таблицы базы данных.
В таблице базы прописаны следующие параметры:
•имя объекта;
•модель;
•производитель
•технические характеристики
- газовая мощность,
- электрическая мощность,
- напряжение,
- длина
- ширина
- высота
•описание;
•ссылка на картинку;
•ссылка на блок или команда лисп команды для вставки блока
А также, в четырех полях - структурное расположение элементов (соответственно: структура каталога имеет максимально 4 уровня вложенности).

В приложении – форма, пример библиотеки блоков, пример таблицы базы данных.

Понимаю, что программы подобного рода уже давно в том или ином виде реализованы в продуктах типа AutoCAD Architecture, СПДС и других подобных, большинство листингов для создания меню с использованием XML (что, по моему мнению, не очень удобно) изложено в книгах Полещука ’САПР на базе Автокад’, но отсутствие у меня знаний о программировании, тем более создании приложений, и жесткая ограниченность во времени (ведь перечитывать тонну литературы, изучать программные продукты и только потом пытаться сделать что-либо - требует огромного количества времени) вынуждают обратиться к Вам.

Жду помощи (в любой ее форме), советов, рекомендаций и других вариантов решения задачи.

Миниатюры
Нажмите на изображение для увеличения
Название: FormaImg.jpg
Просмотров: 184
Размер:	17.2 Кб
ID:	29717  

Вложения
Тип файла: rar FORMA.rar (493.1 Кб, 146 просмотров)

Просмотров: 5877
 
Непрочитано 27.11.2009, 18:52
#2
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,091


А чем плохи XML-меню из ’САПР на базе Автокад’? Готовое ведь решение! Только подключить к современным версиям Акада придется вручную.
Заполнить "базы", и все путем! Для этого на диске, прилагаемом к книге, даже редактор XML есть.
kp+ вне форума  
 
Автор темы   Непрочитано 28.11.2009, 00:19
#3
--Илья--


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


1 Сам же и ответил на свой вопрос - задача 'подключить вручную', не обладая никакими навыками программирования, представляется мне не очень реальной )
2 база на начальном этапе будет составлять около 10 тыс объектов... Не очень удобно создавать xml, в том виде, который предлагается в книге, вручную или даже по-позиционно в специальной программе.

В лучшем случае, если уж и использовать xml, то мне это видеться несколько иначе: в xml прописывается структура каталогов, а в атрибутах значений элементов прописывается ссылка на требуемый массив данных, который будет храниться и запрашиваться из таблицы.

В общем-то, я неверно поставил вопрос.
Исправляюсь - за сколько кто-либо может взяться за реализацию подобной программы?
--Илья-- вне форума  
 
Непрочитано 28.11.2009, 17:08
#4
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,091


Все написано до нас!
Для запуска ru_regsvr.bat из состава RU_CAD особых навыков программирования не надо. Для подгрузки компонентов в Акад - тоже.
Надо только разобраться с настройками (но тоже без программирования).
Обратись к авторам RU_CAD, они есть на форуме, наверно, получиться договориться
kp+ вне форума  
 
Непрочитано 28.11.2009, 21:37
#5
ShaggyDoc

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


Илья, если по-твоему что-то неудобно, то сделай по-своему. Но у тебя же времени ни на что нет. А у кого оно есть? Ты хочешь, чтобы кто-то "условно бескорыстно" примерно год ковырялся с твоими смутными идеями? Именно год, потому как дальше они будут всё развиваться, заходить в тупик, возвращаться.

А самостоятельно ты можешь сделать это даже без всякого программирования. Хочешь держать в базе данных - используй MS Access. Там безо всякого программирования можно любые формы и отчеты делать.

А можно и вообще без баз данных и с помощью программы, которая есть на каждом компьютере - это банальнейший Проводник, который умеет отображать любые файлы и которым также можно управлять.

Да и другие способы есть, только работать придется, так как к "условно-бескорыстно" за $5000 ты же не готов?
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 28.11.2009, 23:00
#6
--Илья--


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


Во-первых - у меня абсолютно не смутны, а очень даже четкие цели и идеи.
Во-вторых - при чем тут Access, когда я говорю про программу для КАДА? С базой данных у меня проблем нет.
В-третьих - можно вообще чертить и без автокада, например в ворде, почему бы нет - там же можно это делать...
И последнее - я адекватно смотрю на мир, чего каждому желаю - 5000$ создание этой незамысловатой программки стоить просто не может. Хотя в условиях нашей экономики любой человек и в праве запросить за свои услуги любую сумму, но в этом случае как говориться - ищите дурачка )))

ЗЫ: не стоит так драматизировать и раздувать из мухи птичку... )
--Илья-- вне форума  
 
Непрочитано 29.11.2009, 23:00
#7
Кулик Алексей aka kpblc
Moderator

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


Программа может быть хоть для чего А работа с БД - это часть этой программы. БД может быть хоть в чем (теоретически): хоть в MS Access, хоть в MS SQL Server (возможно, Desktop Edition), хоть в Firebird, хоть в xml или ini-файлах.
Задача: выбрать "движок" базы; разработать интерфейс для работы с этой БД; разработать инсталлятор; а дальше уже внутри AutoCAD жить, работать и думать. Много думать
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 30.11.2009, 06:19
#8
ShaggyDoc

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


Цитата:
С базой данных у меня проблем нет
"...Английский мы знаем..." (С) Джентльмены удачи
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 30.11.2009, 10:14
#9
--Илья--


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


Цитата:
Сообщение от ShaggyDoc Посмотреть сообщение
"...Английский мы знаем..." (С) Джентльмены удачи
"Величие великого человека обнаруживается в том, как он обращается с маленькими людьми" (С) Т. Карлейль


Кулик Алексей, база данных простейшая - в MS Access; инсталлятор для этой программы не требуется, так как использоваться она будет исключительно в личных целях, а не коммерческих; а вот как раз в разработке интерфейса и заключается вся проблема )
--Илья-- вне форума  
 
Непрочитано 01.12.2009, 01:35
#10
Кулик Алексей aka kpblc
Moderator

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


Так у тебя интерфейс-то уже (точнее, GUI) сделан Осталось найти нечто типа TreeView, подключить его в левую часть, справа - расположить аналог окна Picture (если говорить о VB), внизу - автоматом заполнение соответствующих полей (хотя я бы задумался о применении аналога TrueDBGrid). Все оформить как СОМ-сервер и вызывать его из-под AutoCAD'овского лиспа или VBA-проекта...
В качестве параметров вызова СОМ-сервера использовать путь к БД; результатом возвращать имя таблицы (если оно надо) и ID записи. Кода будет достаточно много.
Второй вариант - использовать уже dcl, в котором все и прописывать. Но этот вариант я не прорабатывал вообще ни разу. Хотя (по ощущениям) dcl-диалог наверняка будет обладать большей скоростью обработки и вызова, вдобавок вряд ли будет вызывать утечки памяти. Лисп-решения для обращения через ADO к любым БД уже есть, и достаточно давно. То есть тут вообще ничего практически выдумывать не придется, знай только комбинируй.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 01.12.2009, 10:22
#11
--Илья--


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


Во-первых, Спасибо, Алексей, за хороший ответ

В том то и суть - все функциональные решения, которые планируется использовать для этой программы существуют и используются. И, я уверен, люди, которые разрабатывают собственные программы для када, отлично их знают. То есть - никаких новшеств по сути создавать не требуется. Но в силу своих умеренных возможностей сам я эти программные коды написать/извлечь из существующих программ не могу, поэтому и обратился за помощью.

Возникает несколько вопросов:
1 Зачем использовать аналоги TrueDBGrid и вообще сторонние продукты, если в автокаде есть собственная поддержка подключения к базам данных - не проще ли использовать ее для создания таких решений?..

2 Интересно адекватное мнение - сколько реально может стоить оживление заданной мной формы (написание этой программы)?

3 Где еще можно поискать человека, который возьмется за это?
--Илья-- вне форума  
 
Непрочитано 01.12.2009, 12:39
#12
Дима_

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


Цитата:
Сообщение от --Илья-- Посмотреть сообщение
.....
Возникает несколько вопросов:
1 Зачем использовать аналоги TrueDBGrid и вообще сторонние продукты, если в автокаде есть собственная поддержка подключения к базам данных - не проще ли использовать ее для создания таких решений?..

2 Интересно адекватное мнение - сколько реально может стоить оживление заданной мной формы (написание этой программы)?

3 Где еще можно поискать человека, который возьмется за это?
1. Она есть только для пользователя, на программном уровне - нет, тем не менее т.к. есть возможность вызыва ActiveX - это не проблема (ADO).
2. За сколько договоришся - здесь и поболее программы писали "от скуки" - безвозмездно - видимо просто совсем никому не интересно, каждый оценивает свое время как ему заблагоросудится - вот ShaggyDoc, например оценил. Я даже браться не буду - т.к. DCL (встроенное средство создания диалогов в автокаде) весьма ограничен, а создавать com сервер (для вызова диалогов) из-за такой извиняюсь хрени, да еще и согласовать как это все запускаться будет...
3. Для начала в раздел "Поиск исполнителей" , не много людей на просторе рунета можно найти "в теме", но не бывающих здесь. Причина мне кажеться в неудобности проекта с точки зрения автокада - гемороя много, толку мало - да и ни кому кроме тебя пока нужным не показалось.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 01.12.2009, 13:09
#13
--Илья--


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


1 Ясно
2 Я и не говорю что это должна быть прога с com-сервером - это может быть хоть макрос с данной формой.... или я чего-то конкретно не понимаю в этой жизни...
3 За раздел отдельное спасибо - не видел такого сразу )
Я всю эту прогу представляю так:
-функция для отображения каталогизированного списка
- функция запроса и отображения в форме данных по выбору значения из списка
- функция поиска требуемого значения
- функция вставки блока из библиотеки
Вот и вся программа - в чем геморройность?
--Илья-- вне форума  
 
Непрочитано 01.12.2009, 14:17
#14
Дима_

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


Нету в автокаде макросов с формами. Немножко не под это он заточен (как например, нету в acсess метода для расчета объема произвольного 3д тела), сделать можно - но либо "простенькие", либо с гемороем (com сервер например), все остальное (запрос к БД и вставка блока - 2 минуты времени - поиск и прочая хрень реализуется через генерацию "правильного" sql запроса - все-таки в базе данных хранится).
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 01.12.2009, 15:32
#15
Сергей Дубина


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


Насколько я понял есть блоки и есть база данных.
А база данных и блоки соответствуют друг другу? Те БД получена из атрибутов? Если это так то в принципе можно реализовать следующее решение дёшево и сердито:
Центр управления в целом похож на то что вы хотите. Там есть и дерево и предпросмотр. Останется написать небольшую утилиту которая перегонит доп. информацию в дескрипшн центра управления по парам параметр - значение.
__________________
КазнитьØнельзяØпомиловать:eek:
Сергей Дубина вне форума  
 
Автор темы   Непрочитано 01.12.2009, 15:53
#16
--Илья--


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


Есть База данных и Библиотека блоков. Блоки создаются на основе Базы данных, т.е. имена в базе данных соответствуют именам блоков.

У каждого блока есть аттрибут - но это несколько для других целей (хотя если их можно использовать и для этих - то почему бы и нет)

Про центр управления - идея хорошая... только тогда еще надо из него убрать лишние функции - просмотра типов линий, размерных стилей и т.д., чтобы при просмотре отображались только блоки.
Еще изначально я планировал использовать Палитру, но в ней нет функции поиска (
--Илья-- вне форума  
 
Непрочитано 01.12.2009, 16:28
#17
чеснок


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


Актуальная тема!

Хотелось бы универсальное решение. Чтоб легко и удобно. Оп-ля!

Есть стандартные акадовские решения для этого: палитры, дизай центр; но маленько не дотягивают; а уж с базой их соединить, если и можно то, только программно.

Представляется такая вкуснотища, да еще интернет сервис прикрутить (из соседней темы).
А вот сделать, пока слабо.
чеснок вне форума  
 
Непрочитано 01.12.2009, 23:45
#18
Кулик Алексей aka kpblc
Moderator

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


Цитата:
Сообщение от --Илья-- Посмотреть сообщение
<...>1 Зачем использовать аналоги TrueDBGrid и вообще сторонние продукты, если в автокаде есть собственная поддержка подключения к базам данных - не проще ли использовать ее для создания таких решений?..<...>
Потому, что доступ к БД и отображение этого доступа - все же разные задачи. TrueDBGrid (в отличии от стандартных средств MS: DataGrid и DataGridEx - кажется, так) намного удобнее по программной работе. Это ocx, который "встраивается" в форму, написанную на полноценном языке и позволяет достаточно удобно работать с табличными данными. По крайней мере лично мне оно понравилось в свое время значительно больше, чем штатные средства
Цитата:
Сообщение от --Илья-- Посмотреть сообщение
2 Интересно адекватное мнение - сколько реально может стоить оживление заданной мной формы (написание этой программы)?
Тут я пас. Вопрос возникает в структуре БД и методах вызова этой формы (да и не только в этом, если честно).
Цитата:
Сообщение от --Илья-- Посмотреть сообщение
3 Где еще можно поискать человека, который возьмется за это?
Ну, можно в разделе "Поиск исполнителей", наверное...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 02.12.2009, 11:25
#19
Anelya


 
Регистрация: 01.12.2009
Сообщений: 22
<phrase 1=


---

Последний раз редактировалось Anelya, 10.08.2010 в 12:02. Причина: решено
Anelya вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Помогите. Программа отображения каталогизированного списка блоков.

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Внедрение блоков в чертеж без отображения eugen81 AutoCAD 11 14.03.2010 18:48
Помогите! Проблема с разбиением блоков. SkiFF AutoCAD 6 23.09.2008 09:04
помогите, 2+2=5, простая программа а не работает butlug Программирование 7 13.12.2007 16:48
Помогите с привязкой блоков!!! Unreal_2007 AutoCAD 7 21.11.2007 06:50
Фундамент с динамическими нагрузками в Scad Tlelaxu SCAD 9 31.08.2007 10:44