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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file KOMPAS_tools-0.3.tar.gz.

File metadata

  • Download URL: KOMPAS_tools-0.3.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for KOMPAS_tools-0.3.tar.gz
Algorithm Hash digest
SHA256 691b69d3804242b3124daaf5797732fa6f88808602bedc2873e38e92f85044a6
MD5 8cddfcb3911b7a4d205afa3a052f2392
BLAKE2b-256 0c375cde7474cc9e5232274af90f6877538218c6b7079141945770795b7a965b

See more details on using hashes here.

File details

Details for the file KOMPAS_tools-0.3-py3-none-any.whl.

File metadata

  • Download URL: KOMPAS_tools-0.3-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for KOMPAS_tools-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d5cb86e49d1160a7109ebabbfb4755dffb69d3a62a13b1e6e961439ef43d8d4d
MD5 8f39548cc891d01e74ba06471c9a2146
BLAKE2b-256 217f76608f2e730e55fd5c3922b8732051a5a76a349390bc37e3777952b7a361

See more details on using hashes here.

Supported by

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