Перейти к содержанию

Рекомендуемые сообщения

Не реализована возможность ввода лисп-выражения в интерактивном режиме.

Например,

Спойлер

image.png.9d56718417bcbd0fbbd9d50b642ebb5c.png

приводит к результату

image.png.336c04d13d6eac6600d7fb44da220627.png

 

К сожалению, в нанокаде такой ввод невозможен (или я что-то не так делаю?)

Спойлер

image.png.0bd331e222a601410a7e67a8134cc4a6.png

выражение принимается в командной строке, обрабатывается, но соответствующий отрезок не появляется.

 

Такой метод ввода данных, конечно, не является широко распространенным.

Но иногда он очень удобен.

Например, если нужно ввести значение, которое представляет собой что-то типа 1/3 (при операции масштабирования).

Ввод 0.33 - слишком грубо, 0.33333333333333333... - слишком долго и опять же может быть грубо.

А вот (/ 1.0 3.0) - самое то!

Но в АС оно есть, а в NC - нет. :prostite:

 

PS. Хотя реализован прямой ввод 4*3. И это хорошо.

Только зачем проводить обработку лисп-выражения, но ничего не делать?

Кроме того, кроме арифметических выражений, для которых реализовано даже лучше, чем в АС, возможно применение и выражений типа (entlast - последний элемент) при ответе на приглашение выбрать объекты, например, для удаления.
 

Изменено пользователем EdwardSt
Ссылка на сообщение
Поделиться на другие сайты

В nanoCAD-е подобные вычисления произвести куда проще:

 

Команда: L
L,LINE,ЛИНИЯ,ОТ,ОТРЕЗОК - Отрезок

 

Первая точка: 200,200+5
Следующая точка: @300,300-10

 

Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, ISL сказал:

Команда: L
L,LINE,ЛИНИЯ,ОТ,ОТРЕЗОК - Отрезок

С отрезком все ясно (и с арифметическими операциями тоже).

В принципе способов очень много. Динамический ввод опять же!

Но лисп-выражение может быть любым, не только числового типа.

Ссылка на сообщение
Поделиться на другие сайты

Лисп-выражение можно написать и сохранить в редакторе скриптов, вычислить, скопировать результат и вставить далее в нужный момент

 

добавлено через 0 минут

причем многократно

Ссылка на сообщение
Поделиться на другие сайты

Поясню на примере

Спойлер

image.png.3bdfb79a7e0ebe0954f8e10aa0dfb632.png

На приглашение указать объекты для удаления введено лисповское выражение.

Значение выражение вычисляется.

Но дальше оно игнорируется и диалог выбора объектов возобновляется до отмены команды.

Элемент остался в чертеже.

 

Аналогичный эксперимент в АС

Спойлер

image.png.5ca97ebdd67b2231198b2f871664c50a.png

АС благополучно вычислил выражение (как и NC), удалил элемент  (не как NC, но как хотел пользователь) и продолжил диалог до отмены.

 

 

1 час назад, lidia.antipina.ru сказал:

Лисп-выражение можно написать и сохранить в редакторе скриптов, вычислить, скопировать результат и вставить далее в нужный момент

 

добавлено через 0 минут

причем многократно

У меня следующие вопросы:

1. Что в моем примере нужно было сохранять в редакторе скриптов? выражение (entlast)?

2. Какой результат я должен скопировать?

    Строку типа #<Имя примитива: 000001E449057200>?   Это результат корректной операции типа 'ENAME

    Брррр, увольте

3. Куда такой результат можно вставить?

    Строго говоря, выражение может быть сколь угодно сложным, в том числе вызов некоей функции.

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

    В отличие от конкурента

 

Я уже отмечал выше, что возможность ответа лисповским выражением не является широко распространенным способом.

Но я иногда им пользовался и сожалею, что теперь такой возможности нет.

 

 

Изменено пользователем EdwardSt
Ссылка на сообщение
Поделиться на другие сайты

(entlast) не зачем вводить, для этого есть  _L-последний:

Выберите объект или [?]: ? Выберите опцию или [Рамка/Последний/Секрамка/БОКС/Все/Линия/РМн-угол/СМн-угол/Группа/Добавить/Исключить/Текущий/Авто]: 

Ссылка на сообщение
Поделиться на другие сайты
29 минут назад, lidia.antipina.ru сказал:

(entlast) не зачем вводить,

Ну очевидно же, что это просто простейший пример.

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

 

Тут дело в принципе - есть поддержка или нет для такой возможности, как ответ лисп-выражением в диалоге.

Оказывается поддержки нет (элемент не удаляется), но наметки на это были (ошибки не выдает, вычисляется, результат вычисления отображается).

Намечали, намечали, да недонаметили ...

 

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Расскажите друзьям

    Нравится Официальный форум компании Нанософт? Расскажите друзьям!
×
×
  • Создать...