Ввод Lisp выражений.

Автор Тема: Ввод Lisp выражений.  (Прочитано 8156 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн EseАвтор темы

  • ADN OPEN
  • Сообщений: 22
  • Карма: 2
Ввод Lisp выражений.
« : 17-12-2020, 15:08:03 »
Вопрос, можно ли как-то посылать Lisp через командную строку?
Например этот:
Код - Auto/Visual Lisp [Выбрать]
  1. (command "_move""_all""""""0,0,1e99""_move""_all""""""0,0,-1e99")

Пробовал через doc.SendStringToExecute() с экранированием кавычек (\"), но не получилось.

Если можно то как?


Отмечено как Решение Ese 21-12-2020, 07:51:37

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ввод Lisp выражений.
« Ответ #1 : 17-12-2020, 15:12:12 »
Ese,
Можно. И через doc.SendStringToExecute() - видимо плохо экранировал. Вопрос только "Зачем???"
Тоже самое ты можешь прекрасно проделать средствами AutoCAD .NET API
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн EseАвтор темы

  • ADN OPEN
  • Сообщений: 22
  • Карма: 2
Re: Ввод Lisp выражений.
« Ответ #2 : 17-12-2020, 16:12:37 »
Можно. И через doc.SendStringToExecute() - видимо плохо экранировал.
Да, получилось.
А как это будет через Net?
(Lisp не знаю, я понимаю, что наверное, там должны быть пробелы вместо пустых кавычек?)

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Ввод Lisp выражений.
« Ответ #3 : 17-12-2020, 16:17:11 »
Можно. И через doc.SendStringToExecute() - видимо плохо экранировал.
Да, получилось.
А как это будет через Net?
(Lisp не знаю)
Для каждого примитива в текущем пространстве выполняешь метод TransormBy с матрицей переноса из 0,0,0 в 0,0,1e99 и обратно. В чем только смысл этих телодвижений? Передернуть все примитивы?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн EseАвтор темы

  • ADN OPEN
  • Сообщений: 22
  • Карма: 2
Re: Ввод Lisp выражений.
« Ответ #4 : 17-12-2020, 16:23:31 »
В чем только смысл этих телодвижений? Передернуть все примитивы?
https://knowledge.autodesk.com/ru/support/autocad/learn-explore/caas/sfdcarticles/sfdcarticles/RUS/how-to-flatten-a-drawing-in-autocad.html
Сделать чертеж плоским. Типа Flatten.

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1115
  • Карма: 173
Re: Ввод Lisp выражений.
« Ответ #5 : 18-12-2020, 07:58:54 »
Сделать чертеж плоским. Типа Flatten.
Так просто это может и не получиться. Достаточно вспомнить хотя бы про разные OCS.
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 546
  • Карма: 119
Re: Ввод Lisp выражений.
« Ответ #6 : 18-12-2020, 09:07:11 »
Сделать чертеж плоским. Типа Flatten.
А почему не Flatten? используется AutoCAD LT?

Данный способ малоэффективный, и может привести к проблемам.

Оффлайн Алексей Кулик

  • Administrator
  • *****
  • Сообщений: 1115
  • Карма: 173
Re: Ввод Lisp выражений.
« Ответ #7 : 18-12-2020, 09:53:06 »
LT не позволит загрузить dll, насколько я помню.
Все, что сказано - личное мнение.

Правила форума существуют не просто так!

Приводя в сообщении код, не забывайте про его форматирование!

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 546
  • Карма: 119
Re: Ввод Lisp выражений.
« Ответ #8 : 18-12-2020, 10:17:05 »
LT не позволит загрузить dll, насколько я помню.
Скорее всего.

Испытал способ с перемещением. Бездумно использовать нельзя, может испортить чертежи, особенно размеры.
Но нашел для себя возможное полезное использование.
Этим способом можно сбросить Z у объектов СПДС без необходимости их разбивать. А вот это очень интересно.
После НГ попробую протестировать более детально.