Библиотека для деталей БЧ

Автор Вират Лакх, 19.08.17, 07:32:57

« предыдущая - следующая »

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

vasurnik

все равно не запускается с файлами API из данного архива...

Вират Лакх

Дарю вам 2000 строк кода версии 3.3 (теперь скорее всего точно наверно по-любому может быть наверняка последняя):
1) Исправлена куча ошибок и недоработок, в том числе работа на новых версиях компаса и чтение и запись источника локальной детали. Вот эта работа с локальностью здорово кровушки попила. В итоге код по универсальности и надежности сильно отличается от этого http://forum.ascon.ru/index.php/topic,31982.msg259086.html#msg259086
Чуть не в такой последовательности запишешь инструкции - зависание или падение компаса, особенно, если на локальном компоненте в сборке есть отверстие. Настоятельно не рекомендую использовать версию v3.2 во избежание проблем.
2) Добавлены проверки сборки:
а) проверка синхронизации материала (МЦХ) тела с его сборкой-владельцем (если стоит по источнику, то у тела будет свойства МЦХ от его сборки; если мы телу присваиваем материал из программы ОКТ, то синхронизация отключается - так же поступает библиотека металлоконструкций, которая телами создает объекты).
б) по просьбе трудящихся - отсутствие Раздела спецификации при включенной галочке Создавать объекты спецификации и наличии описания спецификации (т.е. отсутствие объекта спецификации, когда он должен быть).
3) Добавлена галочка получения материала ("П.М."). Вставка материала теперь называется "В.М.". Если П.М. выключена, получение обозначения и наименования без материала будет быстрее (особенно для локальных компонентов).
4) Добавил выдачу сообщения при ошибке импорта необходимых модулей. Теперь программа пытается создать необходимые модули. Если не получается из-за защиты записи, то пытается импортировать готовые py/pyc-файлы (они должны называться KompasAPI5 и KompasAPI7, иначе нужно в 30-й строке кода записать так: import ... as KompasAPI5, ... as KompasAPI7), где ... - название ваших модулей API Компас. Ранее я готовые модули уже выкладывал: https://forum.ascon.ru/index.php/topic,30640.msg259406.html#msg259406
5) Добавил возможность закрывать дочерние окна на Esc (которые с кнопками появляются при проверки модели).
P.S. Donate приветствуется.

IgorT

 :(

>>>

Traceback (most recent call last):
  File "D:\БЧ Вират Лакх\Обозначение компонентов и тел v3.3.pyw", line 7, in <module>
    if sys.version_info.major < 3:
AttributeError: 'tuple' object has no attribute 'major'
>>>
:?:

Вират Лакх

Прикольно. У вас какая версия питон?
В седьмой строке sys.version_info.major замените на sys.version_info[0] или int(sys.version[0])

IgorT

2.6

заменил
получил

Вират Лакх

sys.version_info[0] - не стала работать?
IEmbodiment::Part - Компонент исполнения появился только в 16 версии оказывается. Думаю, можно это порешать.

vasurnik


IgorT


IgorT

Цитата: vasurnik от 01.02.19, 10:58:37
... не могу скачать...

странно... у меня и ещё  у людей скачивается. Может быть у Вас что-то не так с Инетом?

Умка

Эка диво! Компас v 13 Windows 10 библиотека магически работает, все кнопочки нереально выполняют свои задания! Кроме добавления объекта спецификации. Можно это дополнить с ранних версий?

vasurnik

прошу прощения, скачал...

Вират Лакх

Цитироватьsys.version_info[0] - не стала работать?

Цитата: IgorT от 01.02.19, 11:01:49
нет.

IgorT, интересно, что тогда выдаст sys.version_info без квадратных скобок. Она же 'tuple' object, должна что-то выдать.
1) Запустите python.exe
2) Введите import sys
3) Введите sys.version_info

IgorT

Цитата: Вират Лакх от 01.02.19, 11:19:14
IgorT, интересно, что тогда выдаст sys.version_info без квадратных скобок. Она же 'tuple' object, должна что-то выдать.
1) Запустите python.exe
2) Введите import sys
3) Введите sys.version_info


вот

Вират Лакх

4) А теперь введите sys.version_info[0] должно выдать 2
Вы наверно что-то не так сделали.

IgorT


IgorT

Цитата: Вират Лакх от 01.02.19, 11:45:20
...
Вы наверно что-то не так сделали.

Понять бы, что я делаю не так.

Вират Лакх

Версия 3.4:
1) IgorT, проверьте на 15-й версии компаса чтение и запись свойств во всякие разные исполнения, еще чтобы текущее исполнение в читаемой или записываемой сборке не сбивалось.
2) Сделал пока что sys.version_info[0], если с какой-то стати не будет работать, то поставьте int(sys.version[0])
3) Исправил заодно ошибку при работе с локальными деталями в сборке без имени.
Цитата: Умка от 01.02.19, 11:10:18
Кроме добавления объекта спецификации. Можно это дополнить с ранних версий?

4) Умка, тут https://forum.ascon.ru/index.php/topic,30640.msg256091.html#msg256091 я вам писал, что можно попробовать и что должно соблюдаться (еще пункт: должна быть включена галка БЧ).
Между строками 495 и 496 напишите:
ObjSpc = SpecificationObjects[0]
print(ObjSpc)
if mat_var.get() or in_gabarit.get().strip():   # Если деталь БЧ
Дополнять из ранних версий не буду. Если что, пользуйтесь Авторедактором.

IgorT

Да. Работает. Спасибо!
С исполнениями потренируюсь  :)

Вират Лакх

Версия 3.5:
1) Окончательно добил работу с локальными деталями. Могло зависать окно модели. Просто поменял пары строк местами:
Doc3D.windowNeedRebuild = False # Сначала должно идти окно, а потом дерево
Doc3D.treeNeedRebuild = False
2) Для Компас 14 и 15 при чтении компонента сделал, чтобы не сбрасывалось его выделение, когда текущее исполнение в источнике отличается от текущего исполнения в сборке.

Умка

Вират Лакх, print(ObjSpc) не помогло. Чёрного окна нет. При вставке отображения типа <win32com.gen_py.69AC2981-37C0-4379-84FD-5DD2F3C0A520x0x1x0.ISpecificationBaseObject instance at 0x80881544> также нет.
Программа запускается, свойства заполняются правильно. Кнопочки работают корректно. Добавления объекта спецификации не происходит.
Последняя версия с правильным добавлением объектов спецификации БЧ v0.9.
К13W10.