Тема: Макросы на кнопках для навигации по чертежу

Предлагаю одно из решений быстрой навигации по чертежу.
Имеется макрос для Restore View A

'.-view;$M=$(if,$(eq,$(substr,$(getvar,cmdnames),$(-,$(strlen,$(getvar,cmdnames)),4)),"-VIEW"),r;A;)^Z

и макрос для Save View A

 ^C^C.-view;$M=$(if,$(eq,$(getvar,cmdnames),"-VIEW"),w;A;\\)^P(mnugray);

Аналогично можно сделать для View B, View C и т.д.
Размещение кнопок в CUI произвольно, по вкусу.

Re: Макросы на кнопках для навигации по чертежу

> Forma
Желательно имхо немного переделать чисто для локализованных версий:

'_.-view;$M=$(if,$(eq,$(substr,$(getvar,cmdnames),+
$(-,$(strlen,$(getvar,cmdnames)),4)),"-VIEW"),_r;A;)^Z

и

^C^C_.-view;$M=$(if,$(eq,$(getvar,cmdnames),"-VIEW"),_w;A;\\)^P(mnugray);

Правда, что такое (mnugray), я не увидел (2005 и 2006 кад, искал по справке).

Re: Макросы на кнопках для навигации по чертежу

> kpblc
Понимаешь, не я должен был писать эти макросы.
Макросы эти весьма эклектичны. Собственно, это мой ответ тебе, Владимиру Громову и администратору на проблему навигации.
Поэтому их не "шлифовал". Доведите "до ума", если будет желание.

Re: Макросы на кнопках для навигации по чертежу

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

Re: Макросы на кнопках для навигации по чертежу

> kpblc
Тут тонкость одна есть: пользователю не надо ничего именовать. А с именованными видами я тоже не работаю. Одна морока.

Re: Макросы на кнопках для навигации по чертежу

Forma> Тот, кто тебе дал такой макрос, решил посмеятся над тобой, потому что (мnugray) значает М-мое. NU-ну это все знают, но в этом контексте вроде как мозговое вещество. А дальше-Gray, что в переводе с вражеского вроде как цвет №8. Так вот, макрос расчитан на тех у кого этого вещество поболее и он догадается почитать в ком строке

Command: .-view
Enter an option [?/Orthographic/Delete/Restore/Save/Ucs/Window]: w
Enter view name to save: A
Specify first corner: Specify opposite corner:
Command:
; error: no function definition: MNUGRAY

А прочитав, догадается удалить, а заодно и ^p. А что вместо этого хвоста? догадался сам.

Re: Макросы на кнопках для навигации по чертежу

Не

догадался сам

а ДОГАДАЙСЯ сам

Re: Макросы на кнопках для навигации по чертежу

> Forma
Если бы вы создавали сцены для тонирования, то вам неизбежно понадобились бы именованные виды. Мне для этого достаточно диалогового окна "View" ("Вид"). Поэтому и макрос мне не нужен, видов может быть несколько, а данные макросы работают только с одним видом. Конечно, (mnugray) в данном случае не определена, это же имя какой-то функции, которая должна запускаться после создания вида A, только где эта функция? Сразу видно, что это - выдранный откуда-то макрос, а не сделанный своими руками.

Re: Макросы на кнопках для навигации по чертежу

А вообще здесь нарушен порядок макросов. Я представляю себе ситуацию так:
Сначала с помощью рамки создается вид А.
Потом вид каким-то образом меняется.
После этого опять восстанавливается вид А.
В целом куцая навигация по рисунку получается: всего два вида - текущий (какой?) и вид А.
Все эти нагромождения можно заменить, IMHO, двумя вот такими макросами, отбросив неизвестную функцию (mnugray):

^C^C_.-view;_w;A;\\
'_.-view;_r;A

Re: Макросы на кнопках для навигации по чертежу

> Владимир Громов
Все правильно пишите. Дело даже не в макросах, а в подходе к навигации по чертежу. Я пытался до вас достучаться. Не вышло. Но идея работает. Я попытался эммулировать эту идею в AutoCAD и у меня получилось. В оригинале 5 кнопок с видами и одна для записи. Мне такую программу не написать. Но работать надо. Нет возможности ждать готовых и элегантных решщений. Также я решил проблему с вставкой символов в текст и в размерный текст. На днях попробую выложить. И последний стул из гарнитура Гамбса- это архив DWG для небольших фирм. Вот с таким скрипом удалось создать более менее комфортную среду в AutoCAD. :)))

Re: Макросы на кнопках для навигации по чертежу

Перечитал сначала. Предлагается сделать столько кнопок, сколько хочется иметь видов - допустим 10. Тогда надо еще 10 кнопок для восстановления каждого вида и еще 10 кнопок для удаления видов. А как потом узнать, какие виды есть в рисунке, а какие удалены? Значит, нужна еще кнопка с мкросом:

'_.-view;_?;*

Вот и получается морока: с именованными видами работать неохота, однако, здесь создано 10 ИМЕНОВАННЫХ видов, а что из них каждый отображает, неизвестно даже ежу. Может, диалоговое окно, все-таки, лучше?

Re: Макросы на кнопках для навигации по чертежу

> Владимир Громов
Вы не поняли идею. Максимум 5 видов. Мне хватит и трех. A, B, C, или как в оригинале 1, 2, 3 . Этого более чем достаточно для быстрой навигации. Я знаю, что мои идеи в плане эргономики малопонятны или не понятны вовсе.
Но, если Вы заметили я никогда и никого не уговаривал работать по моей схеме.

Re: Макросы на кнопках для навигации по чертежу

> Forma
Я вижу, что мы просто вкладываем разный смысл в понятие "навигация". У меня это просто просмотр произвольных участков плоского рисунка, а у вас - переключение жестко определенных видов.

Re: Макросы на кнопках для навигации по чертежу

> Владимир Громов
Ну да. Разный смысл. Я понял Вашу программу сразу и ничего не имел против. Но хотел обратить Ваше внимание на другой подход в похожей тематике. Я не могу просто обьявить тему с конкретным вопросом. Вы же знаете причины. Но тут я не выдержал. Уж очень важна задача для меня.

Re: Макросы на кнопках для навигации по чертежу

И, все-таки, я использую виды не для навигации по рисунку. Для получения фотореалистичного изображения необходимо правильно создать сцену. И здесь очень важным становится именно вид (точка зрения). Процес выбора нужной точки зрения достаточно трудоемок, ведь правильность этого выбора проявится только после тонирования. Нужных точек зрения (видов) может быть несколько и желательно, чтобы имена видов были информационными, а не просто A, B и т.п.
Например: "Перспектива", "Аксонометрия", "Фасад1", ну, и так далее. Пока выберешь необходимые виды, пройдет достаточно много времени, ведь эти виды надо еще увязать с источниками света. Поэтому скорость создания именованных видов и переключение между ними ничтожно мала по сравнению с самим процессом выбора точки зрения. Вышеприведенные макросы ничего не дадут, необходима информация о видах, которые присутствуют в рисунке. А эту информацию даст только диалоговое окно. Есть тут что-либо от навигации в вашем понимании? Я думаю, что нет. Тем не менее, команду создания именованного вида я применил в своей программе навигации для возвращению к исходному изображения на экране после просмотра.

Re: Макросы на кнопках для навигации по чертежу

Еще по поводу навигации применительно к моей отрасли (строительное проектирование). Допустим, у меня имеется рисунок с 10 планами этажей, 4 фасадами и 2 разрезами. При отображении всех объектов на экране все настолько мелко, что ничего не разглядишь. Можно создать 16 видов и, соответственно 32 кнопки, 16 из которых станут ненужными после создания видов. Но в другом рисунке может быть или 12 подобных объектов, или 24. Как быть с макросами и с кнопками? Вот она, морока. Поэтому для моей навигации и не нужны виды и макросы. Достаточно разглядеть в штампе номер этажа и остановиться в навигации, откорректировав нужное изображение на экране. Важным остается только один вид - исходный, с которого начинается навигация. Вот я и назвал этот вид "Original". К нему всегда можно вернуться, или же выполнить команду "_Zoom _All" ("Показать Все"). У вас, я вижу, другие задачи и другое представление о навигации, но вы постоянно напускаете мистического тумана, в результате чего диалог частенько становится затруднительным, складывается впечатление, что вы один знаете нечто такое, что другим вахлакам невозможно представить в силу своего скудоумия, уж простите великодушно, но у меня давно такое впечатление.

Re: Макросы на кнопках для навигации по чертежу

Так, стоп! Брек!
> Forma : Если а) надо б) интересно в) есть DOSLib (www.mcneel.com), могу попробовать написать программульку, которая будет работать с именованными видами. Без тестирования. DOSLib требуется для формирования диалогового окна. Правда, там будет только текстовый вариант...

Re: Макросы на кнопках для навигации по чертежу

> Владимир Громов
Понятно. В любом случае, благодарю за участие.

> kpblc
Да нет, не надо программы. Спасибо. Макросы работают вполне прилично. Вопрос, собственно, был решен изначально.

Re: Макросы на кнопках для навигации по чертежу

в данный момент я обрабатываю проект с двумя разными (под углом) растрами осей. постоянно приходиться прыгать с одних осей на другие. написал следующую команду:
^C^C_ucsfollow;1;_ucs;n;6.1345,-27.2078,0;_ucs;z;16
возможно ли сделать так чтобы при повторном нажатии этой команды координатная система возвращалась на прежнее место? и как положить эту команду под правую кнопку мыши?