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


Поиск  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 19 След.
Регистрация плагина
 
[QUOTE]Паша Маргинал написал:
Можно ли регистрировать плагин через записи в реестре?[/QUOTE]
есть простой способ:
нужно создать тектовый файл с расширением (*.fta) и добавить описание модуля. далее, подключить плагин через пользовательский интерфейс (меню: Настройка / Приложения...).
[QUOTE]Паша Маргинал написал:
Можно ли писать плагины на c/c++ и регать их через записи в реестре?[/QUOTE]
если вы хотите подключть модуль, достаточно внести данные в файл конфигурации приложения.
Замечания по T-FLEX CAD 15, Ваши замечания касающиеся работы T-FLEX CAD 15
 
Цитата
tapka написал:
Причина очень проста, если человек ввёл число, и захотел сменить тип задающего размера (радиус => диаметр) это значит он ввёл не тот тип, и значит введя 5 - ему нужно было диаметр 5, а при смене он становится 10 и приходится опять исправлять
если я не ошибаюсь, вы имели ввиду изменение геомертии, вместо значения по аналогии с NX, так?
Изменено: Vite - 18.10.2017 17:41:11
T-FLEX CAD 16.0.50.0
Переменные во вложенных фрагментах, Получение значений переменных во вложенных фрагментах
 
-=LEXX=- -=LEXX=-, обратитесь в техподдержку, интересно что ответят по данному вопросу.
Переменные во вложенных фрагментах, Получение значений переменных во вложенных фрагментах
 
-=LEXX=- -=LEXX=-, если речь об этом ( [URL=http://tflex.ru/forum/index.php?PAGE_NAME=message&FID=14&TID=2388&TITLE_SEO=2388-peremennye-vo-vlozhennykh-fragmentakh&MID=30288#message30288]#17[/URL] )? ответ: никак. да, и смысл теряется в такой схеме. зачем вам промежуточное звено "sborka_1.grb", если управление выполняется с уровня "detail_1.grb"?
Изменено: Vite - 12.10.2017 11:54:50
Переменные во вложенных фрагментах, Получение значений переменных во вложенных фрагментах
 
Sila Musli, вывод значений завасит от параметров метода "GetFragmentDocument", например:
[CODE]
GetFragmentDocument(true) // получает значение переменной на уровне сборки
GetFragmentDocument(false, true) // получает значение переменной на уровне фрагмента
[/CODE]
Переменные во вложенных фрагментах, Получение значений переменных во вложенных фрагментах
 
Sila Musli, поправил вложение.
Переменные во вложенных фрагментах, Получение значений переменных во вложенных фрагментах
 
Sila Musli, все верно, по этому результат был не однозначный.
Переменные во вложенных фрагментах, Получение значений переменных во вложенных фрагментах
 
-=LEXX=- -=LEXX=-,

[CODE]
using System;
using System.Windows.Forms;

using TFlex;
using TFlex.Model;
using TFlex.Model.Model3D;


namespace Form1Namespace
{
   public partial class Form1
   {
       public Form1()
       {
           InitializeComponent();
       }

       private void button1_Click(object sender, System.EventArgs e)
       {
           this.textBox1.Clear();

           Document doc = TFlex.Application.ActiveDocument;
           if (doc == null)
               return;

           // detail_1.grb
           this.GetVariablesInfo(doc, "P1_asm1");
           this.GetVariablesInfo(doc, "P2_asm1");

           // sborka_1.grb
           foreach (var i in doc.GetFragments3D())
           {
               this.GetVariablesInfo(i.GetFragmentDocument(true), "P1_asm2");
               this.GetVariablesInfo(i.GetFragmentDocument(true), "P2_asm2");

               // part_1.grb
               foreach (var j in i.GetFragmentDocument(true).GetFragments3D())
               {
                   this.GetVariablesInfo(j.GetFragmentDocument(true), "P1");
                   this.GetVariablesInfo(j.GetFragmentDocument(true), "P2");
               }
           }
       }

       private void GetVariablesInfo(Document doc, string variableName)
       {
           string val = "";
           foreach (var i in doc.GetVariables())
           {
               if (i.Name == variableName)
               {
                   val = i.IsText ? i.TextValue : i.RealValue.ToString();
                   this.textBox1.Text += string.Format("[{0}] : {1} = {2}\r\n", doc.Title, i.Name, val);
                   break;
               }
           }
       }
   }
}
[/CODE]
Изменено: Vite - 11.10.2017 23:46:16
Переменные во вложенных фрагментах, Получение значений переменных во вложенных фрагментах
 
[QUOTE]-=LEXX=- -=LEXX=- написал:
Я вам уже несколько раз сказал - ваши ответы не соответствуют контексту вопроса - вы с самого первого ответа перепечатываете по сути одно и тоже, то что у меня в примерах.[/QUOTE]
если бы можно было понять, что конкретно вас интересует, возможно, я бы смог вам помочь.
Переменные во вложенных фрагментах, Получение значений переменных во вложенных фрагментах
 
[QUOTE]-=LEXX=- -=LEXX=- написал:
У меня в коде так и сделано. Я же говорю - не работает так! %) Считываются значения, заданные в другом файле, но не те что заданы в текущем и которые мне нужны...[/QUOTE]
проблема на вашей стороне. данный пример вполне рабочий.
Переменные во вложенных фрагментах, Получение значений переменных во вложенных фрагментах
 
[QUOTE]-=LEXX=- -=LEXX=- написал:
Я же пытаюсь добраться до переменных заданных в текущем документе, но для вложенных фрагментов.[/QUOTE]

[CODE]
using System.Windows.Forms;
using TFlex.Model;
using TFlex.Model.Model3D;

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

           foreach (var i in document.GetFragments3D())
           {
               if (i.FilePath == "asm_2.grb")
               {
                   MessageBox.Show(i.GetFragmentDocument(true).FindVariable("P1").RealValue.ToString(), "Variable value");
               }
           }
       }
   }
}
[/CODE]
Переменные во вложенных фрагментах, Получение значений переменных во вложенных фрагментах
 
[QUOTE]-=LEXX=- -=LEXX=- написал:
К сожалению и FindVariable() тоже находит для вложенных фрагментов лишь значение, которое задано у этих фрагментов в другом файле, но не в текущем ([/QUOTE]
используйте рабочий пример:
1. скачайте архив (см. вложение)
2. поместите файл "Test Macro.grb" в директорию:
[CODE]
C:\Program Files\T-FLEX CAD 15 x64\Program\Macros
[/CODE]
3. откройте документ "part_1.grb"
4. выполните макрос "Test Macro" в окне "Макросы"
Переменные во вложенных фрагментах, Получение значений переменных во вложенных фрагментах
 
[QUOTE]-=LEXX=- -=LEXX=- написал:
Это фактически то же, что написано выше у меня. Так не работает: выводит значения переменных более низкого уровня, но не те, что заданы в активном файле.[/QUOTE]
точно, я не правильно вас понял. можно было проще сформулировать вопрос: как получить значение переменной активного документа?
[CODE]
document.FindVariable("$Порядковый_номер").TextValue;
[/CODE]
Вопросы начинающего, вопросы от тех, кто только начинает своё знакомство с T-FLEX CAD
 
Цитата
Alexes написал:
К сожалению имена переменных в детали и сборке могут совпадать, что не всегда нужно или даже вредно
если данная возможность когда нибудь будет реализована, понятно что это будет опция расширения. там где не нужны дубликаты переменных, как альтернатива, можно использовать наследование. в самом деле, зачем создавать то что уже создано, вы правы.
T-FLEX CAD 16.0.50.0
Вопросы начинающего, вопросы от тех, кто только начинает своё знакомство с T-FLEX CAD
 
Цитата
Alexes написал:
Это значит в сборке к переменной "а" я подключаю переменную болта "d" (для которой настроен список) и получаю этот список в переменной "a". Далее в сборке к переменной "b" подключаю переменную "L" болта (для которой настроен поиск вариантов по БД в зависимости от переменной "d" болта) и получаю в переменной список "b" список характерный для текущего значения переменной "d", управляемой переменной "a" сборки. Т.е. не надо копировать БД и переменные из фрагментов, а получать логику из них напрямую, ведь она в них уже определена.
понятно, ну тогда лучше вообще не создавать промежуточные переменные, а использовать переменные фрагмента, как часть сборки, типа наследование.
T-FLEX CAD 16.0.50.0
Переменные во вложенных фрагментах, Получение значений переменных во вложенных фрагментах
 
-=LEXX=- -=LEXX=-,

[CODE]
using System.Windows.Forms;
using TFlex.Model;
using TFlex.Model.Model3D;

namespace Test
{
   public class Class15
   {
       public static void Run()
       {
           Document document = TFlex.Application.ActiveDocument; // asm_1.grb

           foreach (var i in document.GetFragments3D())
           {
               if (i.FilePath == "asm_2.grb") // 1 level
               {
                   foreach (var j in i.GetFragmentDocument(true).GetFragments3D())
                   {
                       if (j.FilePath == "part_1.grb") // 2 level
                       {
                           MessageBox.Show(j.GetVariableValue("P1", false).RealValue.Value.ToString(), "Variable value");
                           break;
                       }
                   }
               }
           }
       }
   }
}
[/CODE]
Вопросы начинающего, вопросы от тех, кто только начинает своё знакомство с T-FLEX CAD
 
Цитата
Alexes написал:
Vite , Вопрос не в списке, как его сделать я знаю, вопрос в том как не копировать переменные и БД из фрагментов, а напрямую получать логику из них простым подключением.
что значит "напрямую получать логику из них простым подключением"?
T-FLEX CAD 16.0.50.0
Вопросы начинающего, вопросы от тех, кто только начинает своё знакомство с T-FLEX CAD
 
Цитата
Alexes написал:
Как в сборке создать переменные которые бы предлагали значения (в выпадающем списке) в соответствии с БД подключенного в данный момент болта?
на сколько я понял вопрос, задача сводится к связанным спискам по типу элемента. т.е. в зависимости от выбранного типа, должен формироваться список значений, связанный с данным типом, так?
T-FLEX CAD 16.0.50.0
Замечания по T-FLEX CAD 15, Ваши замечания касающиеся работы T-FLEX CAD 15
 
ВладиславКМВ, см. видео ( https://yadi.sk/i/p8GYc_sf3MtvFZ )
T-FLEX CAD 16.0.50.0
Замечания по T-FLEX CAD 15, Ваши замечания касающиеся работы T-FLEX CAD 15
 
Цитата
ВладиславКМВ написал:
Попробуйте удалить все остальные из дерева.
файла модели нет в архиве...
T-FLEX CAD 16.0.50.0
Страницы: Пред. 1 2 3 4 5 6 7 8 9 10 11 ... 19 След.