Auto CAD

Комбинирование функций AutoLISP


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

Давайте возьмем элемент из программы поворота и копирования rc2,lsp и добавим его в программу ssect.lsp таким образом, чтобы символ можно было начертить под любым углом. Вы берете строки 4 и 5 из rc2.lsp и помещаете их так, чтобы получить угол поворота ПСК до начала вычисления координат точек, образующих два недостающих угла прямоугольника.

Прежде всего скопируйте функцию rtd и обе программы в новый файл — вы же не хотите разрушить программы, которые уже работают. Далее, добавьте пустые строки в программу C:SSECT и скопируйте туда ключевые строки функции С:rc, находящейся ниже. Удалите оставшуюся функцию C:RC, чтобы она не мешала работе вашей новой программы. Затем внесите еще несколько изменений, чтобы вы могли использовать новый угол для поворота ПСК. Если ваша программа изменяет значения системных, переменных, не забудьте восстановить их — см. раздел, посвященный поиску ошибок.

Показана команда в действии. Было бы замечательно, если бы пунктирный прямоугольник вращался вместе с ПСК, но на данном этапе я не хочу усложнять команду. Как вы можете видеть на 8.11, если применить программу для изображения двух символов, вы получите именно тот результат, которого ожидали.

Также вы можете решить, что у пользователя должна быть возможность нажать клавишу <Enter>, чтобы ввести значение угла поворота по умолчанию, равное 0. Хорошее замечание. В главе 9 я покажу, как создавать установки по умолчанию с помощью функции if.

Десять основных правил программирования на языке AutoLISP

Надеюсь, что после прочтения этой главы у вас появится интерес к созданию собственных программ на AutoLISP. Для этой главы я выбрал примеры, которые показывают, какую структуру имеют программы и как используется большинство полезных функций. Конечно, это далеко не все. В главе 9 содержатся важные дополнения, включая стратегии отладки ваших программ, технологии организации ловушек для ошибок, методы комментирования программ, а также примеры с более сложными функциями, включая if, while и COND.

Комментарии закрыты