Jump to content

Макросы T-Flex


QuestioMen

Recommended Posts

Кто-нибудь связывался с написанием макросов при работе с T-Flex?  :gun_guns:

Хотелось бы сформировать тему, в которой можно было бы обсудить, как выполняется то или иное действие

 

Лично для меня программирование - тёмный лес, а работа с макросами необходима для текущей задачи

Заранее прошу прощения, если вопросы покажутся глупыми :no_1:

 

Столкнулся с проблемой:

Создаю много объектов на 2D чертеже

При создании каждый объект автоматически помещается на слой "Основной"

Мне необходимо все элементы чертежа (текст, прямые, узлы и т.д.) перенести на другой слой одним действием (например, через цикл), как это сделать?

 

P.s. знаю, что можно помещать отдельно каждый объект на необходимый слой при создании, но элементов слишком много и если каждый раз прописывать одну и ту же строку, код выйдет немереной величины

(Работаю на C#, но буду рад примерам любого языка, т.к. они тоже могут помочь с решением проблемы :blink:)

 

 

cats-cute-face-closeup-cat-50mm-kitten-d

Link to post
Share on other sites


UnPinned posts

Я уже делал такую тему, не кто серьёзно там нечего не ответил. Сам из простенького набросал макрос который создаёт сразу несколько переменных, но это можно просто прописать в прототип... После долгих блужданий по теме считаю что тут это надо только для какой то ну очень замороченной задачки да и вообще мало где надо. 

Была ещё идея где нужен макрос, автоматическое создание развёрток с исполнений, но и на официальном форуме мне не чего толкового не ответили. 

По вашему тексту: что бы перенести всё элементы чертежа на другой слой, можно их выделить всё сразу и перенести, ну в новой 17-ой 2d бяке наверно придётся отдельно по видам прогуляться. Вообще не какой необходимости в макросе не вижу. Можно кстати и сразу всё делать в нужном слое просто переключив на него рабочий лист. 

Edited by Claus
Link to post
Share on other sites
11 минут назад, Claus сказал:

Я уже делал такую тему, не кто серьёзно там нечего не ответил. Сам из простенького набросал макрос который создаёт сразу несколько переменных, но это можно просто прописать в прототип... После долгих блужданий по теме считаю что тут это надо только для какой то ну очень замороченной задачки да и вообще мало где надо. 

Была ещё идея где нужен макрос, автоматическое создание развёрток с исполнений, но и на официальном форуме мне не чего толкового не ответили. 

По вашему тексту: что бы перенести всё элементы чертежа на другой слой, можно их выделить и перенести, ну в новой 17-ой 2d бяке наверно придётся отдельно по видам прогуляться. Вообще не какой необходимости в макросе не вижу. Можно кстати и сразу всё делать в нужном слое просто переключив на него рабочий лист. 

 

Макрос необходим для комплексного решения задачи, слои - один небольшой шаг)

Сначала решал задачу глубокой параметризацией, но T-Flex начинает вести себя неадекватно, когда связей добавляется слишком много: программа перестаёт качественно перестраивать чертёж из-за параллельного проведения операций :(

Link to post
Share on other sites

Так в итоге нужно что?

Примеры есть в справке.

Макросы рекомендую писать в MS Visual Studio.

Link to post
Share on other sites
9 часов назад, zobza сказал:

Так в итоге нужно что?

Примеры есть в справке.

Макросы рекомендую писать в MS Visual Studio.

Нужно перенести все объекты 2D-чертежа со слоя "Основной" на новый слой макросом

Link to post
Share on other sites
14 часов назад, QuestioMen сказал:

Нужно перенести все объекты 2D-чертежа со слоя "Основной" на новый слой макросом

Какой бюджет?

 

Ну или смотрим в справку API :)

public static void SetLayer(Object ob)
{
    Document document = TFlex.Application.ActiveDocument;//Получение активного документа
    document.BeginChanges("");//Открытие блока изменений документа

    Layer l = new Layer(document);
    l.Monochrome = true;//Параметр слоя "одноцветный"
    l.Color = 12;//цвет

    ob.Layer = l;//установка слоя 

    document.EndChanges();//Закрытие блока изменений документа
}

 

Link to post
Share on other sites
25.09.2023 в 02:04, QuestioMen сказал:

когда связей добавляется слишком много: программа перестаёт качественно перестраивать чертёж из-за параллельного проведения операций :(

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

  • Нравится 2
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.



  • Сообщения

    • Fedor
      Пособие для террористов готовите ?  :) 
    • AlexKaz
      Это усреднённый диаметр трубы С.П. по вики. Это моё задание для одного из студентов на зачёт. Поскольку я вчера убегая на работу в спешке оставил дома телефон с инетом, народ занервничал что я не отвечаю. Вчера вечером я поправил расчётный файл на обычные константы бетона без плясок с "сверхточными" мехсвойствами и материалами. Судя по даже такой приближённой постановке, бетонную оболочку с трубой точно прорывает 1900 кг TNT, расположенные на поверхности или рядом. Если же нужно расфигачить трубу как нож маслом чтобы аж не осталось стыка - масса должна быть ещё больше в разы.   Короче говоря, дайвер-любитель такое поставить на трубу не осилит. Постарались и организовали опытные.   Поскольку расчёт сильно приближённый, интересна лишь постановка задачи для отчёта и получение опыта работы с явным солвером. Что там было в реальности и какие массы и какие константы, для зачёта не интересно. Кстати, одна из работ была немного про другой случай. Лет 10-15 назад у китайцев тоже что-то случилось, но, вроде, не настолько бесцеремонное, и, вроде, обычный пром. Инфа от китайцев, если поискать, есть в сети в виде статей с расчётами.
    • NDE
      Проблем читать/писать свойства объектов - нет. Проблема в идентификации. В сессии NX уже загружена сборка с компонентами. Соответственно созданы Runtime объекты BOMLine. Как определить, какой BOMLine соответствует конкретному компоненту. Дело в том, что если создавать новый BOMWindow, то его придётся сохранять после записи, это приведёт к тому что будет невозможно сохранить сборку. Если менять свойства в соответствующих PSOccurrence - то при сохранении сборки NX перезапишет свойства из BOMLine. И NX ведёт себя не по человечески - после закрытия сборки и повторного её открытия он не закрывает предыдущий BOMWindow, а создаёт новый, соответственно в сессии может присутствовать несколько дублей BOMLine и я не могу отличить те, которыми пользуется NX в данный момент от тех, которые уже неактуальны. А это предпосылка к ошибке.
    • Bot
      Оригинал на сайте C3D Labs: Расширение возможностей кинематической операции Операция построения кинематического тела путем движения образующей кривой вдоль траектории относится к базовому функционалу геометрического ядра C3D Modeler. Это одна из старейших и проработанных операций построения 3D-объектов. Тем не менее наш заказчик поставил перед разработчиками ядра задачу по расширению функциональности этой операции. Необходимо было предоставить возможность изменять плоское образующее сечение вдоль траектории. В качестве примеров управления сечением можно назвать: изменение длины кривых, ограничения угла между ними, а также требование прохождения сечения через набор кривых или касательно некоторой поверхности. Совокупность подобных требований исключала реализацию кинематической поверхности в аналитическом виде, а многообразие варьируемых параметров делало сложным управление ими. После непростых обсуждений было решено на уровне ядра предоставить абстрактный [...] View the full article
    • gudstartup
      а откуда вы узнали какая там конфигурация?
    • Viktor2004
      большое спасибо
    • Александр1979
      Сейчас накидал конфигурацию с 0i-F PLUS и HRV3 в программе CNC STARTUP TOOL. Пишет ошибку "It exceeds the limit of the number of the separate detectors in each DSP. Up to 4 (Includes separate detectors used for Linear motor and DD motor".
    • gudstartup
      что значит одна ? главное на сколько осей то есть сколько на ней dsp @Viktor2004 посмотри схему на матцуру там похожая конфигурация 
    • Viktor2004
      базовый и дополнительный
    • Александр1979
      Какие SDU блоки? Два базовых (basic unit) или базовый и дополнительный (basic and additional) ? 
×
×
  • Create New...