Ан нет, вставил в другой документ - заработал.
|
12.03.2021 08:21:21
[QUOTE]vite написал:
Попробуйте задать этот вопрос в техподдержку, интересно что ответят.[/QUOTE] Задам, самому крайне интересно. |
|
|
|
|
|
12.03.2021 07:39:44
[QUOTE]vite написал:
Вопрос в том, как добраться до него через объект фрагмента.[/QUOTE] По идее эта грань, на которую накладывается адаптивный фрагмент, является родительской для него. Ну и как следствие для "Грань_1 : Сглаживание_1". Могу ошибаться, но картина пока получается весьма логичной. |
|
|
|
|
|
12.03.2021 07:29:07
Доброго дня.
Вот эти моменты не очень понятны. [QUOTE]vite написал: 3. Добавить ссылку на API в проект. 4. Добавить ссылку вашей библиотеки (DLL) в редакторе макросов.[/QUOTE] Как это реализуется? |
|
|
|
|
|
11.03.2021 12:14:41
vite, благодарю.
Буду разбираться. |
|
|
|
|
|
11.03.2021 09:52:06
[QUOTE]vite написал:
эта проблема связана с редактором макросов. Я все тесты создаю в Visual Studio, а в макросе делаю только вызов метода Run().[/QUOTE] Не сложно просветить начинающего как это сделать? в VS кодить на порядок удобнее. |
|
|
|
|
|
07.02.2021 17:12:30
vite, премного благодарен. В понедельник предметно потестирую.
[QUOTE]FRei написал: Дык вы уже это сделали, у вас есть переменная периметр get("Базовая_грань","perimeter") она вам и считает:[/QUOTE] Периметр в макросе я считаю только для временного информирования. Что бы проверить его работу. Как и количество отрезков пути. Суть моей задачи в получении длин каждого отрезка грани или 3д профиля по которым вставляется в сборку адаптивный фрагмент для последующих вычислений для каждого фрагмента и занесением результатов в структуру каждого изделия. |
|
|
|
|
|
05.02.2021 19:21:09
[QUOTE]vite написал:
Так что особой разницы нет, какой объект выступает в роли привязки.[/QUOTE] Каким образом это можно реализовать? Раз ничего не создается, то нечему и конфликтовать в сборке. А то вот какая неприятность у меня получается. Файлы в закрепе. Деталь 1 это адаптируемый фрагмент, деталь 2 - сборка с ними. |
|
|
|
|
|
05.02.2021 18:41:25
[QUOTE]vite написал:
вы можете получить длину сегментов через привязку к ребрам. Затем, привязать переменные к дочерним элементам в структуре изделия (см. вложение). Привязка геометрического объекта к переменной осуществляется через операцию "Измерение".[/QUOTE] Уже пробовал таким образом. Но печаль такого способа заключается в том что при изменении количества сегментов грани весь расчет рушится. У меня адаптивные фрагменты располагаются по рассеченной области, части этой области могут быть как треугольными, так и н-угольными, как с прямыми участками, так и с криволинейными. Существует ли способ подсчета отрезков без создания пути? Или, допустим, после сбора данных, удалить ненужные уже объекты из модели (3д путь и ребра). Главное результат в структуре изделия сохранить. :)
Изменено: - 05.02.2021 18:55:54
|
|
|
|
|
|
05.02.2021 17:06:43
[QUOTE]vite написал:
Необходимость в создании 3D-пути нужно для того, чтобы посчитать длину отрезков и вывести в отчет?[/QUOTE] Именно так. Я решения без создания 3д пути не смог найти. Или не там искал. |
|
|
|
|
|
05.02.2021 13:22:57
Благодарю за еще один пример.
Суть моей задачи: необходимо собирать длины отрезков периметра грани, на которой располагается адаптивный фрагмент в сборке, эти значения обрабатывать, результат заносить в структуру фрагмента. Периметр стандартными средствами получить - не проблема, но нужны именно длины ребер. При чем их количество и геометрия вариативны в широком диапазоне. После добавления в сборку следующего адаптивного фрагмента он не пересчитывается. |
|
|
|
|
|
05.02.2021 09:19:58
Благодарю за пример.
Нашел в коде несколько недочетов, поправил, проверил - РАБОТАЕТ! [IMG WIDTH=20 HEIGHT=20]https://www.tflex.ru/bitrix/images/main/smiles/5/ulibka.gif[/IMG] Исправленный код под спойлером.
|
|||
|
|
|
|
04.02.2021 13:21:08
Добрый день!
Строю 3д путь по ребрам грани с известным именем, но получаю в модели ссылку на 3д путь.[CODE] List<BaseCurve> EdgeCurve = new List<BaseCurve>(); List<BaseInterval> EdgeInterval = new List<BaseInterval>(); foreach (TFlex.Model.Model3D.BodyPart body in document.Bodies) { foreach (ModelBody Body in body.TopOperation.Geometry.Solid) { foreach (ModelFace face in Body.Faces) { if (face.Name == "Базовая_грань") //фильтр по имени грани { foreach (ModelEdge edge in face.Edges) { EdgeCurve.Add(edge.Curve); EdgeInterval.Add(edge.Interval); } } } } } //создаю путь Path3D pp = new EdgePath(document); pp.Name = "Path"; pp = Path3D.Create(document, EdgeCurve, EdgeInterval); [/CODE] |
|
|
|
|
|
28.01.2021 06:57:44
[QUOTE]vite написал:
длина сегмента 3D-пути определяется свойством Path3D.Path3DSegment.Length.[/QUOTE] До этого я сам докопался, изучая руководство T-Flex CAD open API, а до того как взять именно 3д путь в оборот - сам додуматься не смог. :) Еще раз благодарю! |
|
|
|
|