Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

KOMPAS_tools-0.3.tar.gz (9.5 kB view hashes)

Uploaded Source

Built Distribution

KOMPAS_tools-0.3-py3-none-any.whl (10.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page