Автор: vite. "Игорь написал:
Добрый день, подскажите как можно получить программно документ или фрагмент для выделенного фэйса или другого элемента?"
void PluginInstance::ObjectSelectionChangedEventHandler(ObjectEventArgs^ args)
{
ModelObject ^obj = args->Object;
Fragment3D^ fr3d = nullptr;
if (obj->GroupType == ObjectType::Topol)
{
TopolReference^ topol = (TopolReference^)obj;
for each (ParentObject ^p in topol->Parents)
...
Автор: vite. "Игорь написал:
При срабатывании первого обработчика в Selection открытого документа сидит фрагмент (!) а не само тело, который ничего не говорит о его выделенных объектах."
Обработчик передает вам выбранный объект (в данном случае, это Fragment3D) исходя из текущего контекста. Фрагмент -- это тоже операция,...
Автор: Игорь. Добрый день, не могу разобраться как при выделении тела, находящегося в подсборках (подфрагментах) получить его ObjectId при срабатывании события SelectionChangedEventHandler или ObjectSelectionChangedEventHandle. Выходит так что для тел приходит нулевой ObjectId, а для граней и ребер это можно получить через Reference параметр. При срабатывании первого обработчика в Selection открытого документа ...
Автор: vite. Обновление пакетного менеджера (31.10.2022)
Изменения
1. Исправлены некоторые ошибки селектора документов.
2. Проведена работа по оптимизации динамического перестроения дерева "структура сборки".
3. Обновлен документ selector-cfg.drawio.pdf.
Примечание
Наблюдается небольшая задержка по времени при каскадном выборе файлов на больших сборках ( см. видео ). В качестве тестирования использовалась сборка "Редуктор червячный" (8 копий -- 200 файлов). Проблема ...
... ресурсов посредством отмены шаблона ссылки.
5. Внесены изменения в формат записи файлов типа (*.log).
6. Обновлен справочник.
Примечание
Общее представление о том, как работает селектор в контексте применения шаблонов ссылки, можно получить из документа selector-cfg.drawio.pdf .
Автор: vite. Алексей Белоцкий, нужно выполнить приведение типа (см. Приведение и преобразование типов), например:
var node = result.SelectedObject as Node;
Автор: Алексей Белоцкий. Применил свойство SelectedObject к узлам:
ConstructionOutline conOutline = new ConstructionOutline(document, node1.SelectedObject, node2.SelectedObject);
Теперь выдает следующую ошибку: преобразование типа из "TFlex.Model.ModelObject" в "TFlex....
Автор: vite. "Алексей Белоцкий написал:
Как поменять тип объектов node1, node2 ?"
Объект "PickPointResult" включает свойство "SelectedObject". Вот его и нужно предать в конструктор "ConstructionOutline".
...
Макрос должен строить отрезок между двумя выбранными узлами, вот мой код.
public static void Draw_line()
{
PickPointParameters par = new PickPointParameters();
//выбор только узлов
SelectionFilter filter = new SelectionFilter();
filter.Enable(ObjectType.Node);
par.Filter = filter;
par.Prompt = "Выбрать точку или узел";
par.MouseMove += new TFlex.PickPointMouseMove(PickPointMouseMove);//событие ...
... Test
{
public class SheetBuilder
{
public static void Run()
{
var document = TFlex.Application.ActiveDocument;
if (document == null)
return;
var objects = document.Selection.GetAllObjects();
if (objects.Length == 0)
return;
var workplane = objects[0] as Workplane;
if (workplane == null)
return;
document.BeginChanges("1");
...
... инициализации окна во VM происходит подключение к DOCs. Необходимо, чтобы при нажатии кнопки открывался диалог выбора объекта. Раньше такую задачу решали следующим кодом:
var dialog = ObjectCreator.CreateObject<TFlex.DOCs.UI.Common.References.ISelectReferenceObjectDialog>();dialog.Initialize(rfInfMaterials);
dialog.IsMultipleSelect = false;
dialog.ReferenceEnvironmentControl.ContextFilter = filter;
if (dialog.ShowDialog(this) != TFlex.DOCs.UI.Common.DialogOpenResult.Ok) return;
в ...
Автор: Marcin. Do you know how to do isolated view in T-Flex? I would like to see only one selected model which I change at the moment and hide everything else. Is that possible? I would like to hide all items except one which I`m working on. How to do this in T-Flex?
//translated by google translator
Вы знаете, как сделать изолированный ...
... public class ProductStructureHelper
{
public static void Run()
{
var document = TFlex.Application.ActiveDocument;
if (document == null)
return;
var objects = document.Selection.GetAllObjects();
if (objects.Length == 0)
{
MessageBox.Show("Перед запуском макроса, необходимо выбрать объект!", "T-FLEX CAD");
return;
}
...
Автор: Rolles217. а в функции switch() нельзя условия "или" использовать?
switch(of,1||2||3,-H/2)
вроде ошибки не выдает, но срабатывает только единичка..
через select() сделал, так работает:
select(of==1||of==2||of==3,-H/2,of==6||of==7||of==8,H/2,0)
... Rolles217. "vite написал:
Rolles217, ну если следовать парадигме объектно ориентированной модели, чтобы извлечь значение ячейки, нам потребуется также определить индекс строки. То есть, выражение должно иметь примерно следующий вид:
$def.A[$def.SelectedIndex]
$def.B[$def.SelectedIndex]
"
не совсем понял почему переменная должна иметь такой вид.. в твоем варианте получается что в объекте $def должна хранится вся БД целиком..
а я говорю про то что во время выбора в списке,...
Автор: vite. Rolles217, ну если следовать парадигме объектно ориентированной модели, чтобы извлечь значение ячейки, нам потребуется также определить индекс строки. То есть, выражение должно иметь примерно следующий вид:
$def.A[$def.SelectedIndex]
$def.B[$def.SelectedIndex]
при условии, что переменная ссылается на объект таблицы базы данных. Теперь сравним с выражением текущей реализации:
find(DB.A, $def==DB.def)
find(DB.B, $def==DB.def)
Чем различаются представленные ...
... }
}
в отличии от команды ZoomMax, команда ZoomAll показывает изображение в пределах границ страницы. если нужно приблизить или уменьшить изображение, используйте команды ZoomIn/ZoomOut. чтобы отобразить только выбранные объекты, используйте ZoomSelected.