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


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

Страницы: 1
Плагин SerifsBuilder, Плагин SerifsBuilder для автоматической расстановки засечек под размеры.
 
Друзья, рад представить вам новый плагин [B]SerifsBuilder[/B] для ленивых конструкторов (шутка). Вопрос, относительно быстрой расстановки засечек под размеры, уже поднимался ранее на этом форуме (см. [URL=https://tflex.ru/forum/index.php?PAGE_NAME=message&FID=20&TID=6244&TITLE_SEO=6244-malenkie-radosti-prostogo-konstruktora-v-versii-tflex-cad-18&MID=44003#message44003]#181[/URL]).

Для примера, я подготовил видео: https://youtu.be/ooXzvdUn678

Специфика обработки документа частично показана на видео, но есть и нюансы, о которых нужно знать. Например, привязка каждой линии построения должна быть основана строго на двух узлах. Это связано с графом зависимостей родительских элементов. При расстановке линейных размеров, автоматически создаются узлы, которые отличаются от узлов для крепления линий построения. Эти узлы включают специальные свойства, по которым можно однозначно определить две линии, на пересечении которых, базируется узел привязки линейного размера. На рис. "параметры засечек" (см. serifs_parameters.PNG), этот узел обозначен как, [B]n0[/B]. Узлы [B]n1[/B] и [B]n2[/B], являются начальными точками, а [B]n4[/B] и [B]n5[/B], конечными точками построения засечек. Узел [B]n3[/B] используется в качестве маркера, чтобы исключить дубликат построений при повторном запуске макроса. И так, размеры ссылаются на два узла а они, в свою очередь, ссылаются на две линии.

Визуальное представление графа зависимостей объектной модели и схематический чертеж с обозначением элементов построения:

- [URL=https://disk.yandex.ru/i/711T7y2yFZHfig]tflex_serifs_builder_graph.pdf[/URL]
- [URL=https://disk.yandex.ru/i/UFobyOGA1dAckQ]tflex_serifs_builder_draw_1.png[/URL]

[B]Как использовать плагин?[/B]

Чтобы установить плагин понадобится два файла:

1. [B]SerifsBuilder.dll[/B] (нужно поместить его в корневой каталог программы T-FLEX CAD);
2. [B]SerifsBuilderCommand.grb[/B] (поместить в подкаталог Macros).

Файл [B]SerifsBuilderCommand.grb[/B] нужен для вызова функции из DLL.
Вызов обработки документа выполняется через штатное окно "Макросы". А также, его можно использовать для создания пользовательской команды (см. [URL=https://www.tflexcad.ru/help/cad/17/user_command.htm]Добавление пользовательских команд[/URL]).

---

ГОСТ 2.307-2011 (5.16)

Репозиторий исходного кода: [URL=https://github.com/intity/tflexcad-plugins]tflexcad-plugins[/URL]
Архив с DLL: [URL=https://disk.yandex.ru/d/Mk68gg_xMfuAJA]SerifsBuilder.zip[/URL]
Макрос: [URL=https://disk.yandex.ru/d/lYzbR4pSNF5f1Q]SerifsBuilderCommand.grb[/URL]

Версия T-FLEX CAD: 17.0.65.0
Изменено: vite - 04.03.2022 10:12:18
T-FLEX CAD 2D Next, Предложение пользователей по улучшению пользовательского интерфейса T-FLEX CAD 2D
 
Данная тема предназначена для рассмотрения/обсуждения предложений пользователей по улучшению пользовательского интерфейса T-FLEX CAD 2D Next.

Ниже дается краткое описание проблемной области текущей реализации T-FLEX CAD (17.0.27.0) и предложение по улучшению.

[SIZE=14pt][B]1. Область навигации[/B][/SIZE]
--- 1 ---
Рассмотрим ситуацию, когда необходимо определить зависимости элементов построения от переменных. Для предварительной оценки общей структуры 2D примитивов, можно воспользоваться окном «Элементы модели». Чтобы вывести информацию в табличном представлении, доступны следующие столбцы:

- Элемент
- Тип
- Идентификатор
- Имя
- Страница
- Слой

[I][B]Каким образом определяются зависимости элементов построения?[/B][/I]

В текущей реализации это можно сделать посредством наведения курсора мыши на элемент построения в окне редактора 2D, или через окно «Информация». Когда элементов построения немного, это не является проблемой, но когда их несколько сотен и более, процедура определения, какие элементы имеют зависимость от переменной а какие нет, может превратится в рутину. Главным образом, проблема заключается в том, что переменных может быть также много как и элементов построения. Перебирать каждую переменную в поисках целевой зависимости слишком накладно. Единственный способ визуально определить зависимость от переменной в окне «Элементы модели» -- это использовать имя переменной в наименовании элемента построения. Кроме того, зависимость элемента построения не обязательно может быть связана с переменной. Например, 2D-узел может определяться как свободный, так и на пересечении линий построения.

Я думаю многие со мной согласятся в том, что одна из частых проблем в работе с 2D связана именно с определением зависимостей. В контексте вышеизложенного хотелось бы выразить пожелание разработчикам -- рассмотреть возможность добавления столбца «Зависимость» для визуального определения зависимостей элемента построения в окне «Элементы модели».

--- 2 ---

Следующий аспект связан с быстрым переключением между страницами при наличии большого количества страниц в документе.

[I][B]Каким образом осуществляется навигация между страницами?[/B][/I]

В текущей реализации доступно два способа переключения между страницами:

1) посредством переключения через модальное окно «Страницы» (см. [URL=https://www.tflexcad.ru/help/cad/17/index.html?pg.htm]Страницы документа[/URL]),
2) посредством вкладок, доступных в нижней области окна 2D редактора.

Очевидно что первый способ переключения между страницами наиболее быстрый в данном случае. Единственный недостаток -- это промежуточное действие, связанное с открытием окна «Страницы».

Из предыдущего опыта работы в Revit, я просто не вижу альтернативы по качеству навигации между страницами посредством древовидной структуры. Надеюсь что разработчики внимательно изучат этот вопрос, чтобы предоставить в последующих версиях более продвинутый интерфейс для быстрого переключения между страницами.
Изменено: vite - 23.04.2021 06:15:38
Классификатор прототипов, Предложение пользователей по улучшению конфигурации прототипов
 
Тема создана для обсуждения предложений пользователей по улучшению конфигурации прототипов для создания деталей, сборки и т.д.

[B]Введение[/B]
В рамках существующей конфигурации (16.0.68.0), прототип представляет собой шаблон из которого создается новый файл модели. Когда файл создан, изменить схему прототипа простым способом нельзя. Каждый прототип имеет некоторые различия, обусловленные спецификой внутренней схемы исходных параметров. Например, прототип "2D Деталь" отличается от прототипа "3D Деталь", но при этом, имеет некоторые общие параметры. С точки зрения T-FLEX CAD API нет четкого определения, из какого прототипа был создан файл модели. Разумеется, по косвенным признакам это можно определить, но речь не об этом.

Основная проблема, на мой взгляд, -- это отсутствие, на уровне ядра системы, классификатора прототипов; возможность переопределения прототипа по классификатору на уровне интерфейса приложения. Когда пользователю не нужно задумываться о различиях в служебных параметрах для переопределения схемы прототипа. Иначе говоря, при переключении прототипа по классификатору, предполагается изменение схемы служебных параметров без изменения исходных значений там, где используются общие параметры. Если рассматривать файл модели с точки зрения классификатора, то это универсальный контейнер в котором может храниться несколько схем, в зависимости от определенного класса текущего прототипа.

[B]Что такое классификатор прототипов?[/B]
Предполагается, что для каждой схемы служебных параметров будет определен уникальный класс прототипа. Центральная роль схемы, обусловлена сохранением целостности модели прототипа с учетом привязки служебных параметров к структуре изделия. По своей сути, схема служебных параметров -- это открытая спецификация для обеспечения базовой конфигурации прототипа модели на уровне интерфейса. Для пользователя, схема прототипа доступна только для чтения. То есть, пользователь не может удалять служебные параметры но может изменять их значения, путем переопределения в редакторе переменных, либо изменять значения по умолчанию на уровне базовой схемы классификатора прототипов. Гипотетически, на уровне API, базовая схема прототипа модели документа может быть представлена в виде специального класса для обеспечения прямого доступа к служебным параметрам. Фактически, классификатор прототипов -- это универсальный интерфейс той части документа, которая не может изменяться в редакторе переменных напрямую. Классификатор прототипов должен быть представлен в отдельном окне, для предоставления возможности изменять значения базовой схемы, заданных по умолчанию, либо иметь возможность добавить пользовательские классы прототипов с привязкой собственной схемы служебных параметров. То есть, если пользователю понадобится прототип без использования базовой схемы, в качестве альтернативы, то такая возможность может быть реализована на уровне классификатора прототипов, путем добавления пользовательского класса.

Если привести аналогию классификатора прототипов, то это очень напоминает классификатор семейств, реализованный в Autodesk Revit.

[B]Резюме[/B]
Описанная конфигурация классификатора прототипов является лишь попыткой осмыслить совершенно новый подход к реализации потенциальных возможностей, относительно системы T-FLEX CAD. В данном описании не рассматривается наиболее важная часть -- это геометрические построения модели, которые также могут быть составной частью прототипа. По этой причине, этот вопрос необходимо рассматривать целостно, учитывая различный опыт пользователей из разных областей.
База данных T-FLEX CAD Next, Предложение пользователей по улучшению интерфейса базы данных
 
Тема создана для рассмотрения/обсуждения предложений пользователей по улучшению или добавлению новых функций базы данных T-FLEX CAD Next.

[SIZE=14pt][B]1. Поддержка открытой спецификации базы данных T-FLEX CAD в формате XML[/B][/SIZE]
Предложение, добавить поддержку использования в качестве внешней базы данных XML-файл с определением строгой типизации полей, например:
[code]
<?xml version="1.0" encoding="UTF-8"?>
<data>
 <table name="T1">
   <tr>
     <td name="ID" type="Int">1</td>
     <td name="P1" type="Real">0.0001</td>
     <td name="PH" type="Text">Text data...</td>
   </tr>
 </table>
</data>
[/code]

[B]Назначение[/B]
Формат данных XML рассматривается в качестве альтернативы MDB.

[B]Преимущества[/B]
В отличие от формата данных [URL=https://ru.wikipedia.org/wiki/CSV]CSV[/URL], формат данных [URL=https://ru.wikipedia.org/wiki/XML]XML[/URL] позволяет строго определить тип полей. Кроме того, формат файла XML является открытым, в отношении формата MDB, что позволяет вносить изменения в обычном текстовом редакторе.

[SIZE=14pt][B]2. Поддержка функции экспорта внутренней базы данных в XML[/B][/SIZE]
Предложение, добавить функцию экспорта внутренней базы данных T-FLEX CAD в XML-файл.

[B]Назначение[/B]
Главное назначение функции -- это генерация данных в XML-файл из прототипа рабочей базы данных. Предполагается выгрузка всех имеющихся таблиц в один XML-файл.

[B]Преимущества[/B]
Поддержка функции экспорта внутренней базы данных в XML позволит значительно оптимизировать процесс разработки библиотечных элементов.

[SIZE=14pt][B]3. Интегрированный интерфейс редактора внешней базы данных в T-FLEX CAD[/B][/SIZE]
Предложение, добавить интегрированный интерфейс для редактирования таблиц внешней базы данных в T-FLEX CAD.

[B]Специфика[/B]
Если рассматривать внешнюю базу данных как некий каркас библиотеки, то ее элементы могут быть связаны на уровне централизованного хранилища. Относительно пользовательского окружения, централизованное хранилище -- это подключение манифеста библиотеки. В данном контексте, подключение базы данных следует рассматривать как интегрированный компонент на уровне библиотеки. По аналогии с отображением виртуальных каталогов в окне документов, база данных может быть представлена в виде древовидной структуры с таблицами. Предполагается, что интерфейс подключения базы данных будет расположен в отдельном, от документов библиотеки, окне и поддерживать функции редактирования таблиц. Относительно файла модели (*.GRB), таблица из внешней базы данных доступна только для чтения.

Пример пользовательского интерфейса: [URL=https://yadi.sk/i/MWwSqv95LofVvw]vs_data_connections_ui.png[/URL]

[B]Назначение[/B]
Предоставление пользовательского интерфейса T-FLEX CAD для редактирования таблиц из внешней базы данных.

[B]Преимущества[/B]
Поддержка пользовательского интерфейса для подключения и  редактирования базы данных непосредственно в T-FLEX CAD.
Изменено: vite - 28.05.2020 20:10:43
Редактор переменных T-FLEX CAD-Next, Предложение пользователей по улучшению функций редактора переменных следующего поколения
 
Тема создана для обсуждения потенциально возможных функций редактора переменных T-FLEX CAD-Next; рассмотрение предложений от пользователей по улучшению существующих или добавление новых возможностей редактора переменных.

[SIZE=13pt][B]1. Обработка ввода пользователя[/B][/SIZE]
Предложение добавить свойство в параметрах переменной для обработки ввода пользователя посредством возврата значения по умолчанию.

[B]Описание процедуры[/B]
Допустим, переменная [B]p1 [/B]содержит константное значение параметра модели, с условно определенным диапазоном значений 1...5. Если пользователь вводит значение, которое выходит за пределы диапазона, программа должна отреагировать возвратом значения, установленного по умолчанию.

[B]Описание функции[/B]
В параметрах переменной необходимо добавить параметры минимальных и максимальных границ диапазона возможных значений, и параметр возвращаемого значения по умолчанию. Если значение свойства возврата определено как NULL, то никаких действий не потребуется.

[I]Свойство возврата[/I] должно принимать либо константное значение, либо имя пользовательской функции обработчика.

[B]Преимущества[/B]
Данная возможность позволит обрабатывать исключения, приводящие к вырождению геометрии модели.
Изменено: vite - 07.05.2020 20:28:29
Модель расширения библиотек T-FLEX CAD, Обсуждение специфики расширения библиотек и предложения пользователей.
 
Данная тема создана для обсуждения специфики расширения библиотек T-FLEX CAD. Потенциально возможной реализации, способствующей упростить процедуру развертывания рабочего пространства пользователя. Ниже дается краткое описание проблемной области и предложение.

[SIZE=15pt][B]Проблемная область[/B][/SIZE]
В текущей реализации T-FLEX CAD (16.0.60.0) для подключения пользовательских библиотек используется механизм, посредством добавления ссылки на файл конфигурации. Библиотеки трехмерных моделей содержат зависимости от библиотеки материалов и текстур.

[B]Конфигурация стандартных библиотек T-FLEX CAD[/B]
1. Библиотеки моделей (C:\Program Files\T-FLEX CAD 16\Библиотеки)
2. Библиотека материалов (C:\Program Files\T-FLEX CAD 16\Program\MaterialLibrary)
3. Текстуры (C:\Program Files\T-FLEX CAD 16\Program\Textures)

В большинстве случаев, пользовательские библиотеки могут быть созданы с использованием стандартной базы материалов. Когда этого недостаточно, то можно создать библиотеку материалов в качестве расширения. Кроме того, так же можно добавить в настройках приложения пользовательский каталог текстур. Таким образом, T-FLEX CAD предоставляет возможность создавать библиотеки моделей, независимо от стандартной базы материалов и текстур. Но насколько жизнеспособна данная схема? Чтобы провести тест, я создал рабочий каталог (WorkflowDirectory) на другом диске, в котором поместил библиотеки и текстуры.

[B]Конфигурация пользовательских библиотек[/B]
1. Библиотеки моделей (E:\T-FLEX CAD\WorkflowDirectory\CustomLibraries)
2. Библиотека материалов (E:\T-FLEX CAD\WorkflowDirectory\MaterialLibrary)
3. Текстуры (E:\T-FLEX CAD\WorkflowDirectory\Textures)

На первый взгляд может показаться вполне рабочая схема, пока не возникнет необходимость в перемещении рабочего каталога. Основная проблема заключается в отсутствии возможности использовать относительные пути для определения ссылки на текстуры материалов. Процедура обработки относительных путей, в свойствах материала, работает только для каталога (Textures), расположенного в корне приложения T-FLEX CAD. Даже несмотря на то, что в пользовательской конфигурации был добавлен путь на каталог текстур.

Еще одна проблема, с которой приходится сталкиваться, это восстановление рабочего окружения T-FLEX CAD при выполнении сброса настроек по умолчанию. Вместо того, чтобы включить один файл конфигурации, приходится выполнять множество действий, повторно добавляя ссылки на пользовательские библиотеки.

[SIZE=15pt][B]Предложение[/B][/SIZE]
1. Добавить возможность настройки рабочего окружения пользователя T-FLEX CAD, посредством добавления ссылки на файл конфигурации.
Файл конфигурации должен включать следующие настройки:
- Настройки интерфейса T-FLEX CAD;
- Настройки пользовательских библиотек;
- Настройки путей на виртуальные каталоги (MaterialLibrary, Textures).

[B]Структура рабочего каталога[/B]
[code]
WorkflowDirectory (рабочий каталог пространства пользователя)
- CustomLibraries (1)
-- CustomLibrary
--- Parts
---- Part_1.grb
---- Part_2.grb
---- Part_n.grb
--- CustomLibrary.tws (файл конфигурации библиотеки моделей)
- MaterialLibrary (2)
-- CustomMaterialLibraries.ini (манифест пользовательских библиотек материалов)
-- CustomMaterialLibrary.mtr (библиотека материалов пользователя)
- Textures (3)
-- Subdirectory
--- Texture_1.jpg
--- Texture_2.jpg
--- Texture_n.jpg
- WorkflowDirectory.config (файл конфигурации рабочего окружения пользователя)
[/code]

2. Добавить возможность использования относительных путей для определения ссылок на текстуры в свойствах материалов.
3. Добавить возможность переопределения стандартных текстур, если в пользовательском окружении будет создан одноименный каталог и файл текстуры.

[B]Описание[/B]
Представленная модель расширения библиотек T-FLEX CAD предполагает возможность подключения рабочего каталога, посредством добавления ссылки на файл конфигурации (WorkflowDirectory.config). Данный файл содержит определения для всех библиотек пользовательского окружения. При такой схеме, восстановление рабочего окружения пользователя должно сводится к одной операции. Кроме того, данная модель может быть использована для переопределения текстур или прототипов, установленных по умолчанию. Иначе говоря, если пользователю понадобится изменить текстуру в системном каталоге (Textures), то достаточно создать копию в пользовательском окружении для ее переопределения. Таким образом, последующее обновление T-FLEX CAD не повлияет на пользовательскую конфигурацию и избавит от необходимости повторно изменять файлы текстур в системном каталоге.
Изменено: vite - 22.01.2020 17:55:18
T-FLEX Package Manager, Модуль расширения пакетной обработки документов
 
Уважаемые инженеры, рад представить вам обновленную версию модуля пакетной обработки документов, приложение «T-FLEX Package Manager». В отличии от предыдущей версии, данный модуль имеет ряд существенных улучшений. Главная цель новой разработки – это создание универсального интерфейса для поддержки всех имеющихся трансляторов (импорт/экспорт) в одном модуле.

[VIDEO TYPE=YOUTUBE WIDTH=640 HEIGHT=360]https://www.youtube.com/embed/nziaFR5hU1A?feature=oembed[/VIDEO]

Исходный код: https://github.com/intity/tfpacman
Документация: [URL=https://yadi.sk/i/DJrf9u1-AbaNig]tfpacman_help.pdf[/URL]
План развития приложения: [URL=https://yadi.sk/i/PthLPM4xvXJtqQ]tfpacman_roadmap.pdf[/URL]
Бинарные файлы приложения: [URL=https://yadi.sk/d/6R9FpL6xoYhjVQ]TFPackageManager.7z[/URL]
Пакетный экспорт в AutoCad, T-FLEX CAD Extension - плагин расширения стандартного интерфейса.
 
Уважаемые инженеры конструкторы, рад представить вам плагин [URL=https://github.com/intity/TFlexEx/wiki]T-FLEX CAD Extension[/URL], который расширяет функциональные возможности стандартного экспорта в формат файлов:
- AutoCAD (DWG, DXF, DXB)
- Bitmap (BMP, JPEG, GIF, TIFF, PNG)
Главным образом, эта реализация в некотором смысле решает задачу пакетного экспорта.  Более подробно, как с этим работать, вы можете ознакомится в документации [URL=https://yadi.sk/i/Ka4o82Fv3TzjiS]Export to Packages[/URL]. Плагин был протестирован в текущей версии T-FLEX CAD 15 x64, и на данном этапе, вполне рабочий вариант.
Если у вас появятся идеи, относительно улучшения или модернизации плагина, пишите. Любые предложения, приветствуются.
Благодарности прошу направлять в адрес [URL=http://tflex.ru/forum/index.php?PAGE_NAME=profile_view&UID=9429]Алексея[/URL], который заинтересовал и помогал в тестировании на раннем этапе разработки.
Изменено: vite - 02.04.2018 16:10:45
Страницы: 1