[QUOTE] написал: Поставил в 2Д отображать время перерисовки... Лист очень вяло таскает... И как так получается, что на нативной венде пишет GDI DrawTime 120-122ms, при этом в альт линуксе на вайне - 32-33ms?? В четыре! раза быстрее и это не просто цифры, а реально небо и земля разница при навигации по листу...[/QUOTE] Особенно тормозит обновление чертежа при перетаскивании, когда много выносных видов на листе в 2D на W10
[QUOTE] написал: [QUOTE][URL=/forum/index.php?PAGE_NAME=profile_view&UID=21630&tags=%25252525252525EF%25252525252525E5%25252525252525F0%25252525252525E5%25252525252525F1%25252525252525E5%25252525252525F7%25252525252525E5%25252525252525ED%25252525252525E8%25252525252525E5]Roman[/URL] написал: ..., для этого я и хочу получить развертку тела с помощью класса Unbend.[/QUOTE] про это в курсе...
Вы пробовали воспроизвести стандартную функцию [URL=https://www.tflexcad.ru/help/cad/17/index.html?smu.htm]Разгибание[/URL] ()?[/QUOTE] Да, операция создается, грань можно добавить цилиндрическую, тело и неподвижную грань нельзя добавить, т.к нет свойств. Можете любой пример привести кода в контексте авто-меню? Как понять из справки что класс используется в контексте авто-меню?
[QUOTE] написал: [QUOTE][URL=/forum/index.php?PAGE_NAME=profile_view&UID=21630&error=tid_not_approved&tags=%2525252525e4%2525252525e5%2525252525f2%2525252525e0%2525252525eb%2525252525fc]Roman[/URL] написал: Создать проекцию развертки на чертеже напрямую неполучатеся, т.к в справке API нет класса для создание проекции развертки.[/QUOTE] А обычная проекция чем отличается от проекции развёртки?[/QUOTE] Да возможно, для этого я и хочу получить развертку тела с помощью класса Unbend.
- набор данных измерения (т.е. выгрузить данные в XML-файл), - создать отдельный файл ( .grb ) с развёрткой, - или ... ???[/QUOTE] vite, необходимо получить проекцию развертки на отдельном листе и габариты развертки в структуре изделия (это я уже получил с помощью API). Проблема в том что в класс Unbend нельзя добавить тело и неподвижную грань (нет свойств и методов для добавления). Создать проекцию развертки на чертеже напрямую неполучатеся, т.к в справке API нет класса для создание проекции развертки.
[CODE] document.EndChanges(); // сначала нужно закрыть блок изменений document.Save(); // потом сохранять их document.Close(); [/CODE] [/QUOTE] vite, копия нужна получить развертку и снять размеры с развертки.
[I][B]"""vite написал:[/B][/I] [URL=https://www.tflex.ru/forum/index.php?PAGE_NAME=profile_view&UID=21630][I][B]Roman[/B][/I][/URL][I][B], вы можете прикрепить модель, созданную в ручном режиме, чтобы приблизительно понимать чего вы хотите получить.[/B][/I]
[I][B]Исходная модель, тело, которое нужно преобразовать в другое тело (применить операцию).""""[/B][/I]
Хочу разогнуть листовую деталь ( а именно копию листовой детали): создать копию листовой детали получается, далее пытаюсь добавить в класс unbend тело и неподвижную плоскость, но немогу найти свойств для добавления. private void button5_Click_1(object sender, EventArgs e) { Путь_к_Файлу_10 = @"C:\Новая папка\Деталь 2.grb"; string Путь_к_Файлу_Сборки = Путь_к_Файлу_10; List<string> newlist1 = new List<string>(); Document document = TFlex.Application.OpenDocument($@"{Путь_к_Файлу_Сборки}"); document.BeginChanges("Создание проекции"); RegenerateOptions regenerateOptions = new RegenerateOptions(); ////Создание копии тела для развертки LCS lcs_1 = (LCS)document.GetObjectByName("ЛСК_1"); ModelObject bodypart = document.GetObjectByName("Тело_1 - Копия_развертка_1"); if (bodypart == null) { List<BodyPart> newlist_body = new List<BodyPart>(); List<BodyPart> newlist = new List<BodyPart>(); foreach (BodyPart body in document.Bodies) { if (body.Name == "Тело_1") { newlist_body.Add(body); } } PointsLCS lcs_2_1 = (PointsLCS)document.GetObjectByName("КОПИЯ_ЛСК_1"); PointsLCS lcs_2 = new PointsLCS(document); if (lcs_2_1 == null) { lcs_2.PointToOrigin = lcs_1.Geometry.Origin; lcs_2.DirectionToAxisX = lcs_1.Geometry.DirectionX; lcs_2.DirectionToAxisY = lcs_1.Geometry.DirectionY; lcs_2.Name = "КОПИЯ_ЛСК_1"; TransformationGroup преобразование = lcs_2.Transformations.AddBaseTransfGroup(); преобразование.AddMoveTransf(TransformationCoordinate.Z, 300); преобразование.Name = "преобразование копии 1"; } CopyOperation2 копирование_гибки = new CopyOperation2(document, CopyBaseOperation2.Type.Bodies); копирование_гибки.Operations.Add(newlist_body[0].BaseOperation); копирование_гибки.SourceLCS = lcs_1; if (lcs_2_1 == null) { копирование_гибки.TargetLCS = lcs_2; } else копирование_гибки.TargetLCS = lcs_2_1; копирование_гибки.CopyMode = CopyBaseOperation2.Mode.Copy; копирование_гибки.Name = "Копия_развертка_1"; document.SaveAs(@"C:\Новая папка\Деталь 20.grb"); List<ModelFace> newList_faces = new List<ModelFace>(); List<ModelFace> facesList = new List<ModelFace>(); //Перебор всех тел в сцене foreach (TFlex.Model.Model3D.BodyPart body in document.Bodies) { if (body.Name == "Тело_1 - Копия_развертка_1") { //Перебор всех твердых тел в сцене foreach (ModelBody Body in body.TopOperation.Geometry.Solid) { //Перебор всех граней твердых тел foreach (ModelFace face in Body.Faces) { //Добавляем грани в список facesList.Add(face); } } } }
[QUOTE] написал: [QUOTE][URL=/forum/index.php?PAGE_NAME=profile_view&UID=21630&%253BGID=3&error=tid_not_approved]Roman[/URL] написал: Каким способом выбрать тело для разгибания?[/QUOTE] По селектору..[/QUOTE] vite, вы имеете ввиду метод ObjectSelectControl.SetFilter? как передать тело в класс Unbend?
Добрый день! Подскажите пожалуйста, как разогнуть деталь с помощью класса Unbend? Unbend разгибание = new Unbend(document); разгибание.KeptPlanarFace = facesList[3];
Добрый день! Хочу развернуть листовую деталь. Нашел класс Unbend. В классе есть свойство [URL=ms-its:C:\Program Files\T-FLEX CAD 17\Program\tflexapi.chm::/html/P_TFlex_Model_Model3D_Unbend_CylindricalFaces.htm]CylindricalFaces[/URL] и [URL=ms-its:C:\Program Files\T-FLEX CAD 17\Program\tflexapi.chm::/html/P_TFlex_Model_Model3D_Unbend_KeptPlanarFace.htm]KeptPlanarFace[/URL], отвечающие за выбор неподвижной грани и цилиндрических поверхностей. Но не нашел свойство отвечающее за выбор самого тела. Какое свойство в классе Undend отвечает за выбор тела?
List<ModelFace> modelFace = new List<ModelFace>(); List<BodyPart> newlist_body1 = new List<BodyPart>(); foreach (BodyPart body in document.Bodies) { if (body.Name == "Тело_1 - Копия_развертка") { foreach (ModelBody Body in body.TopOperation.Geometry.Solid) {
foreach (ModelFace face in Body.Faces) {
modelFace.Add(face); } } }
} Unbend разгибание = new Unbend(document); разгибание.KeptPlanarFace = modelFace[8];
написал: Roman, *** в команде Надпись флаг По *** работает, то в спецификации скорее *** предустановленные программой свойства
Шурик, в команде Надпись флаг "/Уместить/ текст в границы" работает, но когда выходим из команды и заходим заново, значение флага сбрасывается. При простановке позиции структуры изделия значение флага "/Уместить/ текст в границы" не сохраняется.
[QUOTE] написал: [URL=https://www.tflex.ru/forum/index.php?PAGE_NAME=profile_view&UID=21630]Roman[/URL] , у вас в тексте ошибки есть информация - использовать метод. Используйте его и получите значение *** перечисления, *** пользуетесь C#.
К сожалению не работает первый способ, ошибку выдает "Ошибка компилятора CS1545" При проверке переменной по shift F9 свойство "IncludeInSpecificBom" отсутствует, есть только свойство [URL=ms-its:C:\Program Files\T-FLEX CAD 17\Program\tflexapi.chm::/html/P_TFlex_Model_Model3D_Fragment3D_IncludeInNewBom.htm]IncludeInNewBom[/URL].
Спасибо, [URL=https://www.tflex.ru/forum/index.php?PAGE_NAME=profile_view&UID=87538&sphrase_id=270053&error=tid_not_approved]Hydra[/URL]! C помощью IncludeInSpecificBom мне необходимо выяснить тип включения фрагмента в спецификацию ( "не включать", "без вложенных элементов", "с вложенными элементами"...)
Добрый день! Подскажите пожалуйста в чем может быть проблема: не могу получить свойство фрагментов [COLOR=#ee105a]IncludeInSpecificBom[/COLOR] "Включение в спецификацию". Посмотрел значение переменной i в VS через Shift+F9, данного свойства не существует, есть только свойство IncludeInNewBom. Код:
Добрый день! Не получается получить свойство IncludeInSpecificBom "Включение в спецификацию" класса Fragment3D в С#. В справке данной свойство присутствует.
, Очень странно, тоже попробовал, лагает сильно. В то же время другие, действительно тяжелые сборки с большой вложенностью и многократно превышающие по объему Вашу сборку не имеют подобной проблемы. Схожая проблема проявляется при большом количестве наложений на чертеже тяжелых объектов типа картинок, но тут такого не вижу. Любопытно и интересно.