VetCAD

Фланец. Рисуется визуально.

    0 оценок

mmax

размещено: 31 Августа 2006
обновлено: 24 Декабря 2006
Визуально рисует деталь типа «фланец», равномерно располагает окружности по окружности или дуге

головная функция (flanec-draw строка строка)

Аргументы как для функции vl-registry-write, а точнее для нее и есть
1 аргумент раздел реестра
2 аргумент параметр
В реестре хранится максимальное значение количества окружностей
Если указанные пользователем ветви реестра отсутствуют, то будут созданы со значением 50, если присутствуют то используются имеющиеся. Далее значение может быть отредактировано и сохранено из программы. По завершении работы программы значения реестра не удаляются и используются при повторном вызове. Рекомендуется "HKEY_CURRENT_USER\"

При отрисовке по сектору:
Ввести значение угла с клавиатуры или получить указанием точек
Угол высчитывается от первой до второй стороны по направлению указанном в переменной ANGDIR. Первая окружность будет лежать на одной линии с первой стороной угла, согласно радиуса расположения, последняя соответственно на второй стороне угла.

Работа в АВТОКАД ниже 2006 не гарантируется, в связи с использованием динамического ввода, а точнее его отключения. Если раньше достаточно было сделать CMDECHO=0, то сейчас надо еще и DYNPROMPT=0. И в предыдущих версиях функция SETVAR обязательно выдаст ошибку.


31.08.2006 программа переработана. Исправлены некоторые неудобства с вводом угла сектора.

Это простая программа для рисования произвольного набора окружностей по окружности с произвольными размерами + осевые направленные к центру фланца. Никаких стандартов не предусмотрено. Очень хорошо подходит для векторизации(обрисовки), для этого впринципе и делалась.

Для тех у кого плохо с загрузкой и запуском:
Создаете текстовый файл с расширением .lsp и пишете в нем такой текст

(defun c:flanec ()
(flanec-circle-draw-visual-samocad "HKEY_CURRENT_USER\\SOFTWARE\\MaksCAD Soft\\SamoCAD\\AppDraw\\FlanecSamoCAD" "kolvovalue")
(princ)
)
Помещаете этот файл и файл скачанный отсюда в директорию установки Автокада. И в командной строке пишете:
(load "*ваш созданный файл.lsp")
(load "скачанный отсюда файл.vlx")
теперь у вас есть команда FLANEC
Фланец. Рисуется визуально.1
Фланец. Рисуется визуально.2

Комментарии

Комментарии могут оставлять только зарегистрированные участники
Авторизоваться
Комментарии 1-10 из 11
Дмитрий Факс , 28 августа 2006 в 03:54
#1
Как ей пользоваться и куда ее поставить?
semvb , 28 августа 2006 в 08:46
#2
ACAD 2006- Команда: flanec
Unknown command "FLANEC", если конечно команда для запуска "flanec".
mmax , 28 августа 2006 в 18:26
#3
поставить можно куда угодно и загрузить этот файл из командной строки или другими средствами.

Ввиду того, что для хранения данных о количестве отверстий я решил использовать реестр, так как пользователю предлагается выбрать количество из падающего списка в диалоговом окне и редактировать самому количество элементов в списке, то будет негуманно прописывать ветку реестра внутри программы такую какую я захочу и я решил предоставить пользователю самому выбрать нужный раздел, что делает программу более гибкой при загрузке у сторонних пользователей.
Как и ветку реестра так и команду пользователь должен определить сам вот один из примеров:
(defun c:flanec ()
(flanec-draw "HKEY_CURRENT_USER\SOFTWARE\MaxCAD Soft\SamoCAD\AppVisualDraw\Flanec" "kolichestvo_otverstiy")
(princ)
)
mmax , 28 августа 2006 в 19:23
#4
Сам только заметил, что данная прорамма может работать только в мировой системе координат. Попозже переделаю.
mmax , 29 августа 2006 в 00:10
#5
Все ошибки исправлены.
Всм удачного использования
semvb , 29 августа 2006 в 11:45
#6
Все равно: Unknown command "FLANEC", если конечно команда для запуска "flanec".
mmax , 29 августа 2006 в 21:53
#7
-->>semvb
команда НЕ flanec, а
(flanec-draw "HKEY_CURRENT_USER\SOFTWARE\MaxCAD Soft\SamoCAD\AppVisualDraw\Flanec" "kolichestvo_otverstiy")
Скопируйте эту команду в командную строку и нажмите ввод.
Да пребудет вам счастя.
И не забудьте сообщить сюда о других ошибках и ситуациях их вызвавших.

вместо "HKEY_CURRENT_USER\SOFTWARE\MaxCAD Soft\SamoCAD\AppVisualDraw\Flanec" "kolichestvo_otverstiy"
Вы можете написать чего вам пожелается, единственное что здесь нельзя менять это "HKEY_CURRENT_USER\
косых палочек должно быть только по две вместе "\"
В "kolichestvo_otverstiy", если вы хотите здесь чегонибудь записать, косых палочек НЕ должно быть.
Так же в обеих строках не приветствуются символы типа точек, запятых, скобок итп.

И не забудьте закачать файл заново так как он сегодня обновился.
semvb , 30 августа 2006 в 09:44
#8
Все работает, но если честно, то быстрее нарисовать отверстие и выполнить команду "_array". Может следует добавить отрисовку диаметров фланца: наружний, внутренний и диаметр расположения отверстий (конечно по слоям, это удобно)
mmax , 31 августа 2006 в 00:25
#9
semvb
«Может следует добавить отрисовку диаметров фланца: наружний, внутренний и диаметр расположения отверстий»
Нарисовать окружности можно без проблем и самому, но вот не понял вопроса по диаметру размещения отверстий, я вроде предлагаю разместить отверстия по радиусу, так как по диаметру невозможна визуализация так как от центра проводят только радиусы.

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

_ARRAY это слишком универсально, как в магазине в котором все есть, но для того чтобы купить масла я должен выстоять очередь за молоком.
Я же решил сделать упрощенный вариант.
И основной упор сделан на визуализацию, попробуйте нарисовать _POLYGON с любым углом поворота и тогда по привязкам вы сможете без всяких усилий получить нужный результат хоть по окружности хоть по сектору, согласитесь, что по привязкам работать более удобней и быстрее.

Вся беда привычках и справочной системе, которой нету. Попробуйте всетаки разобраться более детально и вы поймете, что массив всетаки отдыхает.

И обратите внимание на сектор(я его ошибочно назвал сегментом). У меня получить и разместить сектор намного ПРОЩЩЕ и ВИЗУАЛЬНЕЙ чем у массива.


Об использовании угла сектора читайте в описании файла.

И незабывайте периодически заглядывать сюда за обновленной версией.
В данный момент пробую переделать операцию получения угла для сектора и при запросе радиуса размещения заменить крестики на окружность так как до операции угла поворота они жестко стоят на своих местах, что немного портит картину. А также попробую добавить вывод сообщений в динамическую строку, в данный момент динамическая строка отключается.
, 17 октября 2006 в 16:16
#10
Уважаемый mmax, а нельзя ли более подробно описать алгоритм установки проги, (для тех кто в танке).
У меня при запуске, на доли секунды вылетает панелька, и все.
zip

0.01 МБ

СКАЧАТЬ