Utilites_K3 module

Реализует классы и набор функций для работы с объектами К3. Используется для импорта в другие модули и для вызова функций из макросов и коммандной строки К3 Мебель.

В случае использования функций из среды макро или геометрического редактора К3 Мебель предоставляет возможность вызывать функции модуля в среде К3 используя следующий синтаксис:

macro protopath+”Utilites_K3.py” “<имя функции>” byref <1-я переменная к3 > byref <2-я переменная к3 >...byref <n-я переменная к3 > done ;

Внимание

Вы можете писать имя вызываемой функции в любом регистре, но в модуле эта функция всегда определена в нижнем регистре.
  • macro protopath+”Utilites_K3.py” “isOrder” byref err done ;
  • macro protopath+”Utilites_K3.py” “ISORDER” byref err done ;

Функция isorder. Будет вызвана в любом случае.

Если вызов модуля будет производится без узания функции или имя указано с ошибкой получим сообщение об ошибке :

Требуется указать имя вызываемой функции в модуле

или

Не найдена вызываемая функция с именем <namedef> в модуле Utilites_K3.py’

Utilites_K3.GetRectText(Obj)

Вычислить координаты в ГСК 3-х вершин прямоугольника текста в объекте выноска с примечанием Obj с учетом текущего и общего граф.коэффициентов.

Параметры:Obj – Объект выноска с примечанием
Результат:Возвращает массив к3.VarArray из 9-ти элементов:
  • Arr - массив размерности 9 задающий координаты трех точек прямоугольника в ГСК:
  • Arr[1..3] - первая задает нижний левый угол прямоугольника
  • Arr[4..6] - вторая задает верхний левый угол прямоугольника
  • Arr[7..9] - третья задает нижний правый угол прямоугольника
Utilites_K3.IsVsblRect(nVport, Arr)
Результат:
  • False - внутрь прямоугльника изображение не попадает 1
  • True - внутрь прямоугольника изображение попадает 0
  • None - какая-то ошибка -1
class Utilites_K3.Layer

Базовые классы: object

Реализует методы работы со слоями в среде К3.

Change(obj, Name)

Изменяет слой объекта <obj>

CountLayers()

Возвращает количество существующих, не удаленных слоев.

ExistsLayer(NameLayer='')

Функция определяет существование слоя по его имени. < NameLayer > - строка с названием слоя (регистр букв не важен).

GetLayer(obj)

Функция возвращает имя слоя, которому принадлежит объект < Obj > .

NameLayers()

Определяет имена существующих, не удаленных слоёв.

Возвращает список <list> всех имен слоев.

New(Name='')

создает новый слой в списке слое в с именем <Name>. Текущим при этом остается слой, который был до создания нового. Максимальное число созданных слоев - 255

Utilites_K3.PointOutListPoint(args)

Возвращает список из трех превых элементов списка args и изменяет список args укорачивачивая его.

...point,args = PointOutListPoint(args)

,где

На входе

args - список вида [Real,Real,Real,Real,Real,Real,....,Real,Real,Real,]

На выходе

point - список вида [Real,Real,Real]

args - список вида [Real,Real,Real,....,Real,Real,Real,]

class Utilites_K3.VarArray(Size=1, Name=None)

Базовые классы: object

Класс для работы с объектами типа k3.VarArray

Позволяет создавать массив, добавлять в него элементы и трансформировать в список (list)

append(value=0)

повышаем индекс на 1 и добавляет элемент в массив

transform_to_list()

преобразует массив к3 в список

Utilites_K3.checkAngle(Angle)

Приводит угол Angle в пределы 360 градусов

Если его значение выходит за пределы 0...360

Utilites_K3.f_round(x)
Utilites_K3.findgabscene(params=[])
Параметры:params – Список указателей на объекты сцены.
Результат:Возвращает массив из 6-ти элементов или 6 координат минимальных и максимальных габаритов сцены.

Подсказка

Варианты вызова из K3Mebel:

...macro protopath+"Utilites_K3.py" "FindGabScene" byref x1 byref y1 byref z1 byref x2 byref y2 byref z2 done ;

или

...defarr xm[6];
...macro protopath+"Utilites_K3.py" "FindGabScene" byref xm done;
Utilites_K3.getListArrayAllObjectsScene(AttrFilter='')

Возвращает список массивов к3 заполненных всеми объектами сцены

Utilites_K3.getListObjVisual()

Возвращает список видимых объектов

Utilites_K3.getNumQadrant(Angle=0)

Возвращает номер квадранта <INT> 1,2,3,4 по переданному углу Angle градусы

Utilites_K3.getPathNguides()

Возвращает полный путь к Nguides.mdb

Utilites_K3.get_info(*wards)

Возвращае словарь значений свойств объекта KROMZNAK

Utilites_K3.getlistarrayallobjectsscene(AttrFilter='')

Возвращает массив к3 заполненных всеми объектами сцены. Предназначен для вызова из макро.

Utilites_K3.isTextSizeLarge(dimObj, Arr)

Если размер диагонали текста меньше самой величины возвращает True.

Utilites_K3.isorder(params)
Возвращает информацио текущем состоянии сцены.
  • 0 - текущее состояние ФАЙЛ
  • 1 - текущее состояние ЗАКАЗ

Варианты вызова из K3Mebel:

macro protopath+”Utilites_K3.py” “isorder” byref err done ;
Utilites_K3.main()
Utilites_K3.ptransGcsToPsc(args=[])

Принимает на вход список кратный 3 и преобразует точки из ГСК системы в ПСК.

...point = ptransGcsToPsc(args)

,где

На входе

args - список вида [Real,Real,Real,Real,Real,Real,....,Real,Real,Real,]

На выходе

args - список вида [Real,Real,Real,Real,Real,Real,....,Real,Real,Real,]

Utilites_K3.ptransGcsToVcs(args=[])

Принимает на вход список чисел кратный 3 и преобразует точки из текущей системы в ВСК.

...point = ptransGcsToVcs(args)

,где

На входе

args - список вида [Real,Real,Real,Real,Real,Real,....,Real,Real,Real,]

На выходе

args - список вида [Real,Real,Real,Real,Real,Real,....,Real,Real,Real,]

Utilites_K3.ptransPcsToGsc(args=[])

Принимает на вход список чисел кратный 3 и преобразует точки из текущей системы в ГСК.

...point = ptransPcsToGsc(args)

,где

На входе

args - список вида [Real,Real,Real,Real,Real,Real,....,Real,Real,Real,]

На выходе

args - список вида [Real,Real,Real,Real,Real,Real,....,Real,Real,Real,]

Utilites_K3.ptransPcsToVcs(args=[])

Принимает на вход список чисел кратный 3 и преобразует точки из текущей системы в ВСК.

...point = ptransPcsToVcs(args)

,где

На входе

args - список вида [Real,Real,Real,Real,Real,Real,....,Real,Real,Real,]

На выходе

args - список вида [Real,Real,Real,Real,Real,Real,....,Real,Real,Real,]

Utilites_K3.set_time_refresh_interval(val)

Изменяет значение свойства time_refresh_default (интервал проверки обновления) у объекта KROMZNAK <DrawingSupp.Kromznak()>

Utilites_K3.sign(vl)
Utilites_K3.sortapanelstocommonpos(params)

Cортирует массив содержащий ссылки на полотно панели по возрастанию атрибута CommonPos.

Параметр: params - кортеж
  • Число панелей params[0] - k3.VarArray().
  • Cсылки на полотно панели params[1] - k3.Var()
Utilites_K3.tanimoto(st1, st2)

Степень схожести строк (коэффициент Танимото).

Определяет степень схожести двух строк, т. е., насколько одна строка похожа на другую.

Возвращает коэффциент схожести <Real>