Реклама i
Стань нашим партнером - зарабатывай с нами!
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Другие CAD системы > Tekla > Tekla Structures. Редактор шаблонов. Графическое поле.

Tekla Structures. Редактор шаблонов. Графическое поле.

Ответ
Поиск в этой теме
Непрочитано 17.09.2015, 09:30 #1
Tekla Structures. Редактор шаблонов. Графическое поле.
100k
 
Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986

Не понимаю как использовать графическое поле в редакторе шаблонов. Это только для арматуры?
Надо, что бы в графическом поле выводилось сечение профиля балки (уголок, двутавр, швеллер, экзотические профиля и тд). Вставка символа или рисование профиля линиями, полигонами в редакторе шаблонов не подходит.
Так же ищу вразумительный пример использования свободных атрибутов.

Миниатюры
Нажмите на изображение для увеличения
Название: графическое_поле.png
Просмотров: 875
Размер:	58.5 Кб
ID:	157084  


Последний раз редактировалось 100k, 01.10.2015 в 10:25.
Просмотров: 19342
 
Непрочитано 17.09.2015, 10:05
#2
Кореш

Самоходная нейросеть
 
Регистрация: 12.12.2007
Питер
Сообщений: 1,200


Вам надо найти старую среду KMDRUS, при ее реверсивном инжиниринге многое становится ясным.
Кореш вне форума  
 
Непрочитано 17.09.2015, 10:08
#3
Jacques DoChirac

Шаман
 
Регистрация: 23.11.2011
Горький
Сообщений: 188


Боюсь что только для арматуры. По свободным атрибутам самое вразумительное здесь https://teklastructures.support.tekl...ram_attributes
__________________
Ищу методику расчёта на прогрессирующее облысение
Jacques DoChirac вне форума  
 
Непрочитано 17.09.2015, 10:46
#4
Zezza


 
Регистрация: 22.10.2007
Челябинск->Москва<->Бомбей
Сообщений: 857


Тоже было как-то интересно, когда встал вопрос почему шрифт корявый у некоторых пользователей в ведомости деталей. Тогда тупо его поменял в этих свободных аттрибутах. Так руки больше и не доходили. Залез ща на Текла-форум, там они не дальше ушли, чем здесь. См. вложение с лучшим ответом.
Миниатюры
Нажмите на изображение для увеличения
Название: 1222.PNG
Просмотров: 411
Размер:	16.8 Кб
ID:	157092  
Zezza вне форума  
 
Автор темы   Непрочитано 17.09.2015, 11:03
#5
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


http://forum.dwg.ru/showpost.php?p=1...&postcount=283
Вот мелькали свободные атрибуты у sivlad.
У меня стоит задача, сделать вывод разных типов профилей одной строкой.
100k вне форума  
 
Непрочитано 17.09.2015, 11:22
#6
Zezza


 
Регистрация: 22.10.2007
Челябинск->Москва<->Бомбей
Сообщений: 857


Ну так же это тоже у него для арматуры гнутой было, а не для стальных профилей.
Задача отличная, держи в курсе!)
Zezza вне форума  
 
Автор темы   Непрочитано 17.09.2015, 11:26
#7
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


Цитата:
Сообщение от Zezza Посмотреть сообщение
Ну так же это тоже у него для арматуры гнутой было, а не для стальных профилей.
Задача отличная, держи в курсе!)
Решение есть...
100k вне форума  
 
Непрочитано 17.09.2015, 11:34
#8
Zezza


 
Регистрация: 22.10.2007
Челябинск->Москва<->Бомбей
Сообщений: 857


Цитата:
Сообщение от 100k Посмотреть сообщение
Решение есть...
Не отрицаю. Не вникал.
Но теперь и самому интересно. Какое же?
Zezza вне форума  
 
Непрочитано 17.09.2015, 14:33
#9
РТО4


 
Регистрация: 25.05.2015
Сообщений: 224


Offtop: может не ново но все же кину... http://teklastructures.support.tekla...de_210_rus.pdf
РТО4 вне форума  
 
Автор темы   Непрочитано 22.09.2015, 09:47
#10
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


С графическим полем, кажется, разобрался. Крайне мало используемая вещь, практически бесполезная для рядового пользователя.

Последний раз редактировалось 100k, 22.09.2015 в 09:52.
100k вне форума  
 
Непрочитано 22.09.2015, 09:57
#11
Zezza


 
Регистрация: 22.10.2007
Челябинск->Москва<->Бомбей
Сообщений: 857


А как же эта тема, что вид сверху пластины вставлять?
Zezza вне форума  
 
Автор темы   Непрочитано 22.09.2015, 10:05
#12
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


Цитата:
Сообщение от Zezza Посмотреть сообщение
А как же эта тема, что вид сверху пластины вставлять?
Да, еще можно арматуру отображать.
https://teklastructures.support.tekl...nding_diagrams
Пожалуй, на этом все.
100k вне форума  
 
Автор темы   Непрочитано 30.09.2015, 10:16
#13
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


Вот детальнее про графическое поле.
http://forum.zlating.ru/viewtopic.php?f=7&t=136
Миниатюры
Нажмите на изображение для увеличения
Название: поле2.png
Просмотров: 831
Размер:	111.2 Кб
ID:	157739  
100k вне форума  
 
Автор темы   Непрочитано 17.11.2015, 16:36
#14
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


Новое граф. поле.
https://teklastructures.support.tekl...t_presentation
100k вне форума  
 
Непрочитано 17.11.2015, 20:47
#15
andrejjerdna

Борьба с пустотой
 
Блог
 
Регистрация: 30.01.2014
Владимир
Сообщений: 558
Отправить сообщение для andrejjerdna с помощью Skype™


Цитата:
Сообщение от 100k Посмотреть сообщение
Очень полезная информация!

А по ж.б. что-то можно вытянуть в таком духе, например вытащить поперечное сечение балки?
andrejjerdna вне форума  
 
Автор темы   Непрочитано 17.11.2015, 21:15
#16
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


andrejjerdna,
Можно сделать самому, если есть некоторые знания C# и TS API.
Я сделал такое поле (сечение любой балки), работает. Это файл dll копируется в папку TS и можно использовать в любом шаблоне. Получается параметрическая картинка в графическом шаблоне на чертежах. Можно использовать в метках и таблицах. Можно нарисовать контур сборки ( например эскиз фермы).
В целом процесс не очень приятный, не понял, как запустить дебагер НЕ в режиме отладки плагина (атач и все такое). Если получится запускать в режиме win app, то будет гораздо удобнее.
см пост 13.

Последний раз редактировалось 100k, 17.11.2015 в 21:24.
100k вне форума  
 
Непрочитано 19.11.2015, 15:52
#17
pdimav

Инженер-конструктор
 
Регистрация: 02.08.2009
Тула
Сообщений: 461


Цитата:
Сообщение от 100k Посмотреть сообщение
andrejjerdna,
Можно сделать самому, если есть некоторые знания C# и TS API.
Я сделал такое поле (сечение любой балки), работает. Это файл dll копируется в папку TS и можно использовать в любом шаблоне. Получается параметрическая картинка в графическом шаблоне на чертежах. Можно использовать в метках и таблицах. Можно нарисовать контур сборки ( например эскиз фермы).
В целом процесс не очень приятный, не понял, как запустить дебагер НЕ в режиме отладки плагина (атач и все такое). Если получится запускать в режиме win app, то будет гораздо удобнее.
см пост 13.
Привет.
А можешь выложить проект с добавлением доп. параметра?
pdimav вне форума  
 
Автор темы   Непрочитано 19.11.2015, 16:21
#18
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


Цитата:
Сообщение от pdimav Посмотреть сообщение
Привет.
А можешь выложить проект с добавлением доп. параметра?
Нет.
Это мой труд, и я потратил на это много времени. Все подсказки см пост 13.
100k вне форума  
 
Непрочитано 19.11.2015, 16:24
#19
pdimav

Инженер-конструктор
 
Регистрация: 02.08.2009
Тула
Сообщений: 461


..ты же был за идею все выкладывать! Сейчас изменил свою позицию, взгляды?
pdimav вне форума  
 
Автор темы   Непрочитано 19.11.2015, 17:31
#20
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


pdimav,
Чем-то мне не жаль поделится, чем-то жаль.

Вот похвастаюсь, сделал недавно 3 плагина. Легкота...
http://screencast.com/t/V3EPePgs8l
100k вне форума  
 
Непрочитано 19.11.2015, 18:00
#21
Zezza


 
Регистрация: 22.10.2007
Челябинск->Москва<->Бомбей
Сообщений: 857


Цитата:
Сообщение от 100k Посмотреть сообщение
Легкота...
Болты совсем лёгкостью не веят!)
Zezza вне форума  
 
Непрочитано 19.11.2015, 18:11
#22
andrejjerdna

Борьба с пустотой
 
Блог
 
Регистрация: 30.01.2014
Владимир
Сообщений: 558
Отправить сообщение для andrejjerdna с помощью Skype™


Цитата:
Сообщение от Zezza Посмотреть сообщение
Болты совсем лёгкостью не веят!)
Надо мыслить шире, толще и длиннее!)))

п.с. думаю тут показан сам принцип, но болтики можно было поставить поменьше, дабы не вводить никого в заблуждение.
andrejjerdna вне форума  
 
Непрочитано 20.11.2015, 09:45
#23
olegrussia


 
Регистрация: 18.01.2007
Россия
Сообщений: 2,345
<phrase 1= Отправить сообщение для olegrussia с помощью Skype™


Цитата:
Сообщение от 100k Посмотреть сообщение
Вот похвастаюсь, сделал недавно 3 плагина. Легкота...
не в тему, но всё же... Не думал что сейчас фермы из уголков еще проектируют. Я последнюю в 2007 году сделал и то задолбали вопросом на стройке - почему не из профтрубы?
olegrussia вне форума  
 
Автор темы   Непрочитано 20.11.2015, 10:17
#24
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


olegrussia,
Делают, не часто. Восновном для пром зданий, с существенной нагрузкой
Для зданий с небольшим пролетом, чаще делают "молодечно". Из труб более эстетично, удобно красить и тд.
Но плагины выше можно использовать не только для ферм из уголков, можно одиночные уголки, с авто центрированием по ц.т сечения, связи из одиночных уголков тд. Сухарики, кстати, устанавливаются автоматом (шаг и размер) в зависимости от сечения уголка.
Я даже когда-то даааавно сделал программу для расчета узлов ферм ГСП, до сих пор пользуюсь.
А так мы не против ГСП ферм.
http://screencast.com/t/KJgAWtFK
Миниатюры
Нажмите на изображение для увеличения
Название: молодечно.jpg
Просмотров: 256
Размер:	60.7 Кб
ID:	160793  
100k вне форума  
 
Непрочитано 23.11.2015, 09:57
#25
pdimav

Инженер-конструктор
 
Регистрация: 02.08.2009
Тула
Сообщений: 461


100k, мне понравилось.
Задел есть. Есть конечно над чем поработать.
Хорошо бы объединиться в познании Теклы...

Я связи "мутил" по другому, сразу с сухарями... см. вложение.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.JPG
Просмотров: 274
Размер:	51.8 Кб
ID:	160925  
pdimav вне форума  
 
Непрочитано 23.11.2015, 13:21
#26
CagoBukoB


 
Регистрация: 19.03.2012
Сообщений: 79


добрый день! подскажите как убрать надпись "Tekla structures" в левом нижнем углу на чертежах ??
__________________
всякого повидал...
CagoBukoB вне форума  
 
Автор темы   Непрочитано 23.11.2015, 14:39
#27
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


pdimav,
Мы открыты к сотрудничеству
http://screencast.com/t/bodjPGJTc17Y
100k вне форума  
 
Непрочитано 23.11.2015, 15:09
#28
olegrussia


 
Регистрация: 18.01.2007
Россия
Сообщений: 2,345
<phrase 1= Отправить сообщение для olegrussia с помощью Skype™


Цитата:
Сообщение от 100k Посмотреть сообщение
А так мы не против ГСП ферм.
http://screencast.com/t/KJgAWtFK
красава!
olegrussia вне форума  
 
Автор темы   Непрочитано 23.11.2015, 15:24
#29
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


Цитата:
Сообщение от olegrussia Посмотреть сообщение
красава!
Рад бы возразить... да против правды не попрешь.
100k вне форума  
 
Непрочитано 23.11.2015, 18:50
#30
kisli


 
Регистрация: 05.12.2013
Спб
Сообщений: 130


Цитата:
Сообщение от 100k Посмотреть сообщение
Рад бы возразить... да против правды не попрешь.
Наверно глупый вопрос, но все же) Плагины это то что на C# в текле при помощи open API?
kisli вне форума  
 
Непрочитано 25.11.2015, 11:22
#31
miko2009

Инженер-конструктор
 
Регистрация: 13.10.2011
Москва
Сообщений: 2,359


Цитата:
Сообщение от kisli Посмотреть сообщение
Плагины это то что на C#
на любом языке , хоть 1С
miko2009 вне форума  
 
Автор темы   Непрочитано 28.11.2015, 21:49
#32
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


На любом .Net языке. Самые популярные VisualBasic и C#
http://screencast.com/t/jtgfCM3Gr
http://screencast.com/t/NQW0emVMbn

Последний раз редактировалось 100k, 28.11.2015 в 22:09.
100k вне форума  
 
Непрочитано 01.12.2015, 21:06
#33
pdimav

Инженер-конструктор
 
Регистрация: 02.08.2009
Тула
Сообщений: 461


Работа 2014 года..
https://youtu.be/6zTx6BavVoE
pdimav вне форума  
 
Автор темы   Непрочитано 03.12.2015, 22:31
1 | #34
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


Еще одна интересная вестчъ.
Может кому нить пригодится. Мне очень понравилось буду считать сварные швы через TS.
При расчете сварных швов на действие момента, зачастую требуется высчитать площадь сварных швов, моменты инерции, положении ц.т. и т.д. Не самая интересная и творческая работа. Это вполне можно делать через API TS.
Момент инерции полигона(сварного шва) по точкам.
Найти плоскость расположения сварных швов (момент действует в плоскости швов или в плоскости перпендикулярной) получить полигоны сварных швов на этой плоскости и найти геометрические характеристики.
Вершины полигона должны быть упорядочены против или по часовой стрелке (если по часовой то моменты инерции отритцательные. поэтому в концы по модулю)
Код:
[Выделить все]
        #region Моменты инерции полигона относительно глобальных осей
        public static void GetPolygonMomentInertia(List<Point> points, out double Ix, out double Iy)
        {
            Ix = 0; Iy = 0;
            int num_points = points.Count;
            double xi = 0, yi;
            double xi1 = 0, yi1 = 0;
            for (int i = 0; i < num_points; i++)
            {                
                xi = points[i].X; yi = points[i].Y;
                xi1 = points[(i + 1) % num_points].X;
                yi1 = points[(i + 1) % num_points].Y;
                Ix += (yi * yi + yi * yi1 + yi1 * yi1) * (xi * yi1 - xi1 * yi);
                Iy += (xi * xi + xi * xi1 + xi1 * xi1) * (xi * yi1 - xi1 * yi);
            }
            Ix /= 12;
            Iy /= 12;
            Ix = System.Math.Abs(Ix);
            Iy = System.Math.Abs(Iy);
        }
        #endregion

Последний раз редактировалось 100k, 06.12.2015 в 01:20.
100k вне форума  
 
Непрочитано 04.12.2015, 09:37
#35
Chardash

Соискатель
 
Регистрация: 12.03.2011
Урал
Сообщений: 1,497


100k, .
Очень полезная информация и идея. Я бы через Грина или Остроградского наверное делал, решай я эту задачу, тк здесь сложно отследить, как вывели формулу. Но, раз формула есть, тем более в Википедии, должна правильно работать.
Chardash вне форума  
 
Автор темы   Непрочитано 04.12.2015, 09:49
2 | #36
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


Chardash,

Я уже сделал библиотеку и проверил все по примера из пособия, считает все адекватно получаю сварные швы (автоматом по плоскости контакта между деталями) привожу их к сложному сечению получаю геом х-ки и считаю швы на усилия, потом может попробую усилия брать из элемента в Текле. Получилось просто блеск.
А это впринципе и есть формула Грина, чуток переработанная

1. Нахожу плоскость контакта между 2мя деталями теклы.
2. Нахожу сварные швы, которые крепят вторую деталь к первой.
3. Нахожу координаты полигонов сварных швов из п.2 на плоскости контакта.
4. Получаю геометрические характеристики сварных швов в плоскости контакта.

Так выглядит процесс в первом приближении. Все в см.

http://screencast.com/t/65CZ2Wjq
http://screencast.com/t/GovaE0u3v2
Миниатюры
Нажмите на изображение для увеличения
Название: geom.png
Просмотров: 121
Размер:	15.9 Кб
ID:	161606  

Последний раз редактировалось 100k, 04.12.2015 в 17:39.
100k вне форума  
 
Автор темы   Непрочитано 07.12.2015, 00:00
#37
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


Во втором приближении.
Сварным швам надо задавать префикс "z", тогда размер шва = размеру катета (уточняю).
Слегка притормаживет, так как внешнее приложение, думаю, что плагинами делать смысла нету, макросы будут работать очень шустро.
Вся в геометрия берется из модели, в перспективе, надо и усилия брать из элемента (которые используются в ведомости элементов КМ)
Момент в плоскости перпендикулярной св. швам
http://screencast.com/t/X7ex68cayW3T
Момент в плоскости параллельной св.швам.
http://screencast.com/t/GtU0Tktgi
Не надо писать про уголки и момент, это тест.
100k вне форума  
 
Непрочитано 07.12.2015, 00:48
#38
Chardash

Соискатель
 
Регистрация: 12.03.2011
Урал
Сообщений: 1,497


Классно! Хорошо бы еще такую штуку сделать, из расчетной программы в узлы модели принимала усилия, рисовала швы в модели. Или пользователем моделировались швы, но была какая то связь с усилиями из расчетной. || Пользователь сам назначал усилия, что уже есть похоже. Унифицировала швы по команде пользователя, на чертежах количество швов считалось в ведомостях и чертилось - формировались отчеты по различным шаблонам.
Зимой/летом тоже хочу попробовать API Текла.

----- добавлено через ~2 мин. -----
... пока всякую хрень рисую.
Код:
[Выделить все]
 
 
void CObject3D::draw()
{
    glClear(GL_COLOR_BUFFER_BIT);
    int i, j, k;
	glColor3f(1,0,0);
	// боковая
	glBegin(GL_QUAD_STRIP);
	for (j=0;j<=360;j+=angle)
	{
	  glColor3f(1.0,1.0,0.0);
	  glVertex3f(Cos(j)*radius,+1*height,Sin(j)*radius);
	  glColor3f(0.0,1.0,0.0);
	  glVertex3f(Cos(j)*radius,-1*height,Sin(j)*radius);
	}
	glEnd();
	/* верхняя-нижняя грань */
	for (i=1;i>=-1;i-=2)
	{
	  glBegin(GL_TRIANGLE_FAN);
	  glColor3f(0.0,0.0,1.0);
	  glVertex3f(1*radius,i*height,0);
	  for (k=0;k<=360;k+=angle)
	  {
		glColor3f(1.0,0.0,0.0);
		glVertex3f(i*Sin(k)*radius,i*height,Cos(k)*radius);
	  }
	  glEnd();
	}
	glEnd();
}

Последний раз редактировалось Chardash, 07.12.2015 в 01:20.
Chardash вне форума  
 
Непрочитано 07.12.2015, 19:36
#39
helpstud


 
Регистрация: 26.05.2005
Минск
Сообщений: 96


Определение геометрических характеристик для тонкостенного сечения (сварных швов в т.ч.) по координатам концов отрезка и его толщине:
Код:
[Выделить все]
    ' Определение геометрических характеристик открытого тонкостенного сечения
    ' n - число плоских участков
    '      /\
    '     /!!\ Z
    ' ============
    '      !!
    '      !!
    '      !!-------> Y
    '      !!
    '      !!
    ' ============
    Sub calcGeomOpenThinWalledSec(ByVal n As Integer, ByVal y() As Single, ByVal z() As Single, ByVal t() As Single, ByVal rv() As Single, ByRef gtw As geometrCharacteristics)
        Dim dA() As Single, A As Single, Sy0 As Single, Sz0 As Single
        Dim ygc As Single, zgc As Single   ' Координаты центра тяжести
        Dim Iy0 As Single, Iz0 As Single, Iy As Single, Iz As Single, Iyz As Single, Iyz0 As Single
        Dim Iw As Single, wmean As Single, wmax As Single
        Dim Iyw0 As Single, Izw0 As Single, Iyw As Single, Izw As Single
        Dim Iksi As Single, Inu As Single
        Dim Iww0 As Single, Iww As Single
        Dim Iwb As Single                  ' Бимомент инерции (постоянная кручения)
        Dim It As Single                   ' Момент инерции кручения (свободного)
        Dim Ir As Single                   ' Полярный момент инерции сечения относительно центра сдвига
        Dim ry As Single, rz As Single
        Dim w() As Single, ws() As Single, w0() As Single
        Dim ysc As Single, zsc As Single   ' Координаты центра сдвига
        Dim yc() As Single, zc() As Single
        Dim yna() As Single, zna() As Single
        Dim Wt As Single, tmin As Single
        Dim Wy As Single, Wz As Single
        Dim Ww As Single                   ' Модуль депланации
        Dim ys As Single, zs As Single     ' Расстояния между центром сдвига и центром тяжести
        Dim b1 As Single, b2 As Single
        Dim i As Integer, j As Integer, i1 As Integer
        Dim alf As Single

        Erase dA
        ReDim dA(n)

        ' Полная площадь сечения
        A = 0
        For i = 1 To n
            ' Площадь части сечения
            dA(i) = t(i) * ((y(i) - y(i - 1)) ^ 2 + (z(i) - z(i - 1)) ^ 2) ^ 0.5
            A = A + dA(i)  ' Полная площадь сечения
        Next i

        ' Определение габаритов сечения
        Dim ymax As Single, ymin As Single, zmax As Single, zmin As Single, h As Single, b As Single
        desMaxMinValVector(y, ymax, ymin)
        desMaxMinValVector(z, zmax, zmin)
        h = zmax - zmin
        b = ymax - ymin

        ' Статические моменты сечения относительно осей y0 и z0 (исходные произвольные)
        Sy0 = 0 : Sz0 = 0
        For i = 1 To n
            Sy0 = Sy0 + 0.5 * (z(i) + z(i - 1)) * dA(i)
            Sz0 = Sz0 + 0.5 * (y(i) + y(i - 1)) * dA(i)
        Next i

        '                     t
        ' |  |      Х- - - | -| -| --------------\
        ' |  |             |  |  |               |
        ' |  |-------------|  |  |               |
        ' |   ----------------o  |               |
        ' |----------------------x               | zgc
        '           |             (zmin,ymax)    |
        '           |                            |
        '           |                            |
        '           |                    O-------\
        '           |                    |
        '          -/-------- ygc -------/-

        ' Координаты центра тяжести от начала координат
        zgc = Sy0 / A : ygc = Sz0 / A

        ' Осевые моменты инерции относительно осей y0 и z0 (исходные произвольные)
        Iy0 = 0 : Iz0 = 0
        b1 = 1.0 / 3.0
        For i = 1 To n
            i1 = i - 1
            Iy0 = Iy0 + b1 * (z(i) ^ 2 + z(i1) ^ 2 + z(i) * z(i1)) * dA(i)
            Iz0 = Iz0 + b1 * (y(i) ^ 2 + y(i1) ^ 2 + y(i) * y(i1)) * dA(i)
        Next i

        ' Осевые моменты инерции относительно центральных осей y и z (проходят через ц.т.)
        Iy = Iy0 - A * zgc ^ 2
        Iz = Iz0 - A * ygc ^ 2
        ' Радиусы инерции
        ry = (Iy / A) ^ 0.5
        rz = (Iz / A) ^ 0.5

        ' Моменты сопротивления изгибу крайних волокон относительно центральных осей y и z
        ' Определяются наименьшие
        Dim zniz As Single             ' Расстояние от ц.т. полного сечения до нижнего крайнего волокна сечения (с учетом толщины)
        Dim zverx As Single            ' Расстояние от ц.т. полного сечения до верхнего крайнего волокна сечения (с учетом толщины)
        Dim ylevo As Single            ' Расстояние от ц.т. полного сечения до левого крайнего волокна сечения (с учетом толщины)
        Dim ypravo As Single           ' Расстояние от ц.т. полного сечения до правого крайнего волокна сечения (с учетом толщины)

        zniz = Math.Abs(zgc - zmin) + 0.5 * t(1)
        zverx = Math.Abs(h - zniz) + t(1)
        ypravo = Math.Abs(ygc - ymax) + 0.5 * t(1)
        ylevo = Math.Abs(b - ypravo) + t(1)
        b1 = Math.Max(zniz, zverx)
        Wy = Iy / b1
        b1 = Math.Max(ylevo, ypravo)
        Wz = Iz / b1
        'rc = feMess(3, "cr: Моменты сопротивления изгибу крайних волокон относительно центральных осей y и z")
        'rc = feMess(3, "cr: В вертикальной плоскости Wy = " & Wy)
        'rc = feMess(3, "cr: В горизонтальной плоскости Wz = " & Wz)

        ' Центробежный момент инерции сечения относительно осей y0 и z0 и осей y и z,
        ' проходящих через ц.т.
        Iyz0 = 0
        b1 = 1.0 / 6.0
        For i = 1 To n
            i1 = i - 1
            Iyz0 = Iyz0 + b1 * (2 * y(i1) * z(i1) + 2 * y(i) * z(i) + y(i1) * z(i) + y(i) * z(i1)) * dA(i)
        Next i
        Iyz = Iyz0 - Sy0 * Sz0 / A

        ' Основная ось (главная) - угол наклона
        b1 = Iz - Iy
        If (b1 <> 0) Then
            alf = 0.5 * Math.Atan(2 * Iyz / b1)  ' Угол наклона главной оси с max моментом инерции
        Else
            alf = 0
        End If

        ' Осевые моменты инерции относительно главных осей
        Iksi = 0.5 * (Iy + Iz + Math.Sqrt((Iz - Iy) ^ 2 + 4 * Iyz ^ 2))  ' Max
        Inu = 0.5 * (Iy + Iz - Math.Sqrt((Iz - Iy) ^ 2 + 4 * Iyz ^ 2))   ' Min

        ' Секториальные координаты w0 относительно осей y0,z0 (исходные)
        Erase w0
        ReDim w0(n)
        w0(0) = 0
        For i = 1 To n
            i1 = i - 1
            w0(i) = y(i1) * z(i) - y(i) * z(i1)
        Next i

        ' Секториальные координаты w относительно осей y,z
        Erase w
        ReDim w(n)
        w(0) = 0
        For i = 1 To n
            w(i) = w(i - 1) + w0(i)
        Next i

        ' Секториальный статический момент, ^4
        Iw = 0
        For i = 1 To n
            Iw = Iw + 0.5 * (w(i - 1) + w(i)) * dA(i)
        Next i
        wmean = Iw / A

        ' Секториальные постоянные
        Iyw0 = 0 : Izw0 = 0 : Iww0 = 0
        b1 = 1.0 / 6.0
        b2 = 1.0 / 3.0
        For i = 1 To n
            i1 = i - 1
            Iyw0 = Iyw0 + b1 * (2.0 * y(i1) * w(i1) + 2.0 * y(i) * w(i) + y(i1) * w(i) + y(i) * w(i1)) * dA(i)
            Izw0 = Izw0 + b1 * (2.0 * z(i1) * w(i1) + 2.0 * z(i) * w(i) + z(i1) * w(i) + z(i) * w(i1)) * dA(i)
            Iww0 = Iww0 + b2 * (w(i) ^ 2 + w(i1) ^ 2 + w(i) * w(i1)) * dA(i)
        Next i
        Iyw = Iyw0 - Sz0 * Iw / A  ' Секториально-линейный статический момент, ^5
        Izw = Izw0 - Sy0 * Iw / A  ' Секториально-линейный статический момент, ^5
        Iww = Iww0 - Iw ^ 2 / A    ' Секториальный момент инерции, ^5

        ' Координаты центра сдвига
        b1 = Iy * Iz - Iyz ^ 2
        If (b1 <> 0) Then
            ysc = (Izw * Iz - Iyw * Iyz) / b1
            zsc = (-Iyw * Iy + Izw * Iyz) / b1
        Else
            ysc = 0 : zsc = 0
        End If

        ' Бимомент инерции (постоянная депланации, warping constant)
        Iwb = Iww + zsc * Iyw - ysc * Izw

        ' Момент инерции свободного кручения (постоянная кручения, torsion constant)
        It = 0.0
        b1 = 1.0 / 3.0
        tmin = t(1)
        For i = 1 To n
            It = It + b1 * t(i) ^ 2 * dA(i)
            tmin = Math.Min(tmin, t(i))
        Next i
        If (tmin = 0.0) Then
            tmin = t(1)
            For i = 1 To n
                If (t(i) <> 0.0) Then   ' Минимальная из всех толщин кроме 0
                    tmin = Math.Min(tmin, t(i))
                End If
            Next i
        End If
        Wt = It / tmin

        ' Секториальная координата центра сдвига
        Erase ws
        ReDim ws(n)
        wmax = Math.Abs(ws(1))
        For j = 0 To n
            ws(j) = w(j) - wmean + zsc * (y(j) - ygc) - ysc * (z(j) - zgc)
            wmax = Math.Max(wmax, Math.Abs(ws(j)))
        Next j

        ' Максимальная секториальная координата и модуль депланации
        Ww = Iw / wmax

        ' Расстояния между центром сдвига и центром тяжести
        ys = ysc - ygc : zs = zsc - zgc

        ' Полярный момент инерции сечения относительно центра сдвига
        Ir = Iy + Iz + A * (ys ^ 2 + zs ^ 2)

        ' Коэффициенты несимметрии Zj и Yj согласно Приложения F
        Erase yc, zc, yna, zna
        ReDim yc(n), zc(n)
        ReDim yna(n), zna(n)
        For j = 0 To n
            b1 = 0 : b2 = 0
            For i = 1 To n
                i1 = i - 1
                yc(i) = 0.5 * (y(i) + y(i1)) - ygc
                zc(i) = 0.5 * (z(i) + z(i1)) - zgc
                b1 = b1 + (zc(i) ^ 3 + zc(i) * (0.25 * (z(i) - z(i1)) ^ 2 + yc(i) ^ 2 + (y(i) - y(i1)) ^ 2 / 12.0) + _
                yc(i) * (y(i) - y(i1)) * (z(i) - z(i1)) / 6.0) * dA(i)

                b2 = b2 + (yc(i) ^ 3 + yc(i) * (0.25 * (y(i) - y(i1)) ^ 2 + zc(i) ^ 2 + (z(i) - z(i1)) ^ 2 / 12.0) + _
                zc(i) * (z(i) - z(i1)) * (y(i) - y(i1)) / 6.0) * dA(i)
            Next i
            zna(j) = zs - (0.5 / Iy) * b1
            yna(j) = ys - (0.5 / Iz) * b2
        Next j

        ' Загрузка геометрических характеристик в базу
        gtw.A = A
        gtw.yc = ygc : gtw.zc = zgc
        'gtw.ylevo = ylevo : gtw.ypravo = ypravo
        'gtw.zniz = zniz : gtw.zverx = zverx
        gtw.Iy = Iy : gtw.Iz = Iz : gtw.Iyz = Iyz
        gtw.ry = ry : gtw.rz = rz
        gtw.alfaImax = alf                ' Угол наклона оси с Imax
        gtw.Imax = Iksi : gtw.Imin = Inu
        gtw.Iw = Iw : gtw.Iyw = Iyw : gtw.Izw = Izw
        gtw.ysc = ysc : gtw.zsc = zsc
        gtw.ys = ys : gtw.zs = zs
        gtw.Iww = Iww
        gtw.Iwb = Iwb
        gtw.It = It
        'gtw.Wt = Wt
        'gtw.Ww = Ww
        'gtw.Wy = Wy : gtw.Wz = Wz
    End Sub
__________________
Все что нас окружает - это мозги... и немного природных ресурсов...
helpstud вне форума  
 
Автор темы   Непрочитано 09.12.2015, 11:21
#40
100k

Жалкий инженеришка-проектаст
 
Регистрация: 31.01.2010
Сообщений: 1,986


http://screencast.com/t/TtGYoBfYtGMX
Сделал автоматическое нахождение св.швов. не могу придумать, как сделать размеры катетов автоматом (по толщинам свариваемых деталей)
pdimav,
Есть идеи? Как определить толщины свариваемых деталей?

Как это работает
1. Находятся "плоскости контакта" между двумя деталями.
2. Находится полигон (как мин один) по которому эти детали соприкасаются
3. Стороны этого полигона и есть сварные швы.

про болты из видео писать не надо, это плагин, в котором я пока не предусмотрел поворот болтов и изменение количества гаек

Цитата:
Сообщение от Chardash Посмотреть сообщение
Классно! Хорошо бы еще такую штуку сделать, из расчетной программы в узлы модели принимала усилия, рисовала швы в модели. Или пользователем моделировались швы, но была какая то связь с усилиями из расчетной. || Пользователь сам назначал усилия, что уже есть похоже. Унифицировала швы по команде пользователя, на чертежах количество швов считалось в ведомостях и чертилось - формировались отчеты по различным шаблонам.
Зимой/летом тоже хочу попробовать API Текла.
Многое решаемо, что-то уже есть, но трудозатраты не окупятся. Такое, думаю, возможно только в серьезной организации и нормальном финансировании.
Усилия из расчетной модели получаются и так.

Последний раз редактировалось 100k, 09.12.2015 в 11:43.
100k вне форума  
 
Непрочитано 10.12.2015, 14:25
#41
Chardash

Соискатель
 
Регистрация: 12.03.2011
Урал
Сообщений: 1,497


100k, доброго времени. пока pdimav нет. Как вариант, зная координаты точек на плоскости, можно вычислить расстояние между плоскостями (параллельными, пересекающимися прямыми для швеллеров с уклоном). Но уверен это не единственный вариант.

на скрине через IEnumerable https://msdn.microsoft.com/ru-ru/lib...code-snippet-1
Миниатюры
Нажмите на изображение для увеличения
Название: 2015-12-10_16-19-13.jpg
Просмотров: 132
Размер:	87.2 Кб
ID:	162047  
Chardash вне форума  
 
Непрочитано 11.12.2015, 16:31
#42
Chardash

Соискатель
 
Регистрация: 12.03.2011
Урал
Сообщений: 1,497


Цитата:
Сообщение от 100k Посмотреть сообщение
Многое решаемо, что-то уже есть, но трудозатраты не окупятся. Такое, думаю, возможно только в серьезной организации и нормальном финансировании.
Да, тоже так считаю. Но понятие нормального финансирования для каждого свое. А вообще, конечно, хорошо иметь в штате опытных инженеров и программистов.
Chardash вне форума  
 
Непрочитано 22.12.2018, 14:52 Параметры графического поля
#43
evgeniyreva


 
Регистрация: 18.12.2018
Сообщений: 5


Вопрос по граф.полю. Не могу разобраться с пользовательскими атрибутами графического поля в ведомости арматуры: Хочу увеличить шрифт размеров на участках - ввожу параметр FontSize=3, после чего деталь в ведомости (хомут) сплющился просто до одной линии.
evgeniyreva вне форума  
 
Непрочитано 24.12.2018, 10:38
#44
sivlad

Конструктор
 
Регистрация: 23.11.2005
Москва
Сообщений: 313


evgeniyreva, а что происходит, если увеличить высоту графического поля?
sivlad вне форума  
 
Непрочитано 24.12.2018, 12:58
#45
evgeniyreva


 
Регистрация: 18.12.2018
Сообщений: 5


Размеры поля уже по максимуму. Но я вроде разобрался: параметр bendingAngle был =2. Поставил на 0 - вроде бы нормально. Но отгибы небольших размеров слабо видно - прочитал в справке про ScaleType сейчас попробую. Может есть какие-то рекомендации по настройке ведомости деталей Кж? Буду благодарен).
evgeniyreva вне форума  
 
Непрочитано 24.12.2018, 15:44
1 | #46
sivlad

Конструктор
 
Регистрация: 23.11.2005
Москва
Сообщений: 313


evgeniyreva, если вас не устраивает какое-либо автоматически получаемое отображение гнутой формы, то есть возможность этот эскиз сделать вручную с помощью линий, дуг и т. п. или вообще импортировать его из DWG-файла. Размеры в таком случае нужно поставить с помощью Полей значений. Например, длину первого участка гнутого стержня получить с помощью GetValue("DIM_A").
В общем виде алгоритм действий будет выглядеть так:
1. Добавляем новую строку в ВРС и прописываем условие фильтрации для неё под конкретную форму (if GetValue("SHAPE_INTERNAL")=="6_1"...)
2. Рисуем прямо в Редакторе нужную арматурную форму или импортируем в него DWG-файл с таким эскизом
3. Устанавливаем необходимые размеры с помощью полей. Например, GetValue("DIM_A")
4. Исключаем эту форму из условий вывода других полей этой ВРС. Например, так if GetValue("SHAPE_INTERNAL")!="6_1"...
5. Для неопределённых форм (SHAPE_INTERNAL==Unknown) необходимо распознать их с помощью "Диспетчера форм арматурных стержней". После этого можно будет считывать стандартные поля DIM_A, DIM_B и т. п.
sivlad вне форума  
 
Непрочитано 24.12.2018, 16:06
#47
evgeniyreva


 
Регистрация: 18.12.2018
Сообщений: 5


sivlad, понял. Большое спасибо!
evgeniyreva вне форума  
 
Непрочитано 24.12.2018, 16:15
#48
sivlad

Конструктор
 
Регистрация: 23.11.2005
Москва
Сообщений: 313


Пожалуйста!
sivlad вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Другие CAD системы > Tekla > Tekla Structures. Редактор шаблонов. Графическое поле.

Размещение рекламы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какой метод получения чертежей выбрать, работая в Tekla Structures ? pdimav Tekla 15 12.01.2018 09:12
Нужен дистрибутив Tekla Structures Learning 19.1 Kandello Tekla 3 07.09.2015 19:36
Автоматизация работы в программе Tekla Structures sfera04 Tekla 19 24.10.2014 09:57