Подключение к текущему сеансу TFlex из внешнего EXE приложения, Как из внешнего EXE приложения подключиться к текущему сеансу TFlex для изменения геометрии в активном документе?
Это вопрос новичка. Мне необходимо подключиться из внешнего приложения (EXE) к текущему сеансу TFlex, получить ссылку на активный документ и внести в него изменения через управляющие переменные модели.
Мне известно решение для случая, когда мое приложение используя класс APILoader, создает новый сеанс TFlex и создает или загружает файл, который предполагается изменять. Но как мне подключиться к модели, которая у меня уже «в руках» и которую я вижу на экране? Доступ нужен на изменение модели.
В случае Inventor API это делается весьма просто (проверки здесь опущены):
Код
Inventor.Application app = System.Runtime.InteropServices.Marshal.GetActiveObject("Inventor.Application") as Inventor.Application;
PartDocument oDoc = app.ActiveDocument as PartDocument;
PartComponentDefinition oDef = oDoc.ComponentDefinition;
Далее – везде, с этого момента вся геометрия к моим услугам.
Если я не ошибаюсь, OpenAPI не поддерживает интерфейс для внешнего потока приложений.
Я полагал, что проблема в моем крайне поверхностном знакомстве с документацией по OpenAPI. А OpenAPI, оказывается, не очень-то и Open… Если вы правы, то обходного маневра нет?
Пытаюсь из IronPython решить эту задачу, метод TFlex.Application.ActiveDocument до открытого документа не добирается, попробовал открыть документ так doc = app.OpenDocument("m:\TFlex\API\circ 001.grb", True), код сработал, документ где то открылся, к нему есть доступ, но не в окне Флекса. Подскажите пожалуйста как активизировать этот док?(метод Activate() не помог)
Я из консоли IronPython открыл документ флекс и получил его объекты, при этом сам Флекс не запустился. Можно ли так сказать легализовать этот фоновый документ? Как сделать так чтобы проект открылся в окне Флекс?
Vite написал: Да, действительно документ можно открыть и внести изменения:
Точно также можно создать новый документ и что то в нем начертить, теперь хотелось бы визуализировать этот процесс, чтобы была динамика, чтобы был открыт проект и вносимые изменения сразу же отображались. Возможно ли это? Автор темы спрашивал об этом. Попытка запустить приложение, а потом программной открыть файл не дает результата.
Vite написал: Да, действительно документ можно открыть и внести изменения:
Точно также можно создать новый документ и что то в нем начертить, теперь хотелось бы визуализировать этот процесс, чтобы была динамика, чтобы был открыт проект и вносимые изменения сразу же отображались. Возможно ли это? Автор темы спрашивал об этом. Попытка запустить приложение, а потом программной открыть файл не дает результата.
Вам бы обратиться напрямую в техподдержку и разработчикам.
zobza написал: Вам бы обратиться напрямую в техподдержку и разработчикам.
Здравая мысль, спасибо
Тема интересная, тоже столкнулся с такой проблемой и пришел сюда. Удалось что-нибудь узнать с поддержки? Я так понимаю для работы с уже запущенным приложением надо через COM интерфейс какой-то работать. Но не смог найти.