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

ADN Club => AutoCAD .NET API => Тема начата: Lemieux от 18-07-2020, 22:39:14

Название: Раздельное вращение в Jig
Отправлено: Lemieux от 18-07-2020, 22:39:14
Всех приветствую.
Возможно ли в Jig реализовать раздельное вращение объектов? Например, группа блоков вращается вокруг базовой точки, а текст отображается, но остаётся на месте, либо вращается по другому условию.
Название: Re: Раздельное вращение в Jig
Отправлено: Александр Ривилис от 18-07-2020, 22:45:31
Вполне. Просто в своём Jig (который унаследован от DrawJig) тебе нужно выполнить различные действия с различными типами объектов (или просто с различными объектами)
Название: Re: Раздельное вращение в Jig
Отправлено: Lemieux от 18-07-2020, 22:54:37
Вполне. Просто в своём Jig (который унаследован от DrawJig) тебе нужно выполнить различные действия с различными типами объектов (или просто с различными объектами)
В методе WorldDraw я пользуюсь вот этим для вращения
Код - C# [Выбрать]
  1. Matrix3d ucs = Application.DocumentManager.MdiActiveDocument.Editor.CurrentUserCoordinateSystem;
  2. draw.Geometry.PushModelTransform(Matrix3d.Rotation(angle, Vector3d.ZAxis.TransformBy(ucs), _basePoint.TransformBy(ucs)));
  3. foreach (BlockReference br in brs)
  4. {
  5.     draw.Geometry.Draw(br);
  6. }
  7. draw.Geometry.Draw(mtext);
  8. draw.Geometry.PopModelTransform();
И сколько находил примеров все используют схожий подход.
Название: Re: Раздельное вращение в Jig
Отправлено: Александр Ривилис от 18-07-2020, 23:01:35
Lemieux,
Ну и что? Ты используешь draw.Geometry.PushModelTransform для того, чтобы потом по этой матрице происходило вращение.
Так выполни draw.Geometry.Draw(mtext); уже после draw.Geometry.PopModelTransform(); и тогда этот текст не будет вращаться вместе с вставками блоков.
Название: Re: Раздельное вращение в Jig
Отправлено: Lemieux от 18-07-2020, 23:31:37
Lemieux,
Ну и что? Ты используешь draw.Geometry.PushModelTransform для того, чтобы потом по этой матрице происходило вращение.
Так выполни draw.Geometry.Draw(mtext); уже после draw.Geometry.PopModelTransform(); и тогда этот текст не будет вращаться вместе с вставками блоков.
Класс, всё заработало  :) Спасибо!
Название: Re: Раздельное вращение в Jig
Отправлено: Александр Ривилис от 18-07-2020, 23:38:06
Lemieux,
Ну и что? Ты используешь draw.Geometry.PushModelTransform для того, чтобы потом по этой матрице происходило вращение.
Так выполни draw.Geometry.Draw(mtext); уже после draw.Geometry.PopModelTransform(); и тогда этот текст не будет вращаться вместе с вставками блоков.
Класс, всё заработало  :) Спасибо!
Так вроде бы всё очевидно...
Название: Re: Раздельное вращение в Jig
Отправлено: Lemieux от 19-07-2020, 09:13:29
Так вроде бы всё очевидно...
Теперь и для меня очевидно  8)