Пожалуйста, не блокируйте рекламу!

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

*

melky

Вызов "отвязанного" макроса
« : Июня 24, 2009, 18:00:23 »

Test

Сделал себе объект с выносной надписью в виде макроса, но стало интересно, можно ли сделать  вызов макроса, чтобы он был "отвязан" от самого объекта ?
Нужно не только для выносной надписи, но и просто для другого объекта, чтобы ставить один объект, который бы устанавливал в зависимости от параметров другой и этот другой можно было бы потом редактировать и даже удалить не заходя в родительский объект ...

*

Оффлайн Vachik

  • *****
  • 4759
  • Репутация: +734/-4
  • Пол: Мужской
Re: Вызов "отвязанного" макроса
« Ответ #1 : Июня 24, 2009, 18:16:22 »
Наверно через команду
IF бла-бла-бла
GOTO xxx
else
goto xxx+1
endif
:xxx
бла-бла-бла
:xxx+1
бла-бла-бла


*

melky

Re: Вызов "отвязанного" макроса
« Ответ #2 : Июня 25, 2009, 08:04:20 »
Vachik, может не так выразился, но меня интересует, может ли объект, являющийся макросом другого объекта управляться после установки из родительского, отдельно от родительского.
На подобие выносной надписи, она как бы привязана к родительскому, и в то же время ее можно таскать и исправлять.

*

SergeyAB

Re: Вызов "отвязанного" макроса
« Ответ #3 : Июня 25, 2009, 08:14:46 »
нормально ты выразился. Ситуация насколько помню такая, обращение из объекта к макросу выполняется от текущих координат(т.е. с учетом Add, Rot, Mul ) Но вот если тебе нужно в макросе отрисовать чтото от каких то "своих" координат (не от Current Object Origin), то тебе нужно передать эти свои координаты(или другие данные) в макрос. Вообще об этом в мануале где то написано достаточно хорошо, поищи, я могу и ошибаться...

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Re: Вызов "отвязанного" макроса
« Ответ #4 : Июня 25, 2009, 09:10:41 »
Всего-навсего, родительский объект должен содержать те же параметры, что и макрос. Тогда все манипуляции, которые делаются с макросом, когда он используется самостоятельно, будут доступны и в среде родительского объекта.

*

melky

Re: Вызов "отвязанного" макроса
« Ответ #5 : Июня 25, 2009, 09:37:54 »
Valery W, я знаю это, меня интересует, может ли макрос управляться сам по себе, а не через родительский объект. Или это невозможно в принципе ?

*

Оффлайн Valery W

  • *****
  • 5987
  • Репутация: +634/-14
  • Пол: Мужской
Re: Вызов "отвязанного" макроса
« Ответ #6 : Июня 25, 2009, 10:00:21 »
...может ли макрос управляться сам по себе...

Это как? Приведи пример действий, что-ли.
Лично, я с трудом понимаю изложение твоих мыслей. :) С самого первого поста.
Например, сразу не понял как следует читать:
- "объект с выносной надписью в виде макроса"
или
- "объект с выносной надписью в виде макроса"
Это в первом абзаце.
Второй абзац тоже труднопонимаем.

Во втором посте, то же тогда не понятно вот это:
"...управляться после установки из родительского, отдельно от родительского"

Давай, может быть, со скриншотами. Где родитель, где дитя, что дитя хочет делать? :)

*

Оффлайн Vachik

  • *****
  • 4759
  • Репутация: +734/-4
  • Пол: Мужской
Re: Вызов "отвязанного" макроса
« Ответ #7 : Июня 25, 2009, 11:05:54 »
melky,
Может надо этот макрос, идентифицировать как не макрос, а элемент модели (или какой другой, который виден)

*

melky

Re: Вызов "отвязанного" макроса
« Ответ #8 : Июня 25, 2009, 12:46:29 »
Valery W, необходимо вызвать из родительского объекта макрос, передав ему необходимые параметры, чтобы в последствии второй объект, являющийся мактросом можно было изменить самостоятельно.
НЕТ СКРИНОВ, были бы, смог бы объяснить доходчивее.
Суть в поведении, чтобы оно напоминало работу Объект + Выносная надпись., при этом второй объект это просто объект (элемент модели, символ чертежа и т.д. а не только выносная надпись.

*

melky

Re: Вызов "отвязанного" макроса
« Ответ #9 : Июня 25, 2009, 12:47:53 »
Vachik, как угодно, мне не важно, мне важно, можно ли из одного объекта, вызвать на построение другой, но чтобы этот другой был доступен для редактирования, а не приклеивался мертво к родительскому.

*

Оффлайн ALAKK

  • *****
  • 625
  • Репутация: +55/-7
  • Пол: Мужской
  • Он спорил с модером...
Re: Вызов "отвязанного" макроса
« Ответ #10 : Июня 25, 2009, 17:34:15 »
Давайте разбираться как работает макро-функция и для чего вообще она была придумана и почему так оформляется.

Предположим, что есть ситуация, когда надо многократно выполнить одно и то же действие, причем вызывается это действие как из разных частей основной программы, так и из иных модулей этого (или иного) проекта. Тогда прописывать один и тот же код, зачастую длинный и обладающий своими внутренними ветвлениями, процедурами и ссылками, просто неразумно, т.к. основной код становится просто нечитаемым и труднопонимаемым. Тогда этот кусок и оформляется как внешний модуль или макро-функция.
Надо понимать, что этот модуль изначально написан только для выполнения какого-то вполне определенного действия и в этот модуль основная (вызывающая) процедура передает набор параметров, которые определены как в вызывающем модуле, так и в вызываемой функции. Принятые параметры принимают в макросе новые значения, которые передаются в вызывающую процедуру.
Любой макрос может быть вызван для выполнения прописанных в нем действий из любой внешней процедуры, если та передает набор определенных параметров в функцию и принимает их обратно. По смыслу работы это однотипно выполнению стандартных встроенных функций типа sin() или cos(). Разница в том, что макрос прописывается программистом и не является встроенной функцией.
Вроде понятно рассказал

*

SergeyAB

Re: Вызов "отвязанного" макроса
« Ответ #11 : Июня 25, 2009, 18:21:04 »
Нужно настраивать объект "макрос " из другого объекта - "вызывающего скрипта" как будто он (макрос) самостоятельный? Вполне возможно...

1. Если нужно настраивать положение объекта "макрос", то в главном объекте стоит обьявить параметры DX, DY типа Length и перед вызовом объекта "макрос", писать Add2 DX,DY. А после вызова Del 1.
Чтобы двигать этот объект(макрос) прямо в плане нужно связать с параметрами DX,DY активный хотспот, такая же ситуация с поворотом, зеркальностью и т.д

2. Если нужно редактировать "поведение" объекта "Макрос", то головной объект должен позволять ЧЕРЕЗ СВОИ ПАРАМЕТРЫ настраивать это ОПИСАННОЕ В МАКРОСЕ ПРИ ПОМОЩИ ЭТИХ ПАРАМЕТРОВ поведение.
Таким образом в меню вызывающего объекта создай подменю "параметры макроса 1","параметры макроса 2" и т.п, таким образом будешь управлять поведением нужного тебе количества ранее прописанных объектов, так например можно расставить заданный набор мебели ))) или заданный состав транспорта.

*

melky

Re: Вызов "отвязанного" макроса
« Ответ #12 : Июня 26, 2009, 16:02:08 »
SergeyAB, я примерно так и реализовывал, если это все, что возможно сделать с дочерним объектом, то очень жаль.
просто объект не является типом "выносная надпись", которая может быть отвязана от родительского...

*

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

  • ****
  • 412
  • Репутация: +78/-0
  • Архитектор
Re: Вызов "отвязанного" макроса
« Ответ #13 : Ноября 06, 2009, 14:15:41 »
за то если есть хотспоты, да эти точки передаются макросу, то они в самом привязанном макросе редактируемы..
например, я экспериментировал со своим ограждением Ани, вызвал его и передал ему массив координат (точно такой же по названию переменных). Ограждение выстроелось, но параметры его самостоятельно редактировать нельзя... через меню, а через хотспоты точки двигаются. Но это годится только для первого макроса. а если их два, то второй не слушается.. 
буду эксприментировать дальше...

 

Похожие темы

  Тема / Автор