|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
[Программа отрисовки распила + вопросы по bhatch и trim]
Programming, automation, CADs, GISs. "Теплоком"
Россия, Санкт-Петербург
Регистрация: 02.02.2007
Сообщений: 306
|
||
Просмотров: 5658
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,378
|
C ходу несколько предложений (уж прости, но подробно код смотреть не получается - некогда
![]() 1. Постарайся не использовать глобальные переменные без крайней на то нужды. Например, после выхода из app_func все ее переменные (fldname, fdesc, delay_tr, pv, ph и т.п.) останутся болтаться в памяти. А это может привести к немного непредсказуемым последствиям. 2. Системные переменные и работу с ними засовывай в обработчик ошибок. Один из вариантов такого обработчика болтается на http://www.arcada.com.ua/forum/viewtopic.php?t=445 3. Для программной штриховки можно попробовать ее просто создавать через entmake либо через vla-фукнции. Что одно, что другое - требует анализа точек вершин. 4. Строки Код:
5 Зачем использовать Код:
Код:
![]() 6. Вместо (command "_.trim") можно опять же попробовать получить точки пересечения примитивов (через vla-intersectwith, с опцией acextendnone), и по ним строить новые примитивы. --- Вообще-то странно - ты там такие навороты activex-ные используешь, и тут же (command). Обычно (command) используется когда уже совсем край, а создание примитивов лично я к таким задачам отнести не могу...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Programming, automation, CADs, GISs. "Теплоком" Регистрация: 02.02.2007
Россия, Санкт-Петербург
Сообщений: 306
|
Всем доброго времени суток.
Представляю первую рабочую версию программы. Отличается только тем, что добавлена проверка наличия пересечения вертикального диска (или его продолжения) с бревном. Для горизонтального это не требуется по условию (ниже/выше бревна он не опускается/не поднимается). kpblc, еще раз спасибо за рекомендации, пока, как видишь, учел только одну, остальные - потом. Очень уж не терпелось показать миру свое (!рабочее!) произведение. Краткие инструкции. Скачать архив, распаковать, открыть чертеж и выполнить команду cm. Буду рад отзывам и пожеланиям. [ATTACH]1171486195.rar[/ATTACH] З.Ы. Да, и чуть не забыл. Проверено в AutoCAD2004en и AutoCAD2006ru. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,378
|
Сразу, с наскоку, несколько моментов:
1. acaddoc.lsp использовать не рекомендую - у пользователя могут быть там прописаны свои вещи. ИМХО: лучше сделать собственную менюшку, и в mnl прописать замену acaddoc.lsp 2. Нет никакого встроенного readme. 3. inters.lsp - чего выполняет? Кроме того, там нет отслеживания отсутствия пересечения. 4. Насчет именования глобальных переменных. Раз уж от них отказаться не получается, я бы рекомендовал использовать такое: app_name -> заменить на *ax3-app-name* app_ver -> *ax3-app-ver* ну и так далее. К сожалению, полностью перерабатывать код я не могу.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |