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

Мой самый первый скрипт в lisp - почему не работает?


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

Всем добрый день!

Есть у меня проблема: постоянно двигаю объекты и группы на чертеже на 10 мм вверх - вниз - влево - вправо. Ну, или на 5 мм, и так далее. Надоело мне опечатываться при наборе, порылся я в яндексе и понял, что правильный ответ - скрипт на лиспе.

Сваял это:

 

(defun ml
( command "move" "10,0,0" " " " " )
)

 

ml - типа, Move Left. Потом, как это заработает, нашлёпаю сколько надо всяких других Move'ов.

Вроде, ошибиться негде - а nanocad мне постоянно дулю показывает:

 

ошибка: неверный синтаксис DEFUN: (ML (COMMAND "move" "10,0,0" " " " "))

 

Подскажите, пожалуйста, где я неправильный пробел поставил/убрать забыл? Час тычусь, как ёжик в тумане, и куда рыть дальше - совершенно непонятно. В примерах/образцах - простыни текста, а как мне надо, две строчки - никак не могу найти...

На всякий случай - и файл прикладываю:

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

Двумя строчками не обойтись.

Т.к. Ваш код перед тем как что то двигать, должен знать( как минимум): что двигать (объект или группа),от какой точки двигать, насколько и куда двигать.

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

Мне всё-таки кажется, не должен. Всё, что он должен сделать - вбить вместо меня в командную строку фиксированные буковки. Что двигать - знаю я (пользователь), от какой точки и куда - заложено в команде (текущее выделение, на 10 мм, использовать точку в виде перемещения). Или это делается не в виде лиспного скрипта?

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

а в какую сторону то же в команде заложено??? а если орто отключен???

ЗЫ но имхо горе от ума

куда проще вбиь "П" мышкой указать направление и вбить расстояние )))

или под все направления и расстояния будешь лиспы писать??)))

********************

тексты текущим стилем но разным размером

(defun C:Т5 ()
(command "текст" Pause "5" "0")
(princ)
 )					; текст 5
(defun C:Т3 ()
(command "текст" Pause "3.5" "0")
(princ)
 )					; текст 3.5

(defun C:Т2 ()
(command "текст" Pause "2.5" "0")
(princ)
 )					; текст 2.5
 (defun C:Тц ()
(command "текст" "в" "СЦ" Pause "3.5" "0")
(princ)
 )					; текст по центру

под АК работает, наны у меня нет

===

еще для тренировки

 (defun c:СР ()			;Смыкание линий:
(command "_fillet" pause "д" "0")
(princ)
 )
(defun C:3 ()
 (command "draworder" "задний")
 (princ)
)					;на задний план

(defun C:33 ()
 (command "draworder" "передний")
 (princ)
)					;на передний план
(defun C:мрс ()
 (command "spStdSelected" "4BCE1ABDFB27FEE2")
 (princ)
)					;добавление объекта из базы СПДС

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

Может быть, вы будете смеяться, но - да, под все направления я буду писать лиспы :-)

Собсна, моя идея в том и есть.

Сейчас попробую поколупаться с вашими примерами. В любом случае, спасибо за ответ.

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

мощно!!!

и под все мыслимые расстояния???

=======================

А собственно в чем идея?? может что поизящнее можно сообразить если немного подумать... слишком уж в лоб получается

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

мощно!!!

и под все мыслимые расстояния???

=======================

А собственно в чем идея?? может что поизящнее можно сообразить если немного подумать... слишком уж в лоб получается

 

Поизящнее тут

http://forum.nanocad.ru/index.php?showtopic=6953&hl=&fromsearch=1

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

Ладно, повторю другими словами.

Как я писал в первом сообщении, мне постоянно приходится двигать объекты/группы на фиксированные расстояния - 10 мм, 5 мм и так далее. Выбор объектов автоматизировать никак нельзя, по понятным причинам. Но вот объекты выбраны, а дальше - я нажимаю одну и ту же последовательность клавиш:

п (перенести)

Enter

10,0,0 (пока сейчас набирал это, несколько раз опечатался - рус/англ точка в разных местах, "э" вместо Enter'а, и так далее)

Enter

Тут меня просят ввести вторую точку, но я вместо этого нажимаю ещё раз Enter - "использовать первую точку в виде перемещения".

Всё, конец алгоритма.

Теперь я набил простейший файлик, и вместо всего этого набираю с клавиатуры п1 enter, что означает "вправо, на 10". Если надо на пять - набираю п5 энтер. Так же - влево л1/л5, вверх и вниз в1/н1 соответственно.

Десять, две запятые, два нуля и всё прочее вместо меня вбивает лисп. Не знаю, кому как, мне - удобнее.

А снаружи - да, кажется, что "под все направления и расстояния будешь лиспы писать" :-)

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

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

мощно!!!

и под все мыслимые расстояния???

=======================

А собственно в чем идея?? может что поизящнее можно сообразить если немного подумать... слишком уж в лоб получается

 

Поизящнее тут

http://forum.nanocad...l=&fromsearch=1

Допишу на днях перемещение курсорами. Если Вам интересно).

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

мощно!!!

и под все мыслимые расстояния???

=======================

А собственно в чем идея?? может что поизящнее можно сообразить если немного подумать... слишком уж в лоб получается

 

Поизящнее тут

http://forum.nanocad...l=&fromsearch=1

Допишу на днях перемещение курсорами. Если Вам интересно).

Дописал.

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

победил?

Да, конечно. Я ж писал, затык был со скобками. Щас всё работает, как я и хотел.

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

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

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

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

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

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

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

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

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

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

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