Оснащение 3D модели рядом параметров

Автор ASSEMENOV, 06.04.21, 12:12:08

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

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

ASSEMENOV

Подскажите пожалуйста, имеется ли какой-то способ в КОМПАС 3D зашить в модель данные, а потом считать их или выгрузить в другой файл, например csv?
Например в модель трансформатора вшить его номинальные параметры.

Elaeagnus

 Добавьте в пользовательские свойства нужные данные.
 Далее выгружайте их, например, в форме Отчёта.

Slaviation

Добрый день.

# -*- coding: utf-8 -*-
#  PyKompasMacro https://slaviationsoft.blogspot.com
# Запустить на активной детали
import pythoncom
from win32com.client import Dispatch, gencache, VARIANT

kompas_api7_module = gencache.EnsureModule("{69AC2981-37C0-4379-84FD-5DD2F3C0A520}", 0, 1, 0)
kompas_api_object = kompas_api7_module.IKompasAPIObject(Dispatch("Kompas.Application.7")._oleobj_.QueryInterface(kompas_api7_module.IKompasAPIObject.CLSID, pythoncom.IID_IDispatch))
application = kompas_api_object.Application
kompas_document = application.ActiveDocument
kompas_document_3d = kompas_api7_module.IKompasDocument3D(kompas_document)
property_mng = kompas_api7_module.IPropertyMng(application)
empty_val = VARIANT(pythoncom.VT_EMPTY, None)
part7 = kompas_document_3d.TopPart
property_keeper = kompas_api7_module.IPropertyKeeper(part7)

#~ имеется ли какой-то способ в КОМПАС 3D зашить в модель данные
prop = property_mng.GetProperty(kompas_document, "Мое свойство")
if prop is None:
    prop = property_mng.AddProperty(empty_val, empty_val)
    prop.Name = "Мое свойство"
    prop.Update()
    property_keeper.SetPropertyValue(prop, "Мое значение", True)
    part7.Update()

#~ а потом считать
property_count = property_mng.PropertyCount(empty_val)
for i in range(property_count):
    prop = property_mng.GetProperty(empty_val, i)
    value, from_source = "", True
    res, value, from_source = property_keeper.GetPropertyValue(prop, value, True, from_source)
    if res and value:
        print(prop.Name, value)

ASSEMENOV

Slaviation, Это классно!

А есть ли способ считывать данные указывая путь к файлу 3D модели?
Идеальным вариантом было бы вообще указывать путь к папке, где лежать модели с "встроенными данными"

Slaviation

Вместо kompas_document = application.ActiveDocument
получайте kompas_document открывая его по указанному файлу 3D модели.

Toptotal

Цитата: Elaeagnus от 06.04.21, 12:28:32Добавьте в пользовательские свойства нужные данные.
 Далее выгружайте их, например, в форме Отчёта.
Total commander плагин Kompas3d.wdx потом передача в ексель что и как хочешь. на фото я с солид  файлами 2014 делаю, с Компасом тоже самое, все одинаковое!
по данным можно искать, сортировать, переименовать, менять цвет файлов, фильтр показа.
Еще есть плагин что пишет в поток данные. причем даже документы и копии, различные данные обьемы не ограничены.
Для удобного внесения данных в поток плагин mPDM.wdx типа "Обозначение ", "Наименование"
Для копии файлов, пдф, мс оффис и тд.. то это плагин wfx_FileStreams v2.0.6 Beta - системный плагин для Total Commander.

 

Toptotal

Цитата: Elaeagnus от 06.04.21, 12:28:32Далее выгружайте их, например, в форме Отчёта.
выгружаются ПОЛЯ как хочется и сортировка и поля все в Тотоле и шаблон создаете сколько нужно и как нужно в екселе.
Потоки нтфс тоже.. при чем обычно это не нужно сразу видно.

Toptotal

Цитата: ASSEMENOV от 06.04.21, 12:12:08Например в модель трансформатора вшить его номинальные параметры.
Давай сделаем типа справочника ! Я делал по DIN и ISO а также чем из заменить. прям  на фаил наводишь и показывает что за параметров.
Или через пользовательские панели столбик и показывает параметры, где купить , и тд. Можно сделать сразу кинуть в Эксель все как удобно с параметрами , данными, габаритами, телефонами или ценами.Jpeg_0027.jpg
Плагин транслит, пишешь по образцу как у меня DIN в ГОСТ название трансформатора=нужные данные1, название транса=нужные данные 2 , можно несколько для разных столбиков
в и ячеек для экспорта в отчет или спецификацию. можно в одну потом вписывать в пользовательских два значения колонок или менять что первым. По этому лучше как можно по отдельности , так удобней.

ГЛАВНОЕ ПРЕИМУЩЕСТВО ТАКОГО МЕТОДА ЭТО ЛЮБОЙ ФОРМАТ ФАЙЛА ИЛИ ИМЯ ПАПКИ, ВНЕСЕНИЯ ИХ В ПОЛЬЗОВАТЕЛЬСКИЕ ПОЛЯ АВТОМАТИЧЕСКИ, СОЗДАНИЕ ЛЮБЫХ ВАРИАНТОВ ОТЧЕТОВ.
ПРОСМОТР БЫСТРЫЙ ИЛИ ЭСКИЗЫ ФАЙЛОВ В ОКНЕ ОТДЕЛЬНОМ или БЫСТРЫЙ ПРОСМОТР.
Не каких навыков программирования не требуется, обычный текстовый фаил отредактировать и все. Главное чем короче  "есть дата" то чем ниже строчка по списку. ("есть дата "="показать как " )