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

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

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

Сторінки: 1 2 Наст.
Сапфир: Python IDE. Не могу получить параметры AutoFeaData
 
C помощью GetFeaData() получил объект типа AutoFeaData из объекта типа AutoModel, далее не могу выполнить операции с параметрами полученного объета. Заявленные в "Автоматизации" функции .Parameter .GetMnParam .TypeModel не записывают переменные. То есть перменная не появляется в locals(). Подскажите в чем может быть причина ?
Код
import clr


def solve(node):
    pass
    
    doc = node.GetDocument()
    
    obj1 = doc.FindModelByID(6)
    obj2 = doc.FindModelByID2(6)
    
    fea1 = obj1.GetFeaData()
    fea2 = obj2.GetFeaData()
   
    test1 = fea1.Parameter['M_ID']
    test2 = fea2.Parameter['M_ID']
    
    prj = doc.GetActiveProject()
    obj = prj.GetModelByID(6)
    fea = obj.GetFeaData()
    
    OBP_VALUES = 0x10 
    
    a_prm = Array[object]([])
    r_a_prm = get_ref(a_prm)
    
    test1 = fea.Parameter['M_ID']
    
    fea.GetMnParam(r_a_prm, OBP_VALUES)
    a_prm = r_a_prm.Value
Змінено: Expert_Hell - 08.04.2026 08:53:23
Сапфир давление грунта определяет как длительную
 
Генерирую давления грунта от засыпки котлована, сапфир автоматов определяет загружение как длительное. В том числе если изменить параметр загружения на постоянный, тогда с какой то момент (не подловил когда конкретно) загружение автоматов переопред на длит. По сп 20 засыпка это пост п. 5.3.б
Программирование в Сапфир, Какие библиотеки за что отвечают
 
Добрый день. Подскажите пж есть ли возможность добраться до параметров нагрузки от объектов, до этапа экспорта аналитической модели в расчетную. На этапе формирования расчетноой модели у нас есть возможность обратиться с упомянутым нагрузкам. На этапе работы с аналитической моделью, параметры упомянутых нагрузок можно менять только косвено через материнские обьекты, а на прямую у меня не получается. Например я бы хотел задать наименование нагрузки содержащую название материала и тощину материнского обекта.
Змінено: Expert_Hell - 03.04.2026 03:13:58
Программирование в Сапфир, Какие библиотеки за что отвечают
 
Добрый день пытаюсь удалить объект по id. Получают такой отверт
Программирование в Сапфир, Какие библиотеки за что отвечают
 
LiraCAD.tlb а по какому пути файл находиться ? поиск по имени не дал положительного результата  
Программирование в Сапфир, Какие библиотеки за что отвечают
 
Цитата
написал:
Цитата
написал:
Кстати можно ли как то получить список возможных функций для данного объекта ? Иногда возникают ошибки о неприменимости определнных функци к определнным типам объектов
А тут я не понял. Что вы имеете в виду ?
Программирование в Сапфир, Какие библиотеки за что отвечают
 
, Спасибо за подсказку решения !
Программирование в Сапфир, Какие библиотеки за что отвечают
 
Кстати можно ли как то получить список возможных функций для данного объекта ? Иногда возникают ошибки о неприменимости определнных функци к определнным типам объектов
Программирование в Сапфир, Какие библиотеки за что отвечают
 
Добрый день через obj.Parameter нет возможности добраться до Формы АЖТ у Колонн

СТак же не удалось получить значение данного параметра через GetMnParam
Змінено: Expert_Hell - 27.02.2026 03:01:51
Программирование в Сапфир, Какие библиотеки за что отвечают
 
obj.Parameter[' '] =  с помещениями странно отрабатывает, я не могу добавить пользовательские параметры, и для помещений не подходит ClearMnParam. Кроме того непонятно что писать в идентификатор режима роботы, поставил 0 вроде работает
Змінено: Expert_Hell - 26.02.2026 06:46:05
Программирование в Сапфир, Какие библиотеки за что отвечают
 
Добрый день, если объекту лестнице добавить пользовательский параметр через obj.Parameter[' '] =  визуально физическая модель лестницы исчезает, остается аналитическа модель, так же объект останется в диспетчере но ключевая часть параметров лестницы исчезнет.

часть кода с добавлением пользовательского параметра
Код
            if obj_it_o is None:
                if obj_it is None:
                    obj.Parameter['IfcType'] = ""
                else:
                    obj.Parameter['IfcType'] = obj_it
            else:
                obj.Parameter['IfcType'] = obj_it_o
Змінено: Expert_Hell - 26.02.2026 01:25:10
Программирование в Сапфир, Какие библиотеки за что отвечают
 
, Добрый день подскажи функции которыми можно было бы искать объекты рядом с исходны ? Допустим найти объект под плитой ближайший
int32 mode, подскажите пожалуйста что такое int32 mode
 
, Спасибо ! Буду пробовать
Длина поиска для нагрузок от помещений
 
В случае если АР отаботал полы в модели объектом плитой, объекты помещения располагаются по низу от пола. В таком случае при создании расчетной модели помещения не находят основу для нагрузки, и попросту не создают свою нагрузку в модели. Настройки длины поиска по умолчанию не влияют на данную проблему.

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

В контексте моделирования полов объектом плитой, появляется необходимость в вспомогательной подкатегории "пол" для плит, по аналогу подкатегории "перегородка" для стен.
int32 mode, подскажите пожалуйста что такое int32 mode
 
Цитата
написал:
А пока стоит смотреть примеры в хелпе — там всё правильно.
К сожалению в хелпе часто нет описания идентификаторов работы режима параметров, какие варианты.
Я пробовал перебором натуральные числа, на примере GetMnParam, но получить значения так и не вышло, только имя и примечания, а вот значения получить не могу:
Код
import clr



def solve(node):

    pass



    doc = node.GetDocument()

    prj = doc.GetActiveProject()

    obj = prj.GetModelByID(5)

    

    arr_prm = Array[object]([])

    ref_arr_prm = get_ref(arr_prm)

    

    obj.GetMnParam(ref_arr_prm, 0)

    arr_prm = ref_arr_prm.Value


Из отладки, если третьи данные это значение параметра то не верное id 5 из кода

[TABLE][TR][TD] [/TD][TD]System.Object[][/TD][TD]Object[][/TD][/TR][TR][TD] [/TD][TD]M_ID[/TD][TD]String[/TD][/TR][TR][TD] [/TD][TD]Идентификатор[/TD][TD]String[/TD][/TR][TR][TD] [/TD][TD]0[/TD][TD]Int32[/TD][/TR][TR][TD] [/TD][TD]M_TYPE_MODEL[/TD][TD]String[/TD][/TR][TR][TD] [/TD][TD]Тип объекта[/TD][TD]String[/TD][/TR][TR][TD] [/TD][TD]0[/TD][TD]Int32[/TD][/TR][/TABLE]
Программирование в Сапфир, Какие библиотеки за что отвечают
 
Цитата
написал:
наследник от этажа и методы этажа
Спасибо, буду пробовать
Программирование в Сапфир, Какие библиотеки за что отвечают
 
Добрый день, подскажи имеется ли возможность из ISapfirDoc добраться до расчетной схемы ? var TM_FEAPROJECT = 6; // Конструкции до вот этой штуки ? Допустим сейчас можно через id.
Тогда возникается другой вопрос как перебрать объекты в сами нагрузки ? Ну и допустим пройтись по всем нагрузкам через тот же индекс ?
int32 mode, подскажите пожалуйста что такое int32 mode
 
из справки по Автоматизации
например тут:

какие значение может принимать ?
Программирование в Сапфир, Какие библиотеки за что отвечают
 
Добрый день, чере Parameter нет возможности добраться до свойтв помещения: формировать доп монтажные и загружения:
Код
import clr





def solve(node):

    pass



    doc = node.GetDocument()

    prj = doc.GetActiveProject()

    

    str = prj.GetFirstStorey(1)

    obj = str.GetModelByIndex2(0)

    test11 = obj.Parameter['M_LOADAREA_CONST']

    test12 = obj.Parameter['M_LOADCASE3'] # НЕ ДОБРАТЬСЯ

    test13 = obj.Parameter['M_DopMontag_3'] # НЕ ДОБРАТЬСЯ

    test21 = obj.Parameter['M_LOADAREA_EXP']

    test31 = obj.Parameter['M_LOADAREA_TMP']

    a = 1
Программирование в Сапфир, Какие библиотеки за что отвечают
 
Добрый день, при попытке разобрать блок отладка выдала такую ошибку: Ошибка на сервере. (Исключение из HRESULT: 0x80010105 (RPC_E_SERVERFAULT))

Хотя в модели нод отработал как нужно.

Не совсем, цикл прекртился и если несколько плоков на этаж подходяш то отработал только первый попавшийся
Змінено: Expert_Hell - 13.01.2026 10:51:59
Сторінки: 1 2 Наст.