Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Lis от 23-08-2022, 07:04:15

Название: Возможности SendStringToExecute()
Отправлено: Lis от 23-08-2022, 07:04:15
Всех приветствую.
Хотелось бы немного порасспрашивать знающих об этой интересной функции (дублирую: SendStringToExecute()). Она мне недавно очень помогла, благодаря чему вместо миллиона костылей, статических переменных и так далее мне удалось передать все необходимые строковые переменные по значению уже в CAD-команду. Так вот, после, занимаясь другими задачами, я неоднократно выходил на различные статьи на форумах об этой функции, разные вариации видел. С использованием "._", "*_", "-_" и так далее. Однако информации по этим атрибутам как таковой не находил (только в этих же статьях от авторов/отвечающих, в частности этого форума), потому решил обратиться сюда: может ли кто-нибудь предоставить своего рода шпаргалку, если располагает оной? Мне кажутся достаточно интересными возможности отправлять пути файлов и прочие вещи через атрибуты без использования каких-либо шифрований этих самых путей и последующей дешифровки.
Название: Re: Возможности SendStringToExecute()
Отправлено: Александр Ривилис от 23-08-2022, 14:31:29
С использованием "._", "*_", "-_" и так далее.
"." перед именем команды - исходная команда AutoCAD (не переопределенная ни в одном из приложений)
"_" перед именем английской команды AutoCAD или опции команды AutoCAD - работает в любой локализации AutoCAD.
"-" используется вариант команды с командной строкой, а не с диалоговыми окнами (если такой вариант команды есть).
"*" это зацикливание команды с выходом по ESC, но это работает только в меню AutoCAD (насколько я помню).
Мне кажутся достаточно интересными возможности отправлять пути файлов и прочие вещи через атрибуты без использования каких-либо шифрований этих самых путей и последующей дешифровки.
Не понял. О какой шифровке/дешифровке идет речь? Есть необходимость заменить "\\" на "/", так как "\\" воспринимается как пауза в команде AutoCAD. Ну и если в имени файла или в полном пути к файлу есть пробелы, то путь нужно заключить в двойные кавычки.
Название: Re: Возможности SendStringToExecute()
Отправлено: Lis от 23-08-2022, 14:56:10
С использованием "._", "*_", "-_" и так далее.
"." перед именем команды - исходная команда AutoCAD (не переопределенная ни в одном из приложений)
"_" перед именем английской команды AutoCAD или опции команды AutoCAD - работает в любой локализации AutoCAD.
"-" используется вариант команды с командной строкой, а не с диалоговыми окнами (если такой вариант команды есть).
"*" это зацикливание команды с выходом по ESC, но это работает только в меню AutoCAD (насколько я помню).
Мне кажутся достаточно интересными возможности отправлять пути файлов и прочие вещи через атрибуты без использования каких-либо шифрований этих самых путей и последующей дешифровки.
Не понял. О какой шифровке/дешифровке идет речь? Есть необходимость заменить "\\" на "/", так как "\\" воспринимается как пауза в команде AutoCAD. Ну и если в имени файла или в полном пути к файлу есть пробелы, то путь нужно заключить в двойные кавычки.
Спасибо Вам. Вы ответили сразу на два вопроса -- и на заданный, и который я не озвучивал, а именно -- как корректно заталкивать путь (ранее извращался немного с этим).
Я же правильно понимаю, что если, допустим, я хочу передать некоторое название файла (а оно также может быть с пробелами), то следует использовать двойные кавычки?
Название: Re: Возможности SendStringToExecute()
Отправлено: Александр Ривилис от 23-08-2022, 17:51:15
Я же правильно понимаю, что если, допустим, я хочу передать некоторое название файла (а оно также может быть с пробелами), то следует использовать двойные кавычки?
Да.