• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Информация о коллекции сгибов

Автор Urbanito, 06.06.22, 13:50:13

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Urbanito

Имеется листовая деталь, в которой необходимо получить информацию о сгибах.
Модель, строилась инструментом Листовое тело(Рис1). Обратите внимание, сгибы делались не отдельной операцией сгиб, а были получены автоматически, из операции Листовое тело1
Вопрос! Как можно, программно, получить доступ к данной коллекции?
рис1.jpg
В SDC, есть объект SheetMetalBends, который содержит коллекции сгибов. Но данный интерфейс, в подобных случаях возвращает 0.
Также, предположил, что коллекция сгибов у операции Листовое тело, может храниться в интерфейсе ISheetMetalBody. Но данный интерфейс не хранит в себе никакой информации о коллекции
рис2.jpg

Михаил88

kompas_document = application.ActiveDocument
kompas_document_3d = kompas_api7_module.IKompasDocument3D(kompas_document)
iPart7 = kompas_document_3d.TopPart
iSheetMetalContainer = kompas_api7_module.ISheetMetalContainer(iPart7)
print(iSheetMetalContainer)
iSheetMetalBodies = iSheetMetalContainer.SheetMetalBodies
print(iSheetMetalBodies)
SheetMetalBody = iSheetMetalBodies.SheetMetalBody(0)
print(SheetMetalBody)
print(SheetMetalBody.Name)
iModelObject = kompas_api7_module.IModelObject(SheetMetalBody)
print(iModelObject)
feature7 = iModelObject.Owner
print(feature7)
print(feature7.Name)
sub_features = feature7.SubFeatures(1, True, False)
print(sub_features)
for model in sub_features:
    print(model.ModelObjectType)  # o3d_sheetMetalBendObject - 540 - Листовой металл, сгибы листовых операций
    print(model.Name)  # Имя элемента трехмерной модели
Screenshot_2.bmp
Screenshot_3.bmp
+ Благодарностей: 1

Urbanito

Всем привет!
Хочу немного улучшить код.

Мне бы хотелось, получить инфорацию о сгибе ISheetMetalBend.
На сколько я понимаю, model имеет тип ModelObject
Вопрос: как из ModelObject получить объект с типом ISheetMetalBend

пробовал:
sheetMetalBend= kompas_api7_module.model(ISheetMetalBend)но результат возвращает ошибку.



Nipal

Цитата: Urbanito от 26.10.23, 17:56:33None
ISheetMetalBend - где коллекция?
ISheetMetalBends - коллекция.

Urbanito

Цитата: Nipal от 26.10.23, 18:39:13ISheetMetalBend - где коллекция?
ISheetMetalBends - коллекция.
Вопрос не про коллекцию сгибов из ISheetMetalBends, а про коллекцию сгибов из ISheetMetalBody
Собственно, код который привел Михаил88, работает корректно, но нужно получить информацию о каждом сгибе из коллекции ISheetMetalBody
Цитата: Михаил88 от 06.06.22, 17:02:46kompas_document = application.ActiveDocument
kompas_document_3d = kompas_api7_module.IKompasDocument3D(kompas_document)
iPart7 = kompas_document_3d.TopPart
iSheetMetalContainer = kompas_api7_module.ISheetMetalContainer(iPart7)
print(iSheetMetalContainer)
iSheetMetalBodies = iSheetMetalContainer.SheetMetalBodies
print(iSheetMetalBodies)
SheetMetalBody = iSheetMetalBodies.SheetMetalBody(0)
print(SheetMetalBody)
print(SheetMetalBody.Name)
iModelObject = kompas_api7_module.IModelObject(SheetMetalBody)
print(iModelObject)
feature7 = iModelObject.Owner
print(feature7)
print(feature7.Name)
sub_features = feature7.SubFeatures(1, True, False)
print(sub_features)
for model in sub_features:
    print(model.ModelObjectType)  # o3d_sheetMetalBendObject - 540 - Листовой металл, сгибы листовых операций
    print(model.Name)  # Имя элемента трехмерной модели
и тут собственно вопрос!
как из переменной model с типом IModelObject, получить объект с типом ISheetMetalBend

feron

iPart7 = IModelObject.Part
iSheetMetalContainer = kompas_api7_module.ISheetMetalContainer(iPart7)

Nipal

Есть сгиб, есть коллекция, если Вы не видите разницы, что Вам объяснять.

Urbanito

Цитата: Nipal от 26.10.23, 19:50:26Есть сгиб, есть коллекция, если Вы не видите разницы, что Вам объяснять.
Деталь со сгибом.m3d
Вот модель! Получите коллекцию сгибов используя ваш метод.
Спойлер: ничего не получится.
И если Вы не видите разницы - лучше оставьте Ваши "объяснения" при себе. Не утруждайте себя и других

Nipal

Цитата: Urbanito от 26.10.23, 20:38:56Деталь со сгибом.m3d
Вот модель! Получите коллекцию сгибов используя ваш метод.
Спойлер: ничего не получится.
И если Вы не видите разницы - лучше оставьте Ваши "объяснения" при себе. Не утруждайте себя и других
Без слов.