Тема: Как изменить стандартную программу Circle?

Команда Circle по умолчанию предлагает 3 варианта отрисовки круга: 3 точки, 2 точки, две касательные+радиус. Как добавить в этот выбор другие возможности? Например, отрисовку по 3-м касательным?

Re: Как изменить стандартную программу Circle?

Я так понял, что ты нашёл это в меню, а хочешь кнопку?

Все эти кнопки уже есть в Автокаде и описаны соответствующими макросами. Так что нужно просто вытащить их на панели с кнопками. Делается это соответственно в диалоговом окне команды _CUI.

Re: Как изменить стандартную программу Circle?

не совсем так. Мне не нужна кнопка с командой. Мне нужно, чтобы внутри стандартной команды Circle был выбор не из трех (3Р, 2Р, ttr), а из четырех возможностей (3Р, 2Р, ttr, ttt).

Re: Как изменить стандартную программу Circle?

Ну теоретически-то это можно. Надо написать свой лисп, который в точности имитирует команду _circle с добавлением ещё одного параметра. Можно даже и саму команду переопределить, чтоб вместо неё выполнялся данный лисп.

Но на мой взгляд проще просто ещё добавить одну кнопку с макросом:

^C^C_circle _3p _tan \_tan \_tan \


и всё, тем более, что есть такая стандартная. Просто в данном случае ИМХО цель вовсе не оправдывает средства.

Но если кто-нибудь (а таких в общем-то немало здесь) из спортивного интереса (для поддержания формы) захочет осуществить твою задумку - флаг в руки.

Re: Как изменить стандартную программу Circle?

ок! спасибо! я думал, что есть способ редактировать стандартные команды, предполагал, что это можно найти в .cui файлах. Жаль, что это невозможно.

Re: Как изменить стандартную программу Circle?

Максим Лучинин пишет:

я думал, что есть способ редактировать стандартные команды

Стандартные команды можно отменять при помощи Command: undefine и при помощи лиспа под прежним именем назначать нужные действия,
но все таки лучше стандартные команды не трогать, а определять новые типа -

(defun c:3p  () (command "._circle" "_3P" ))
(defun c:2p  () (command "._circle" "_2P" ))
(defun c:ttt () (command "._circle" "_3P" "_tan" pause "_tan" pause "_tan" pause))
(defun c:ttr () (command "._circle" "_ttr" ))