Библиотека стандартных изделий 3D

Автор midreyk, 06.07.22, 11:08:56

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

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

midreyk

Представляю библиотеку стандартных изделий 3D.
Делал для себя, может кому-то пригодится.
Написана на Питоне 3.10. Проверялась на 3.2
Работает на Компас 18, на остальных не знаю.

Особенности:
- Все изделия выполнены в упрошенном виде, без фасок, скруглений и пр. мелких элементов. Это уменьшает количество линий на чертежах - меньше "чертноты"
- Номенклатура ограничена, нет выбора материалов, покрытий и проч. Это вопрос решаемый, просто не быстрый (опять же, для меня это не нужно).
- Вставка осуществляется путем выделения необходимых элементов модели и нажатием кнопки Вставка. Т.е. динамической вставки, как в компасовкой БСИ нет. При этом для большинства изделий возможна множественная вставка (например выделить плоскость и несколько отверстий для вставки болтов).
- Объекты спецификации стандартных изделий создаются библиотекой (пока только для сборок без исполнений, другие не пробовал).  При этом геометрия в чертежах не подсвечивается. Приятный бонус – связывание обозначений позиций в чертеже через программу

Установка не требуется.
Распаковать в любую папку. Запускать файл main.pyw через Питон.
Единственное что при переносе сборки на другой компьютер нужно библиотеку положить в такую же папку или придется переназначать ссылки.
+ Благодарностей: 2

СВ

 А чтобы у всех работало одинаково, выберите подходящую "по логике" папку и так и напишите: предлагаю в папку ... - чтобы у всех работало одинаково.
- - - - - -
 "Открытый" ли "исходных код" у библиотеки, т.е. могут ли пользователи её развивать и даже выкладывать "добавки" здесь?

midreyk

Цитата: СВ от 06.07.22, 11:30:35А чтобы у всех работало одинаково, выберите подходящую "по логике" папку и так и напишите: предлагаю в папку ... - чтобы у всех работало одинаково.
Логика у всех разная, на всех не угодишь. Лично у меня в корне диска C.
Цитата: СВ от 06.07.22, 11:30:35"Открытый" ли "исходных код" у библиотеки, т.е. могут ли пользователи её развивать и даже выкладывать "добавки" здесь?
Да пожалуйста... если конечно сумеете разобраться в коде.

Вират Лакх

Я Вас оценивать точно не достоин, но выскажусь.
Работа проведена огромная! Красивый и аккуратный код и внешний вид окна программы, высокий уровень знания языка. Браво!
Как осваивали питон? Откуда такой опыт программирования?

Ну и, если позволите, заметки по работе программы.
1) Если сразу после запуска программы запустить Замена - Прочитать выделенные детали, то:
\STD_LIB\kompas.py", line 608, in read_selection
    lib_parts = find_lib_parts(module_7, selected_parts)
UnboundLocalError: local variable 'selected_parts' referenced before assignment
2) Если выделить только одну поверхность:
\STD_LIB\kompas.py", line 141, in insert_type_1
    if selected_objects is None or len(selected_objects) < 2: # Неправильно !!!!
TypeError: object of type 'IModelObject' has no len()
3) Модели библиотеки выполнены в версии 18.1. Отсюда в старых компасах они молча не вставляются. Может стоит проверку версии сделать и сообщение. Желающим использовать библиотеку на старом компасе нужно пересохранить модели.
+ Благодарностей: 1

Михаил88

07.07.22, 06:31:03 #4 Последнее редактирование: 07.07.22, 06:56:50 от Михаил88
Мне тоже понравился Ваш проект.
Есть минус конечно то, что рядовой пользователь(без знания python и API Компас) не сможет расширять библиотеку под себя.

Цитата: midreyk от 06.07.22, 11:08:56Т.е. динамической вставки, как в компасовкой БСИ нет
При желании и это можно сделать
+ Благодарностей: 1

midreyk

07.07.22, 08:12:43 #5 Последнее редактирование: 07.07.22, 08:25:23 от midreyk
Благодарю за ответы.
Цитата: Вират Лакх от 07.07.22, 06:13:11Как осваивали питон? Откуда такой опыт программирования?
Слава Богу, терпения и разума дал на все это.
Питон осваиваю методом "научного тыка" :w: Кстати как раз год прошёл с начала. Как говорится - жизнь заставила. А так со школы увлекался помаленьку Паскалем потом Делфи (так что синтаксис Питона пришелся по душе). Всё из примеров на форуме и в интернете. Благодарность вам, Михаилу и другим. Научной, так сказать, базы только не хватает конечно. По началу приходилось перерывать интернет и форум в поисках написания чуть-ли не каждой функции.  Да и сейчас, если что то новой, то ступор и поиски. Алгоритм то понятен, а вот как его реализовать....

По замечаниям.
Конечно во многих местах надо проверки добавлять. Просто делал чтобы уже заработало наконец и особо не прописывал исключения.
Про проверку версии хорошая идея. Пришла мысль - можно было бы сделать 2 папки деталей в 16 и 18 версии и в зависимости от этого вставлять? А еще лучше чтобы программа сама создавала файлы деталей в той версии, на которой работаешь. Хотя это наверное трудоемко.

midreyk

Цитата: Михаил88 от 07.07.22, 06:31:03Есть минус конечно то, что рядовой пользователь(без знания python и API Компас) не сможет расширять библиотеку под себя.
Ну это - да. Хотя изменения минимальные - моделька, кнопочка и файл параметров.
А как по другому?
Цитата: Михаил88 от 07.07.22, 06:31:03
ЦитироватьТ.е. динамической вставки, как в компасовкой БСИ нет
При желании и это можно сделать
Я смотрел на форуме (как раз ваши примеры на функции обратной связи) но так у меня и не получилось ничего. Фантом был, но вставлялось только в указанную точку без сопряжений. Видимо чего-то я недопонимаю. Было бы конечно нагляднее.

Михаил88

Цитата: midreyk от 07.07.22, 08:21:21Ну это - да. Хотя изменения минимальные - моделька, кнопочка и файл параметров.
А как по другому?
Я из-за это и сделал на базе kle, т.к. пользователь сам может пополнять базу.
Цитата: midreyk от 07.07.22, 08:21:21Я смотрел на форуме (как раз ваши примеры на функции обратной связи) но так у меня и не получилось ничего. Фантом был, но вставлялось только в указанную точку без сопряжений. Видимо чего-то я недопонимаю. Было бы конечно нагляднее.
Как возможность появится скину вам тогда более подробный пример.
+ Благодарностей: 1

midreyk

Исправил некоторые ошибки, замеченные Вират Лакх.
Над проверкой версии пока не работал.
+ Благодарностей: 1

Михаил88

Цитата: midreyk от 07.07.22, 08:21:21Я смотрел на форуме (как раз ваши примеры на функции обратной связи) но так у меня и не получилось ничего. Фантом был, но вставлялось только в указанную точку без сопряжений. Видимо чего-то я недопонимаю. Было бы конечно нагляднее.
Разархивировать. Расположить папку test так, чтобы в имени директории не было символов кириллицы.
Запустить файл dispatchOCX.py(делается только 1 раз при первом запуске). Далее уже можно запускать library_v.pyw.

Сделал на основе примера из этой темы https://forum.ascon.ru/index.php?topic=31276.msg249660#msg249590
+ Благодарностей: 1

midreyk

Михаил88, спасибо.
Попробую. Только из отпуска вышел.

midreyk

Версия 4.3
Добавлены шпильки 22032, 22034, 22036, винт 13435
Исправлены ошибки при замене (Чтение размеров. Когда вместо целого получалось с точкой. Например вместо М8 - М8.0)
STD_LIB 4.3.rar