|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
16.03.2015, 15:45 | #1 | |
В какой переменной сохраняется угол разворота
топограф, технолог
Москва
Регистрация: 24.05.2009
Сообщений: 3,031
|
||
Просмотров: 4390
|
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Интересный вопрос... Системной переменной такой я не нашел. Как искал? Повернул объект на 333 градуса и сравнил в Notepad++ два сохраненных в окне _SYSVDLG файла (до и после) со списком переменных. Изменилась только одна переменная - LASTPOINT. В эти файлы не сохраняются ReadOnly-переменные (только для чтения), поэтому я решил "вручную" (!) просмотреть все переменные в этом диалоге. Значения 333, равно как и 5.81... (в радианах, на всякий), равно как и 27 (360-333), равно как и 153 (333-180) там не оказалось. Подумал, что, может быть, это значение хранится в глобальных переменных, тех, что можно посмотреть при создании поля (_FIELD) в списке LispVariable. Вручную уже поленился, выполнил код
Код:
|
|||
|
||||
Offtop: "Не было так никогда, и вот опять"
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,041
|
То, что запоминается предыдущее значение угла-это скорее юзабилити интерфейса, имхо. Все равно есть переменная, в которую заноситься угол поворота после "декодирования" комстроки, почему не сохранять значение где то в переменной дополнительной. Ведь после сохранения чертежа и закрытия AutoCAD значение угла снова равно нулю, т.е. оно нигде не сохраняется: ни в реестре, ни в бд чертежа самого.
А то, что не вывели доступ к значению этой дополнительной переменной через переменную - а зачем? Посмотрите на программный метод AcGeEntity2d::rotateBy , например. У него есть два аргумента: угол поворота и базовая точка поворота. Т.е. программист уже в курсе, какой у него угол поворота. ----- добавлено через ~5 мин. ----- Не увидел, как прямую ссылку получить на метод) Цитата:
|
|||
|
||||
Похожая тема на caduser'e
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
я как то поднимал подобную тему. Ответа так и не дождался...
Система када помнит много чего, но как туда добраться, та еще задача.
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,041
|
Как те же высота и ширина прямоугольника)
----- добавлено через ~7 мин. ----- а зачем туда пробираться? Если нужно задать угол-то есть соответствующий запрос типа GetAngle. Если нужно повернуть все примитивы вслед за первым - получить значение угла поворота из первого и применить к остальным. Можно, конечно, написать в AutoDesk - чтобы они написали еще оболочки-методы (системные переменные) для доступа ко всем глобальным переменным AutoCAD Последний раз редактировалось Сергей812, 19.03.2015 в 12:46. |
|||
|
||||
Сергей812, не знаю кому как, а мне это надо было, что бы предложить "значение по умолчанию" при повторном вызове функции (как тот же _rotate, например, поворачивает на предыдущий угол с пробела/пкм) без объявления глобальных переменных. Экспериментально выявлено, что автокад их помнит и они доступны через динамический ввод, а вот добраться до них из лиспа как то не получилось.
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,041
|
Цитата:
|
|||
|
||||
Конструктор по сути (машиностроитель) Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391
|
Это неважно... Хоть через настройки графики (по F8 или F10), хоть вручную - в сеансе запоминается и так, и так...
__________________
Век живи, век учись - ... |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,041
|
Цитата:
Цитата:
Если через getangle, то в комстроке в промте getangle выводить старое значение угла. А в initget разрешить пустой ввод. Какая то непонятная экономия на глобальной переменной) |
|||
|
||||
Конструктор по сути (машиностроитель) Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391
|
А, сорри... Но если указания про это нет, догадываюсь, что нужно для любого случая. Или тогда переменные разные?
PS Ладно, в программирование лезть не буду ))
__________________
Век живи, век учись - ... |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Если своя функция пишется, то кто мешает запомнить что угодно в любом удобном виде и потом "подставлять" как значение по умолчанию? Хотя это к разделу "AutoCAD" уже имеет мало отношения...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Алексей, никто не мешает, ShaggyDoc даже в реестр писать предлагал... но с другой стороны, зачем это делать, если это уже есть? Единственно за тем, что это "уже есть" незадокументированно и хрен его откопаешь.
Как сказал skkkk "Может, это значение хранится в пространстве имен, недоступном из лиспа...". Все таки тут замешан динамический ввод, хотя бы отчасти, и кто знает как это реализовано.
__________________
Не труд сделал из обезьяны человека, а лень и жажда халявы... Последний раз редактировалось Vladimir_Sergeevich, 19.03.2015 в 14:22. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Как "зачем"? Завтра тебе понадобится еще какая-нибудь хреновина, и что - опять на неделю в поиски углубляться?
А касаемо "писать в реестр" - я когда-то на autolisp.ru рассматривал варианты хранения данных - между документами, между сессиями. Реестр (ИМХО) не всегда удобен. Но это дело вкуса ))
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Offtop: Представляю, как АлексЮстасу сидит у монитора и думает: "Вот это я спросил..."
Это самый первый вопрос, который у меня возник при виде этой темы, но я нашел для себя на него ответ. Например, программист в своей программе может захотеть задать угол поворота объекта интерактивно и непременно с висящим на курсоре и вращающимся фантомом, а далее в программе использовать этот угол. И... Цитата:
Кстати первым у меня возникло предположение, что угол этот скорее всего хранится в переменной LASTANGLE, однако кто знает, что там хранится на самом деле? |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Ну, е-мое... Ну напиши командный реактор на команду _.rotate и сохраняй чего хочешь, как хочешь и где хочешь.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
Я тоже так с наскоку подумал, но через некоторое количество размышлений встал в тупик: ну сработала команда _.rotate, а что я запомню? Где хранится это значение? Разве как-то grread'ом точки выдергивать? Что-то я сомневаюсь, что выйдет их две снять. После команды одна сработает только. А в аргументы ротэйту grread не подсунешь, скажет, повторный вход в лисп невозможен.
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой максимально допустимый угол подъёма на путепровод в городе? | Alla_w | Автомобильные и железные дороги, мосты, тоннели и организация движения | 3 | 20.03.2015 11:11 |
Какой угол внутреннего трения у аммофоса? | Ivan3891 | Прочее. Архитектура и строительство | 5 | 04.04.2014 11:12 |
Какой угол внутреннего трения у бутового камня? | Seeker | Прочее. Архитектура и строительство | 7 | 16.05.2013 00:37 |
Какой минимальный радиус при устройстве разворота | Магистр36 | Автомобильные и железные дороги, мосты, тоннели и организация движения | 21 | 17.04.2013 12:10 |
Какой должен быть угол косоуров для сборнх ЖБ ступеней?... | Chief Justice | Прочее. Архитектура и строительство | 15 | 19.04.2012 00:47 |