ak1m (Всі повідомлення користувача)

Форум пользователей программных комплексов ЛИРА-САПР, МОНОМАХ-САПР, САПФИР-3D, ЭСПРИ

У зв'язку з великою кількістю неіснуючих підписок на оновлення форуму була проведена очистка. Якщо ви перестали отримувати повідомлення з оновленнями, прохання провести підписку знову.
Вибрати дату в календаріВибрати дату в календарі

Сторінки: 1 2 3 Наст.
Ошибка при взаимодействии с LiraResAPI через python
 
Здравствуйте, возникла проблема с генерацией рамы по примеру из документации. Помогите пожалуйста с решением.
Код
#! usr/bin/env python
# -*- coding: utf-8 -*-

import comtypes
from comtypes.client import GetModule, CreateObject
GetModule(r'C:\Program Files (x86)\LIRA SAPR\LIRA SAPR 2024\Bin\x64\LiraSapr.exe')
GetModule(r'C:\Program Files (x86)\LIRA SAPR\LIRA SAPR 2024\Bin\x64\LiraResAPI.dll')
from comtypes.gen import LiraSapr
from comtypes.gen import LiraSaprRes

app = CreateObject(LiraSapr.LiraApplication)
app = app.QueryInterface(LiraSapr.ILiraApplication)
doc = app.CreateNewDocument('Test_frame')
doc = doc.QueryInterface(LiraSapr.ILiraDocument)

Nodes = doc.AllTables.CreateNewItem(LiraSapr.LiraTableEnum.kLiraTable_Nodes_Coordinates)
Nodes = Nodes.QueryInterface(LiraSapr.ILiraTable)
NodesCoords = [[1, 0.0, 0.0, 0.0 ], [2, 6.0, 0.0, 0.0 ], [3, 0.0, 0.0, 3.0 ], [4, 6.0, 0.0, 3.0 ]]

def gen_tab_str(list_):
    # возвращает строки, разделенные табуляцией на основе списка
    res = ''
    for row in list_:
        s = '\t'.join(str(i) for i in row) + '\n'
        res += s
    return res

NodesCoords_str = gen_tab_str(NodesCoords)
Nodes.SetContents(NodesCoords_str)
Els = doc.AllTables.CreateNewItem(LiraSapr.LiraTableEnum.kLiraTable_Elements_TypeAndNodes)
Els = Els.QueryInterface(LiraSapr.ILiraTable)
ElTypeNodes = [[1, 10, "1, 3"], [2, 10, "2, 4"], [3, 10, "3, 4"]]
ElTypeNodes_str = gen_tab_str(ElTypeNodes)
Els.SetContents(ElTypeNodes_str)

Nodes.Apply()
Els.Apply()
Возникает следующая ошибка
Код
Traceback (most recent call last):
  File "C:\Users\ZimnitskiiAV\Desktop\lirapythonAPI\frame_test.py", line 36, in <module>
    Nodes.Apply()
ctypes.ArgumentError: argument 1: TypeError: expected LP_BSTR instance instead of str
При этом таблица создается в файле, но почему то не применяется через API(собственно ошибка и возникает при выполнении метода Apply). Но ее можно применить через окно Таблиц ввода.

Подскажите пожалуйста в чем может быть проблема. ЛИРА САПР 2024 R2.3 x64
Ошибка при взаимодействии с LiraResAPI через python
 
В общем все оказалось проще. Этот указатель передается автоматически. Все работает.
Дописал код, чтобы анализировал только выбранные узлы. Спасибо за помощь. :)  
Код
#! usr/bin/env python
 # -*- coding: utf-8 -*-
 
 from comtypes.client import GetModule, CreateObject
 GetModule(r'C:\Program Files (x86)\LIRA SAPR\LIRA SAPR 2024 DEMO\Bin\x64\LiraSapr.exe')
 GetModule(r'C:\Program Files (x86)\LIRA SAPR\LIRA SAPR 2024 DEMO\Bin\x64\LiraResAPI.dll')
 from comtypes.gen import LiraSapr
 from comtypes.gen import LiraSaprRes
 
 
 app = CreateObject(LiraSapr.LiraApplication)
 app = app.QueryInterface(LiraSapr.ILiraApplication)
 doc = app.ActiveDocument
 doc = doc.QueryInterface(LiraSapr.ILiraDocument)
 print(doc.PathName)
 
 
 selected_nodes = doc.GetSelection(Subj = LiraSapr.LiraSelEnum.kLiraSel_Ns)
 selected_elems = doc.GetSelection(Subj = LiraSapr.LiraSelEnum.kLiraSel_Els)
 selected_nodes_str = ','.join(str(i) for i in selected_nodes)
 selected_elems_str = ','.join(str(i) for i in selected_elems)
 
 print(f'Выбраны узлы: {selected_nodes_str}')
 print(f'Выбраны элементы: {selected_elems_str}')
 
 ##help(LiraSapr)
 
 result = CreateObject(LiraSaprRes.LiraResultsAccess)
 result = result.QueryInterface(LiraSaprRes.ILiraResultsAccess)
 request = result.CreateNewRequest(LiraSaprRes.LiraRequestEnum.kLiraRequest_LoadCaseDisplacement)
 request = request.QueryInterface(LiraSaprRes.ILiraLoadCaseDisplacementsRequest)
 
 request.DocumentName = doc.Title
 request.Nodes.AddFromString(selected_nodes_str)
 
 response = result.LoadCaseDisplacements(request)
 
 
 lc = 1
 
 for i in range(request.Nodes.Count):
     node = request.Nodes.Item[i]
     x = response.GetNodeX(node, lc)
     y = response.GetNodeY(node, lc)
     z = response.GetNodeZ(node, lc)
 
     print(f'Node:{node}')
     print(f'X:{x}')
     print(f'Y:{y}')
     print(f'Z:{z}\n')
Ошибка при взаимодействии с LiraResAPI через python
 
Спасибо. Дописал пример. Вдруг будет кому-нибудь полезно.
Код
from comtypes.client import GetModule, CreateObject
from comtypes.gen import LiraSaprRes

GetModule(r"C:\Program Files (x86)\LIRA SAPR\LIRA SAPR 2024\Bin\x64\LiraResAPI.dll")

result = CreateObject(LiraSaprRes.LiraResultsAccess)
result = result.QueryInterface(LiraSaprRes.ILiraResultsAccess)
request = result.CreateNewRequest(LiraSaprRes.LiraRequestEnum.kLiraRequest_LoadCaseDisplacement)
request = request.QueryInterface(LiraSaprRes.ILiraLoadCaseDisplacementsRequest)

request.DocumentName = "test_file"
request.Nodes.AddFromString("1-5")

response = result.LoadCaseDisplacements(request)

lc = 1

for i in range(request.Nodes.Count):
    node = request.Nodes.Item[i]
    x = response.GetNodeX(node, lc)
    y = response.GetNodeY(node, lc)
    z = response.GetNodeZ(node, lc)

    print(f'Node:{node}')
    print(f'X:{x}')
    print(f'Y:{y}')
    print(f'Z:{z}\n')

alekstish, напишите пожалуйста пример использования метода GetSelection. Судя по описанию он принимает в качестве первого аргумента указатель pNumbers. Что под ним подразумевается?

Ошибка при взаимодействии с LiraResAPI через python
 
Добрый день.
Пытаюсь подключится к API с помощью модуля comtypes.
Для начала хочу реализовать пример1 из документации. Но при вызове метода CreateNewRequest всплывает ошибка.
Код
import comtypes
import comtypes.client

LiraSaprRes = comtypes.client.GetModule(r"C:\Program Files (x86)\LIRA SAPR\LIRA SAPR 2024\Bin\x64\LiraResAPI.dll")
result = LiraSaprRes.LiraResultsAccess()
iresult = result.QueryInterface(LiraSaprRes.ILiraResultsAccess)
request = iresult.CreateNewRequest(LiraSaprRes.LiraRequestEnum.kLiraRequest_LoadCaseDisplacement)

Ошибка следующая
Код
Traceback (most recent call last):
  File "C:/lirapythonAPI/com_lira_sapr_res5.py", line 11, in <module>
    request = iresult.CreateNewRequest(LiraSaprRes.LiraRequestEnum.kLiraRequest_LoadCaseDisplacement)
_ctypes.COMError: (-2147467263, 'Не поддерживается', (None, None, None, 0, None)

У кого-нибудь есть идеи, что я делаю неправильно? Сделал реализацию и на Excel VBA, там все работает.

При этом в python все классы, интерфейсы и прочее из DLL импортируются нормально, я могу создавать экземпляры и т.д. Но ошибки возникают, когда пытаюсь вызвать методы классов.
Змінено: ak1m - 05.12.2024 11:05:24
Ошибки в программе ЛИРА*
 
Цитата
АлексейVIP написал:
А вы в ручном расчете перепроверяли? С чего вы взяли, что это ошибка в ЛИРе?    
Ну как бы должно быть 7912.50 < 547821.63, а в Лире больше :D
Вообще Лира последнее время предоставляет право поучавствовать в платном бета тестировании своих новых версий. Правда за это платите Вы, а не Вам.
Почему при повороте местных осей подколонников меняется арматура по трещинам
 
Цитата
ander написал:
насколько я понимаю, эта беда связана с тем, что в алгоритме подбора арматуры основной изгибной плоскостью является плоскость вдоль оси Z1 сечения стержня (как для классических балок). Поэтому, если точно известно в какой плоскости максимальные изгибающие моменты, в той плоскости и нужно назначать ось Z1 сечения.
Это не всегда очевидно. Часто в башнях похожие моменты в разных плоскостях, а арматура может разная получится при разном положении осей. Последнее время стал крутить оси и смотреть. В итоге принимаю тот вариант, где больше арматуры.
Почему при повороте местных осей подколонников меняется арматура по трещинам
 
Почему до сих пор нет комментария от разработчиков? Как обойти этот баг?
Почему при повороте местных осей подколонников меняется арматура по трещинам
 
Цитата
АлексейVIP написал:
Приветствую коллега! Это есть такой "новый баг" со шкалой, по результатам таблиц у Вас все четко бьется и по усилиям и по армированию, а вот "визуальный эффЕхт" подводит
Нет это не тот баг. Таблица и шкала совпадают. Тут проблема в том, что при каком-то положении осей Лира запихивает лишнюю арматуру в AS1, а при каком-то подбирает и AS1  и AS3. Вот например подколонник по осям 1-Б.
По прочности картина нормальная: AS1 поменялась с AS3. А до трещинам какая-то фигня.
Змінено: ak1m - 31.10.2018 12:51:52
Почему при повороте местных осей подколонников меняется арматура по трещинам
 
При угле в 90 градусов требуемая арматура по сторонам 7d25 и 6d25
При угле 0 градусов уже 10d25 и 3d25.
Почему так получается? Чему верить?
ЛИРА САПР 2017 R3. В ЛИРА САПР 2018 картина аналогичная.
Про эту проблему писали в прошлом году. Так и не получили ответа. Столкнулись повторно.
Змінено: ak1m - 30.10.2018 14:11:15
ЛИРА САПР 2018 неправильно подбирает арматуру по трещинам
 
Цитата
alekstish написал:
Для кратковременной нагрузки с долей длительности 0 используйте вид загружения "Мгновенное".
Для мгновенной нагрузки неправильно учитывается отрывная комбинация на первому основному сочетанию, что отражено в письме к Вам, которое мы отправили в июне 2018 и так и не получили комментариев по этому вопросу.
В итоге, пытаясь уйти от этого бага, мы пришли к другому.
Ещё есть снег с долей длительности 0, например.
Цитата
Мгновенное загружение никогда не входит в первое основное сочетание. А входит только во второе. В итоге отрывающее усилие оказывается заниженным. По первому сочетанию отрыв в стержне должен быть -10+100 = 90 т, а в РСУ получается -10+100*0,9 = -10+90=80 т.
См. rsu_test.lir
Змінено: ak1m - 17.10.2018 10:07:29
ЛИРА САПР 2018 неправильно подбирает арматуру по трещинам
 
Предлагаю сделать открытый для всех раздел Bug report. Где есть все текущие подтверждённые и неисправленные баги программы, чтобы все пользователи видели их и не наступали на одни и те же грабли, что и другие пользователи, которые обратились в техподдержку.
ЛИРА САПР 2018 неправильно подбирает арматуру по трещинам
 
Это связано с присутствием в РСУ кратковременной нагрузки с долей длительности 0. От этой нагрузки не считаются кратковременные трещины. Прошу разработчиков обратить на это внимание.
ЛИРА САПР 2018 неправильно подбирает арматуру по трещинам
 
Цитата
рекс написал:
вовремя....  
Теперь объекты за последние 5 мес пересматриваю :o
В некоторых схемах корректно подбирает, в некоторых нет, не могу понять из-за чего.
Змінено: ak1m - 11.10.2018 19:11:31
ЛИРА САПР 2018 неправильно подбирает арматуру по трещинам
 
В который раз удивляюсь работе Лиры. Почему в 2017 всё нормально, а в 2018 уже нет? Ну и в чём смысл обновляться?

Если в 2018 версии запустить локальный расчёт элемента, то арматура соответствует 2017. В "глобальном расчёте" подбирается только по прочности
Змінено: ak1m - 11.10.2018 17:17:24
Всплески поперечной силы в кольцевой стене
 
Теперь не понятно как избавится от этого эффекта не перебивая сетку.
Всплески поперечной силы в кольцевой стене
 
Разбил сетку так, чтобы не было элементов, повёрнутых на 45 градусов. Теперь эпюра равномерная.
Прошу обратить внимание разработчиков на этот эффект, чтобы его как-то отлавливать на стадии расчёта схемы.
Всплески поперечной силы в кольцевой стене
 
Здравствуйте.
Кольцевая стена загружена распределенной нагрузкой 1т/м2. Не могу понять из-за чего такие всплески поперечной силы Qy. Причём они равно в тех элементах которые наклонены под 45 градусов к оси X. Это глюк такой? Или так и должно быть в кольце.
Змінено: ak1m - 18.06.2018 18:56:53
Помилка при підборі арматури
 
У Вас прочность по перерезывающей силе не обеспечена. Собственный вес у плиты в 10 раз больше. Плюс ещё из-за продольных связей по контуру дополнительная продольная сила в балках.
Вопрос к разработчикам
 

Здравствуйте, уважаемые разработчики. При работе в Лира САПР 2017 R3 обновление 1 возникли следующие вопросы:

  1. Лир АРМ игнорирует диаметр арматуры для расчёта трещин. Результаты для d10 и d32 одинаковы. См. Задачу трещины.lir балки 500х1000.

  2. При построении контура продавливания игнорируются жесткие ставки. Обратите внимание на колонну 900х400.

Вопрос к разработчикам
 

При перемещении узлов с включенной галочкой «пересекать с другими КЭ» появляются висячие в воздухе узлы. Лира САПР 2017 R3



Змінено: ak1m - 26.12.2017 10:25:02
Сторінки: 1 2 3 Наст.