This library contains tools for KOMPAS 3D automation
Project description
KOMPAS_tools
Инструменты для автоматизации КОМПАС 3D v20 на python3
!!!Библиотека на раннем этапе разработки!!!
This library contents only russian descriptions here and inside the code. If someone need english description - let me know.
Используемое ПО
- Python 3.11.6
- КОМПАС 3D v20
- PyCharm 2023.2.4 (Community Edition)
Установка
Вы можете установить библиотеку, используя следующую команду в терминале:
pip install kompas-tools
Использование
Для импорта библиотеки используйте следующую конструкцию:
from KOMPAS_tools import Kompas
Для работы с методами необходимо создать объект класса Kompas:
kompas = Kompas() # Запуск или подключение к Компас
При инициализации объекта программа получает доступ к открытой программе КОМПАС 3D, либо запускает КОМПАС 3D
Вызов методов класса выгладит следующим образом:
kompas.название_метода(аргумент1, аргумент2, ...)
Описание методов
Далее приведён список методов с описаниями по категориям
Вывод информации (info_)
kompas.info_general()
Вывод версии КОМПАС и количества открытых документов
kompas.info_active()
Вывод информации об открытом документе
Получение объектов и параметров (get_)
kompas_document, kompas_document_2d, idocument_2d = kompas.get_active_docs()
Получение объектов активного документа (необходимо для работы прочих методов)
Создание файлов (newfile_)
kompas.newfile_drawing()
Создание нового чертежа
Создание рабочих пространств (new_)
kompas.new_view(x: float, y: float, name: str, scale: float, angle=0, color=0xFF0000)
Создание нового вида
- x, y - координаты СК вида относительно глобальной СК
- name - название вида
- scale - масштаб (десятичная дробь)
- angle - угол поворота вида относительно СК
- color - цвет вида (шестнадцатеричное число, BGR [BBGGRR])
Создание геометрии (draw_)
kompas.draw_rectangle(x: float, y: float, height: float, width: float, style=1, ang=0)
Создание прямоугольника
- x, y - координаты нижней левой точки прямоугольника
- height - высота прямоугольника
- width - ширина прямоугольника
- style - стиль линии (1, 2, 3, ...)
- ang - угол поворота относительно левой нижней точки (в градусах)
- Возвращает: id прямоугольника
kompas.draw_circle(x: float, y: float, radius: float, style=1)
Создание окружности
- x, y - координаты центра окружности
- radius - радиус окружности
- style - стиль линии (1, 2, 3, ...)
- Возвращает: id окружности
kompas.draw_line(x1: float, y1: float, x2: float, y2: float, style=1)
Создание линии
- x1, y1 - координаты первой точки
- x2, y2 - координаты второй точки
- style - стиль линии (1, 2, 3, ...)
- Возвращает: id линии
kompas.draw_point(x: float, y: float, style=1)
Создание точки
- x, y - координаты точки
- style - стиль точки (1, 2, 3, ...)
- Возвращает: id точки
Копирование (copy_)
kompas.copy_object(obj_ref: int, x0: float, y0: float, x1: float, y1:float, scale=1, angle=0, hyperlinks_copy=True, spcobj_copy=True, storages_copy=True, dimline_scale=True, attr_copy=True)
Копирование объекта
- obj_ref - id копируемого объекта
- x0, y0 - координаты начальной точки
- x1, y1 - координаты конечной точки
- scale - масштаб копии
- angle - угол поворота копии относительно базовой точки
- hyperlinks_copy - копировать гиперссылки?
- spcobj_copy - копировать объекты спецификации?
- storages_copy - копировать польз. данные и свойства?
- dimline_scale - масштабировать выносные линии?
- attr_copy - копировать атрибуты?
- Возвращает: id копии
Задание свойств объектов и параметров (set_)
kompas.set_developer_name(name: str)
Задаёт имя в строке "Разраб." в основной надписи
kompas.set_inspector_name(name: str)
Задаёт имя в строке "Пров." в основной надписи
kompas.set_tech_control_name(name: str)
Задаёт имя в строке "Т.Контр." в основной надписи
kompas.set_empty_field_name(name: str)
Задаёт имя в пустой строке в основной надписи
kompas.set_reg_control_name(name: str)
Задаёт имя в строке "Н.Контр." в основной надписи
kompas.set_approver_name(name: str)
Задаёт имя в строке "Утв." в основной надписи
kompas.set_drawing_name(name: str)
Задаёт наименование в основной надписи
kompas.set_drawing_designation(designation: str)
Задаёт обозначение в основной надписи
kompas.set_material_name(name: str)
Задаёт название материала в основной надписи
kompas.set_company_name(name: str)
Задаёт название предприятия в основной надписи
kompas.set_mass_val(mass: float)
Задание значения массы в основной надписи
kompas.set_scale_text(scale: str)
Задание текста в поле "Масштаб" в основной надписи
kompas.set_developer_date(date_text="")
Задаёт дату в строке "Разраб." в основной надписи
Если оставить без аргумента, устанавливает текущую дату
kompas.set_inspector_date(date_text="")
Задаёт дату в строке "Пров." в основной надписи
Если оставить без аргумента, устанавливает текущую дату
kompas.set_tech_control_date(date_text="")
Задаёт дату в строке "Т.контр." в основной надписи
Если оставить без аргумента, устанавливает текущую дату
kompas.set_empty_field_date(date_text="")
Задаёт дату в пустой строке в основной надписи
Если оставить без аргумента, устанавливает текущую дату
kompas.set_reg_control_date(date_text="")
Задаёт дату в строке "Н.контр." в основной надписи
Если оставить без аргумента, устанавливает текущую дату
kompas.set_approver_date(date_text="")
Задаёт дату в строке "Утв." в основной надписи
Если оставить без аргумента, устанавливает текущую дату
Используемые библиотеки
- pywin32 (устанавливается вместе с библиотекой)
- numpy (устанавливается вместе с библиотекой)
- datetime (есть по умолчанию)
Файлы библиотеки
- KompasClass.py - содержит класс Kompas для работы с САПР КОМПАС 3D
- Test.py - сейчас это "черновик", файл для проверки работы методов класса Kompas
- Serpinsky.py - демонстрационный скрипт, строит треугольник Серпинского из точек на новом фрагменте
Ссылки
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for KOMPAS_tools-0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5cb86e49d1160a7109ebabbfb4755dffb69d3a62a13b1e6e961439ef43d8d4d |
|
MD5 | 8f39548cc891d01e74ba06471c9a2146 |
|
BLAKE2b-256 | 217f76608f2e730e55fd5c3922b8732051a5a76a349390bc37e3777952b7a361 |