[QUOTE]Алексей написал: По вашему расчёту чтобы заработало - нужно стабилизировать систему. [/QUOTE] Благодарю вас за дельный совет, расчёт и правда пошёл. Если кому-то будет интересно: описание флага "Стабилизировать систему" дано в справке по T-FLEX Анализ в разделе "Статический анализ -> Статическая прочность -> Параметры расчёта". [url=https://ibb.co/5YVs78k][img]https://i.ibb.co/bHnNfBF/image.png[/img][/url]
[QUOTE]A-Pak написал: Николай , Вы же сами писали Николай написал: В качестве иллюстрации привожу рис. 616 из тома 2 уважаемой монументальной работы: Орлов П.И. Основы конструирования: Справочно-методическое пособие в 2-х кн. В качестве объекта для расчёта выбрано соединение по квадрату, как простое в изготовлении и контроле. На рис. 617 из того же Орлова дана расчётная схема для оценки напряжения в соединении:[/QUOTE] К сожалению, Орлов приводит лишь готовые формулы: "примем, что напряжения смятия распределяются на гранях по закону треугольника (рис. 617)." Объяснений, почему именно так, не даётся. Возможно, у вас есть под рукой более глубокий материал по этой теме?
[QUOTE]A-Pak написал: При приложении крутящего момента через рукоятку к квадрату давление возрастает от середины грани к ребру линейно и равномерно по всей высоте квадрата. Максимальная распределенная сила на ребро через рычаг будет кратно больше отношению длины рычага к размеру квадрата.[/QUOTE] А можете пожалуйста поделиться ссылкой на источник, где это положение более развёрнуто выводится и объясняется?
В качестве иллюстрации того, ради чего вся моя суета: 3D-модель кронштейна, соединённого с пластиной болтами: [url=https://ibb.co/RjyHkqw][img]https://i.ibb.co/sWH3dZY/Femap.jpg[/img][/url] 2 варианта результата, когда контакт тел учитывается более правдоподобно: [url=https://ibb.co/GHrKZ0g][img]https://i.ibb.co/rdXCBmn/Femap.jpg[/img][/url] Т.е. хотелось бы получить в T-FLEX Анализ похожую картинку - как деформируется рукоятка и основание в месте их соединения квадратом, с учётом того, что соединение "не склеенное".
[QUOTE]A-Pak написал: Основание закрепите, а к граням квадрата приложите давление с заданным законом распределения.[/QUOTE] Уважаемый A-Pak, а откуда взять этот закон?
[QUOTE]Алексей написал: Так в модели нет ни одной нагрузки - что вы рассчитываете?![/QUOTE] Да, действительно, крутящий момент, приложенный к рукоятке, "отвалился", остался только на рисунке в исходном сообщении. Исправляю.
Вообще мысль такова: есть соединение деталей, возможно, не совсем типичное, например как этот "квадрат" или треугольник, или, скажем, "звёздочка", шлицы и т.д. Так как передача крутящего момента - широко распространённая потребность, то хотелось понять, может ли T-FLEX Анализ показать, что происходит в соединении 2-х деталей. Если оставить поведение по-умолчанию, то, цитируя справку: ... все элементы задачи считаются единым целым (подобно клеевому соединению) ... Но в таком случае, увидеть, а что же происходит в самом соединении - не получится. Поэтому я попытался наложить ограничения в виде "касания", чтобы избежать "склеивания" тел. Пока что результата нет. Из этого 2 мысли: 1 либо моя модель имеет какой-то принципиальный недочёт и что-то я делаю неверно; 2 либо T-FLEX Анализ не подходит для решения в такой постановке и надо либо вручную что-то оценочно считать, либо что-то другое пробовать.
[QUOTE]A-Pak написал: Между рукояткой и основанием зазор есть?[/QUOTE] Нет, зазора никакого нет, размер квадрата в рукоятке и основании одинаков, сторона квадрата 20 мм. Также рукоятка без зазора касается ("лежит") на "юбке" основания (см. грань "Касание 5"). Т.е. ни зазоров, ни пересечений тел нет.
[FONT="Times New Roman", Times][SIZE=14pt]Здравствуйте, уважаемые коллеги, участники форума.[/SIZE][/FONT] [FONT="Times New Roman", Times][SIZE=14pt]Для повышения квалификации и улучшения уровня проработки проектируемых изделий хочу научиться пользоваться T-FLEX Анализ. Из рабочей практики появилась необходимость оценить прочность так называемого призматического соединения. В качестве иллюстрации привожу рис. 616 из тома 2 уважаемой монументальной работы: Орлов П.И. Основы конструирования: Справочно-методическое пособие в 2-х кн.[/SIZE][/FONT] [URL=https://disk.yandex.ru/i/FQ0ZdFdVR4ezQA][IMG]https://i.ibb.co/TvbTG64/2-616.png[/IMG][/URL] [FONT="Times New Roman", Times][SIZE=14pt]В качестве объекта для расчёта выбрано соединение по квадрату, как простое в изготовлении и контроле. На рис. 617 из того же Орлова дана расчётная схема для оценки напряжения в соединении:[/SIZE][/FONT] [URL=https://ibb.co/kxqFvbf][IMG WIDTH=519 HEIGHT=669]https://i.ibb.co/px4p5V8/2-617.png[/IMG][/URL] [FONT="Times New Roman", Times][SIZE=14pt]В T-FLEX CAD 17 были подготовлены 3D-модели основания и рукоятки. В качестве граничных условий использовались "Полное закрепление" и "Контакт: касание". На рисунках деталей показаны грани с "Контакт: касание", на рисунке сборки - грани с "Полным закреплением" и нагружающим моментом.[/SIZE][/FONT] [url=https://ibb.co/YXZtGKd][img]https://i.ibb.co/bFJrnyv/tf17.png[/img][/url][url=https://ibb.co/tCj4zMV][img]https://i.ibb.co/6s9m8Rj/tf17.png[/img][/url] [url=https://ibb.co/NxDt1Jk][img]https://i.ibb.co/nrd63YV/tf17-3-D.png[/img][/url] [FONT="Times New Roman", Times][SIZE=14pt]При попытке выполнить расчёт такой модели:[/SIZE][/FONT] [url=https://ibb.co/MNqsvDt][img]https://i.ibb.co/rynmjGz/image.png[/img][/url] [FONT="Times New Roman", Times][SIZE=14pt]Таким образом, мои попытки рассчитать соединение в T-FLEX Анализ пока что результатов не дали, поэтому я хотел бы попросить совета у более опытных коллег: [B]каковы возможные причины ошибок при решении СЛАУ, в какую сторону копать... [/B] Файлы с моделями прикладываю к сообщению. В обозримом будущем, хотелось бы подобным образом получить возможность оценивать, например, шлицевые, шпоночные соединения на предмет передачи крутящего момента.[/SIZE][/FONT]
[QUOTE]Алексей Коваль написал: [QUOTE][URL=/forum/index.php?PAGE_NAME=profile_view&UID=12871&tags=&q=linux&FORUM_ID%5B0%5D=0&DATE_CHANGE=0&order=relevance&s=%CD%E0%E9%F2%E8]Алексей[/URL] написал: А так в общий доступ мы дадим информацию по мере её наличия[/QUOTE]
Так не понятно, если везде уже не первый год заявляется о работе T-FLEX под WINE, почему до сих пор нет ни информации, ни мануала по установке?[/QUOTE] [QUOTE]Дмитрий Козлов написал: а вот и новость подвезли [URL=https://www.tflex.ru/about/news/detail/index.php?ID=4762]T-FLEX CAD готов к работе на отечественной ОС Astra Linux![/URL]
"Под Astra Linux (технология Wine) работают коммерческая и учебная версия системы T-FLEX CAD."
и снова возникает вопрос - как ставить то? =))[/QUOTE] Ввиду всем известных событий, а также принципа "спасение утопающих - дело рук самих утопающих", наличие реальной возможности работы T-Flex CAD без Windows вполне себе актуальный момент. Если всё пойдёт по худшему сценарию - хотелось бы не допустить остановки работы конструкторского подразделения из-за коллапса ПО. Поэтому присоединяюсь к просьбам уважаемых коллег: каким образом можно повторить у себя впечатляющий результат из данной статьи? - [URL=https://www.tflex.ru/about/news/detail/index.php?ID=4762]T-FLEX CAD готов к работе на отечественной ОС Astra Linux![/URL] Наблюдение собственными глазами (или глазами твоего руководства) осязаемого, "живого", работающего решения - всегда весомый аргумент в пользу именно этого пути решения внезапно возникающей проблемы. В идеале, конечно, хотелось бы увидеть работу T-Flex CAD 17 на ОС общего назначения ASTRA LINUX COMMON EDITION.
Доброго времени суток, уважаемые форумчане. На нашем предприятии приобретены пара лицензий T-Flex CAD 17 (сборка 17.0.27.0) для новых работ, требующих улучшенного функционала. На основой массе рабочих мест работает T-Flex CAD 12 (сборка 12.0.81.0). Хотел бы попросить вашего совета и помощи. Вопрос касается ньюанса работы с откатом 3Д-модели.
«Профиль_СРЕЗ» создан на грани «Грань_3», принадлежащей выталкиванию «ВЫБОРКА» (см. Рисунок 2 ниже). Модель показана в процессе создания «Профиль_СРЕЗ», «Грань_3» выбрана, а выталкивание «БАЗА» погашено, для удобства обзора. Рисунок 2
При необходимости перезадать «Профиль_СРЕЗ», например, на другую грань выталкивания «ВЫБОРКА», в T-Flex 12 мне кажется удобным откатить 3D-модель к выталкиванию «ВЫБОРКА» и выбрать команду «Изменить» для «Профиль_СРЕЗ» (см. Рисунок 3 ниже): Рисунок 3
Важный ньюанс: в состоянии отката к выталкиванию «ВЫБОРКА» «Профиль_СРЕЗ» также остаётся в 3D-сцене, он доступен и с ним можно работать. Я понимаю логику работы T-Flex 12 так: «Профиль_СРЕЗ» построен на «Грань_3», которая существует в 3D-сцене, пока существует её родитель - выталкивание «ВЫБОРКА». Благодаря этому я могу изменить «Профиль_СРЕЗ» и выбрать нижнюю грань выталкивания «ВЫБОРКА». При этом «Профиль_СРЕЗ» остаётся на том же уровне «родитель-потомок» в логике построений 3D-модели. Такая возможность становится особенно важной когда: 1 связь между «Грань_3» и «Профиль_СРЕЗ» нарушилась и необходимо восстановить её, не разрушив 3D-модель (особенно если модель сложная и делал её другой конструктор); 2 если «Профиль_СРЕЗ» нужно перезадать от другой грани того же выталкивания или другой операции.
T-FLEX CAD 17.0.27.0
Теперь рассмотрим состояние отката той же 3D-модели к выталкиванию «ВЫБОРКА», но уже в T-Flex 17 (см. Рисунок 4 ниже): Рисунок 4
Здесь выталкивание «ВЫБОРКА» существует, но «Грань_3» не существует (отображется серым цветом в дереве 3D-модели). «Профиль_СРЕЗ» также не существует, в 3D-сцене отсутствует, работать с ним нельзя.
В связи с вышеизложенным, возникают следующие вопросы: 1. Какая логика отношений «родитель-потомок» заложена в T-Flex CAD 17 в этом случае — почему «Грань_3» и «Профиль_СРЕЗ» отмечены как погашенные (скрытые / недоступные)? 2. Что предпринять, если в процессе работы и изменений 3D-модели связь между «ВЫБОРКА» → «Грань_3» или «Грань_3» → «Профиль_СРЕЗ» нарушилась и необходимо восстановить её; 3. Если «Профиль_СРЕЗ» нужно перезадать от другой грани того же выталкивания или другой операции?
Подозреваю, что я упускаю какой-то тонкий ньюанс, если возможно, направьте меня, может где-то в официальной справке T-Flex CAD 17 можно прочитать, как это предполагалось разработчиками. Хочется понимать свой инструмент, тем более, что система становится всё мощнее и сложнее, а базовые механизмы всё глубже уходят в недра.
Шурик написал: Николай написал:T-FLEX Symbol Type A и T-FLEX Type A как бы разные шрифты
Шурик, вы правы, я не заметил своей ошибки. Сообщаю результат: при выборе шрифта T-FLEX Symbol Type A в статусе документа символ-разделитель диаметра и шага резьбы устанавливается на необходимый х в соответствии с ГОСТ 8724-2002. Вот скриншот: http://ibb.co/bMKanc Шурик, благодарю за помощь, ларчик просто открывался
Используемая версия TFlex CAD: 12.0.81.0 Дата сборки: October 21 2015.
Хотел бы обсудить с вами обозначение резьбы в TFlex CAD.
Согласно разделу 5 "Обозначения резьбы" по ГОСТ 8724-2002 "Резьба метрическая. Диаметры и шаги":
В условное обозначение размера резьбы должны входить: буква М, номинальный диаметр резьбы и шаг резьбы, выраженные в миллиметрах и разделённые знаком " х ".
Пример: М8х1,25.
Вот как обозначение резьбы формирует TFlex CAD 12 (слева показана проекция):
В качестве символьного шрифта в документе используется шрифт Tflexs_b.shx (меню Настройка - Статус...). http://ibb.co/komnVx
Таким образом, обозначение резьбы, формируемое TFlex CAD 12 в моём случае не соответствует ГОСТ 8724-2002.
Прошу вашего совета в решении вопроса о том, каким образом заставить TFlex обозначать резьбу по ГОСТу, а именно вставлять между диаметром резьбы и её шагом символ " х " вместо символа " * " (звёздочка).
P.S. Помню, когда работа шла в версии TFlex CAD 10, такого вопроса не возникало, разделителем был символ " х ".
Обнаружил в классе TFlex.Model.Model2D.MultilineText (позволяет управлять многострочным текстом, см. команду TE: Создать текст - Создать многострочный текст<M>) странности при установке свойства Node. Свойству нельзя задать значение, отличное от null. То есть, с помощью API нельзя привязать текст к узлу. Вручную в CAD это, конечно, возможно. Ниже привожу код тестового макроса. Он был создан с помощью встроенного редактора макросов TFlex CAD. Макрос находится в файле "Тест MultilineText_Node.grb".[CODE]using System; using TFlex.Model; using TFlex.Model.Model2D; using System.Windows.Forms; namespace NewMacroNamespace { public class NewMacroClass { public static void Привязать_многострочный_текст_к_узлу() { Document doc = TFlex.Application.ActiveDocument; if (doc != null && doc.Selection.GetSize() > 0 && //Выбран хотя бы один элемент doc.Selection.GetAt(0).GetType() == typeof(MultilineText)) //И это многострочный текст { if (!doc.IsChanging()) doc.BeginChanges("Привязка текста к узлу"); MultilineText text = (MultilineText)doc.Selection.GetAt(0); //В условии тип уже проверили FreeNode node = new FreeNode(doc, new Parameter(10), new Parameter(20)); //Координаты узла X=10, Y=20 //Пытаемся привязать текст к только что созданному узлу node text.Node = node; if (doc.IsChanging()) doc.EndChanges(); //Сообщение в окне всегда будет "Свойство Node выбранного текста: null" MessageBox.Show( String.Format("Свойство Node выбранного текста: {0}", text.Node == null ? "null" : text.Node.GetType().FullName)); } } } }[/CODE]Перед запуском макроса необходимо выбрать многострочный текст на единственной странице. После выполнения строки [CODE]text.Node = node;[/CODE]свойство Node остаётся null. В конце работы макрос всегда показывает сообщение "Свойство Node выбранного текста: null". Для лучшего понимания, что происходит в блоке set, заглянем в недра сборки TFlexAPI с помощью бесплатной утилиты JetBrains dotPeek ([URL=https://www.jetbrains.com/decompiler/)]https://www.jetbrains.com/decompiler/)[/URL]. Декомпилированный код блока set свойства TFlex.Model.Model2D.MultilineText.Node:[CODE]// Assembly: TFlexAPI, Version=12.0.74.0, Culture=neutral, PublicKeyToken=eab6a180a6be0d77 // Assembly location: C:\Program Files (x86)\T-FLEX\T-FLEX CAD 12\Program\TFlexAPI.dll /// <summary> /// Узел привязки текста /// </summary> public unsafe Node Node { get { ... } set { this.CheckObject((ModelObject) value); TFMultilineText* textForSet = this.TextForSet; if (value != null) return; //от себя: нет никакой реализации для установки свойства *(int*) ((IntPtr) textForSet + 236) = -1; //от себя: выполняется для случая value == null } }[/CODE]Обратите внимание на строки:[CODE]if (value != null) return;[/CODE]Значит, установить свойство Node в не-null невозможно, вместо этого происходит простой возврат из блока set. Для сравнения привожу аналогичный код для класса LineText. Он позволяет управлять строчным текстом TFlex CAD, см. команду TE: Создать текст - Создать строчный текст<D>. Блок set для свойства TFlex.Model.Model2D.LineText.Node:[CODE]/// <summary> /// Узел привязки текста /// </summary> public unsafe Node Node { get { ... } set { this.CheckObject((ModelObject) value); if (value == null) *(int*) ((IntPtr) this.repSet + 236) = -1; else *(int*) ((IntPtr) this.repSet + 236) = <Module>.CTFObject.GetIndex((CTFObject*) value.repGet); }[/CODE]Обратите внимание, что здесь обрабатываются оба случая, когда value == null и когда != null. В отличие от MultilineText.Node, свойство LineText.Node и позволяет привязать строчный текст к заданному узлу. Жду ваших комментариев, уважаемые форумчане. Надеюсь, что вышеописанный недочёт дойдёт до внимания разработчиков и будет устранён для API TFlex CAD 12. Файл "Тест MultilineText_Node.grb" прикреплён к сообщению. Используемая версия CAD: TFlex CAD x32 12.0.74.0 Версия среды выполнения: v4.0.30319 Сборка TFlexAPI, Version=12.0.74.0, Culture=neutral, PublicKeyToken=eab6a180a6be0d77 Операционная система: Windows 7 x64.
Частично решил свою проблему, установив ТFleхАРI.dll и ТFleхАРI3D.dll в глобальный кеш сборок. Исключение System.InvalidCastException не выбрасывается, ТFleхАРI.dll и ТFleхАРI3D.dll перестали загружаться 2 раза. Макрос заработал, но я заметил странности: 1. при выборе линии на проекции её тип стал определяться как TFlex.Model.Model2D.Outline; 2. свойство Outline.SybType == Undefined. То есть если мне понадобится доступ к свойствам класса ProjectionOutline - ничего не выйдет. В чём глобальная причина выяснить так и не удалось, подозреваю, что на моей машине какие-то проблемы с NET Framework. При запуске макроса на другой машине с Windows 7 макрос отрабатывает абсолютно корректно, без установки ТFleхАРI.dll и ТFleхАРI3D.dll в GAC.
[CODE]ProjectionOutline Pln = mo as ProjectionOutline; [/CODE]Pln всегда получает значение null при выборе линии на проекции. Если я пишу вот так:
[CODE]Pln = (ProjectionOutline)mo;[/CODE]то возникает то же самое исключение System.InvalidCastException с тем же самым сообщением про невозможность привести тип А к типу В. Есть странность: сборки ТFleхАРI.dll и ТFleхАРI3D.dll загружены 2 раза (перебираю AppDomain.CurrentDomain.GetAssemblies() ): Загруженные сборки: