Тема: Прога для черчения
Народ хочу поделится своими "успехами" на ВБА, это пока alpha версия... Очень жду вашей критики...
http://narod.ru/disk/5653187000/aCAD_mini_2.rar.html
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Прога для черчения
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Народ хочу поделится своими "успехами" на ВБА, это пока alpha версия... Очень жду вашей критики...
http://narod.ru/disk/5653187000/aCAD_mini_2.rar.html
Как программу корректно установить? Какие возможности? Хотя бы кратко.
Установка:
1. Распаковать архив в нужную папку
2. открыть файл "aCadMini3dRun.lsp"
и внем исправить все ссылки на файл aCadMini3d.dvb который находится в папке "BIN"
3. Ставим файл "aCadMini3dRun.lsp" в автозагрузку, или просто перетаскиваем его мышкой на окно автокада...
Возможности:
Прога предназначена для черчения 3d профилей
команды:
acLdBase - загрузить базу профиля
acLdPrf - выбрать сам профиль
acPrf - чертить профиль
acRpPrf - перечертить профиль
acCngPrf - изменить параметры профиля
Так же при перетаскивании за осевую линию, прога сама перечерчивает профиль...
1. Файлов aCadMini3dRun.lsp два: первый в корне, второй в папке "BIN". В каком пути поменять?
2. ...Ставим файл "aCadMini3dRun.lsp" в автозагрузку, или просто перетаскиваем его мышкой на окно автокада... Загрузил. Дальше что делать?
Пардон, любой из этих файлов(просто один из них лишний), а дальше алгоритм работы такой:
1. командой acLdBase, выбираешь в ней базу которая тебе нужна
2. acLdPrf выбираешь профиль из этой базы
3. acPrf чертишь профиля...
> Миха
Интересно, конечно. Но, интерфейс...с наскоку не возьмешь. Буду разбираться. Может еще кто подтянется.
Во-первых, программа нуждается в более подробной инструкции по использованию.
Без такой инструкции тестировать как-то бессмысленно. Во всяком случае, мне не удалось построить ни одного профиля...
Во-вторых. Действительно, имеют место проблемы с определением путей к файлам.
Мне пришлось прописать точный путь к ini-файлу в модуле класса tProf3d
Public Sub Create() bjGlobal.Create [b]("c:\ProgramFiles\PRF\main.ini")[/b]
В свете этого непонятно зачем в LISP-файле команд надо было многократно прописывать загрузку dvb-файла? Достаточно загрузить его один раз.
После этого вроде бы прога заработала, но я так и не понял, что и как надо вводить.
По моему опыту, лучше получать пути к файлам на LISP'е и затем передавать в VBA.
Например, с использованием функции getfiled.
В итоге - это еще не альфа-версия, это еще недостаточно отлаженная программа.
И последнее, после отладки и доработки уместнее выложить ее на ветке "Готовые программы", именно там проходят такие обсуждения.
Успехов.
Спасибо за критику, но это не готовая программа, все обсуждение я зателя с целью выяснить:
1. нужно ли что нибудь подобное вообще
2. выявить недостатки
Теперь по поводу вашиш предложений:
1.
Во-первых, программа нуждается в более подробной инструкции по использованию.
Без такой инструкции тестировать как-то бессмысленно. Во всяком случае, мне не удалось построить ни одного профиля...
я уже писал как пользоваться :
> Миха (2009-02-12 17:50:02)
Пардон, любой из этих файлов(просто один из них лишний), а дальше алгоритм работы такой:
1. командой acLdBase, выбираешь в ней базу которая тебе нужна
2. acLdPrf выбираешь профиль из этой базы
3. acPrf чертишь профиля...
Как пользоваться:
1. Распаковываем в любую папку
2. берем любой из файлов "aCadMini3dRun.lsp" и меняем в нем ссылки на aCadMini3d.dvb
3. запускаем исправленный файл "aCadMini3dRun.lsp" в автокаде(любым способом)
4. пользуемся:
Возможности:
Прога предназначена для черчения 3d профилей
команды:
acLdBase — загрузить базу профиля
acLdPrf — выбрать сам профиль
acPrf — чертить профиль
acRpPrf — перечертить профиль
acCngPrf — изменить параметры профиля
Так же при перетаскивании за осевую линию, прога сама перечерчивает профиль..
Последовательность такая:
1. командой acLdBase, выбираешь в ней базу которая тебе нужна
2. acLdPrf выбираешь профиль из этой базы
3. acPrf чертишь профиля...
После того как вручную загрузил
файл aCadMini3d.dvb и методом "тыка" получил профиль:
Выбран профиль (1) 40x40х2
Далее, в ответ на команду acPrf получил такое предложение на ввод:
Введите параметры профиля[L-черт. по линии/P-черт. через 2 точки/A-угол
проф./O-привязка(1-9)/X-dx/Y-dy]:"acm_PrfFrLnAndP"
Мне неясно, почему нет графической или табличной информации из которой можно выбирать нужный вариант, а также что и в какой форме надо вводить в качестве параметров профиля.
L - чертить профиль по линии (нужно выбрать линию, вдоль которой выдовится профиль)
P - указать начальную и конечную точку профиля, после чего он будет создан
a - угол вращения профиля вокруг собственной оси
0 - привязка (0-9) смещение профиля (по левому краю, по правому, по центру...)
x,y - смещение профиля в миллиметрах относительно центральной оси...
Для того что бы начертить профиль, достаточно либо указать линию, либо построить его по двум точкам...
1. нужно ли что нибудь подобное вообще
Для российских инженеров работающих по ГОСТ возможно и нужно. Но, IMHO путь этот тупиковый. В Европе, что ни фирма, то свои профили. С временем и в России также будет. К примеру, у меня имеется немалое количество образующих профилей по которым я выдавливаю нужный мне профиль в 3D. Программа твоя мне интересна в первую очередь эффективным способом модификации уже готовых профилей. И второе: код программы открытый- есть чему поучится. По поводу алгоритма редактирования может напишешь несколько слов. :)
1. В первую очередь хочу сказать, что программа эта пока еще альфа версия!
2. В папке "bases" есть файлик с именем "ПРОЧТИ.txt" там описан в кратце внутренний формат базы данных.
3. По поводу открытости кода, я специально выложил исходники, все модификации только приветствуются, просьба только одна, отишитесь на форум, потому как мне тоже интересны ваши идеи...
4. что именно тебе описать, принцип построения профиля, принцып работы программы, или назначение отдельных процедур? Задавай вопросы конкретно... (все опишу :) )
> Миха
Наконец удалось построить профиль. Выглядит эффектно. Насколько это практично, судить не берусь, возможно, найдет свое применение.
Лично у меня ситуация похожая на описанную Rust'ом, приходится работать с профилями из совершенно других стандартов.
По поводу диалога с Пользователем:
- крайне желательно дать ему возможность ВЫБИРАТЬ варианты профилей из готовой таблицы или icons, а не указывать номера. Получается, что он должен знать твои таблицы чуть ли не наизусть. Кстати, в дистрибутиве такой материал есть (файлы *.scv и *.bmp базы данных), почему я не вижу его на экране?
- имена команд длинноваты - либо их сократить, либо добавить сервис в виде своей панельки с кнопками
- порядок ввода опций команды несколько непривычен - в перечисление опций включено их краткое описание. Поэтому потребовалось дополнительное объяснение от автора.
- возможно, точнее было бы назвать программу: "Выдавливание профилей вдоль прямой".
3D-профили наводят на мысль о библиотеке блоков, например, динамических...
И еще раз обращаю твое внимание на неустойчивую работу по загрузке в AutoCAD главного файла программы.
1.
И еще раз обращаю твое внимание на неустойчивую работу по загрузке в AutoCAD главного файла программы.
Опешите по конкретней пожалуйста, что именно, при каких обстоятельствах...
2. По поводу интерфейса будет в ближайшее время, (просто это уже 3 вариант ядра программы)
Скорее всего консольных команд будет минимум (я собираюсь заменить
acLdBase, acLdPrf, acPrf, acCngPrf одним окошком)
> Миха
Прописал путь к файлу в командном LISP'e:
(defun c:acLdBase () (vl-vbaload [b]"C:\\Program Files\\RTF\\aCAD_mini_2\\bin\\aCadMini3d.dvb"[/b]) (vl-vbarun "acm_LoadBase")
загрузил его а AutoCAD, запустил команду: acLdBase
Получил ошибку (точнее сказать, регулярно получаю с этой прогой):
; error: Automation Error. Problem in loading DVB file
Может быть грешил бы на глюки своей машины, но у меня аналогичные Приложения работают. Конфигурация:
WindowsXR Professional
AutoCAD2008 English
Впрочем, это дела поправимые, будешь ставить на постоянную загрузку dvb-файл, или сделаешь нормальный инсталлятор.
Хуже другое - > LeonidSN (2009-02-13 20:33:02)
Вот эта конструкция работает через раз. Даже при том, что сначала просто положил ini-файл в корневую директорию, а затем вообще прописал путь конкретно.
Спасибо
1)
агрузил его а AutoCAD, запустил команду: acLdBase
Получил ошибку (точнее сказать, регулярно получаю с этой прогой):
; error: Automation Error. Problem in loading DVB file
Видимо потому, что вы редактировали файл программы, насколько я понимаю это означает то, что DVB file некоректен(т.е. содержит ошибки)
впрочем я могу ошибатся...
У меня эта ошибка выскакивала именно в таких случаях...
2. Вариант с прописыванием своих команд подробно не рассматривался, я сделал это для того чтобы можно было начать работу...
Если вы знаете другие варианты, я открыт для предложений (я буду рад)...
Прога готова, и выложена тут:
http://forum.dwg.ru/showthread.php?t=35586
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Прога для черчения
Форум работает на PunBB, при поддержке Informer Technologies, Inc