Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Макрос ZoomAll (), Помогите с макросом. Как с помощью кода показать всё изображение?
 
Здравствуйте. Помогите, кто может.
Я новичок в программировании.
Хочу написать макрос, чтобы показать всё изображение (2D) и сохранить файл.
Как сохранить файл, я догадываюсь, а вот как показать весь файл, я не знаю.
Знаю, что есть свойство ActiveView. И есть метод ZoomAll, который находится в пространстве имён TFlex.Model.Model3D. Как их связать вместе, не знаю.
 
Александр Крупенников, в T-FLEX CAD API 16 был добавлен метод RunSystemCommand, который позволяет запускать стандартные команды по имени, например:
Код
using TFlex.Model;

namespace Test
{
    public class ZoomView
    {
        public static void Run()
        {
            Document document = TFlex.Application.ActiveDocument;

            if (document == null && document.ActiveView == null)
                return;

            // Показать все изображение
            TFlex.Application.RunSystemCommand("ZoomMax");
        }
    }
}

в отличии от команды ZoomMax, команда ZoomAll показывает изображение в пределах границ страницы. если нужно приблизить или уменьшить изображение, используйте команды ZoomIn/ZoomOut. чтобы отобразить только выбранные объекты, используйте ZoomSelected.
T-FLEX CAD 16.0.56.0
 
Большое спасибо за ответ.
Вот только у меня версия 12.0.70.11.
И такого метода у меня нет.
Может, есть другой способ?
Но всё равно спасибо!
 
Александр Крупенников, как вариант можно перерисовать прямоугольник изображения, используя свойство WCSRectangle, например:
Код
using TFlex.Model;

namespace Test
{
    public class ZoomView
    {
        public static void Run()
        {
            Document document = TFlex.Application.ActiveDocument;

            if (document == null && document.ActiveView == null && document.ActivePage == null)
                return;

            TFlex.Drawing.Rectangle rect = new TFlex.Drawing.Rectangle
            {
                Left   = document.ActivePage.Left.Value,
                Bottom = document.ActivePage.Bottom.Value,
                Right  = document.ActivePage.Right.Value,
                Top    = document.ActivePage.Top.Value
            };

            document.ActiveView.Graphics.WCSRectangle = rect;
            document.Redraw();
        }
    }
}
Изменено: vite - 10.06.2019 12:19:55
T-FLEX CAD 16.0.56.0
 
Ещё раз спасибо!
Буду пробовать.
Страницы: 1