Bitbybit Docs
    Preparing search index...

    Class OCCTAssemblyQuery

    Чтение документа сборки: детали и подсборки, которые он содержит, форма за меткой, цвет, размещение и данные метки и вся иерархия в виде дерева. Метки - это id, которые документ дает каждой детали, экземпляру и сборке, например 0:1:1:1; getDocumentParts и getAssemblyHierarchy перечисляют их, остальные методы принимают одну. Сам документ никаким запросом не изменяется.

    Index

    Constructors

    query

    • Перечисляет каждую деталь и подсборку в документе с ее меткой, именем, типом, цветом и тем, сколько раз она размещена.

      Метки - это то, что принимают другие методы запросов и установщики меток.

      Parameters

      Returns Promise<DocumentPartInfo[]>

      По одной записи на деталь или сборку

      const parts = await bitbybit.occt.assembly.query.getDocumentParts({ document: doc });
      parts.forEach(part => console.log(part.name, part.type, part.label));
    • Читает форму, хранящуюся под меткой документа, например чтобы нарисовать одну деталь или выполнить над ней операцию.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Форма по этой метке

      const shape = await bitbybit.occt.assembly.query.getShapeFromLabel({ document: doc, label: "0:1:1:1" });
      
    • Читает цвет, присвоенный метке документа, как красный, зеленый, синий и альфа от 0 до 1, вместе с флагом, говорящим, есть ли у метки цвет вообще.

      Parameters

      Returns Promise<LabelColorInfo>

      Цвет с его флагом hasColor

      const color = await bitbybit.occt.assembly.query.getLabelColor({ document: doc, label: "0:1:1:1" });
      if (color.hasColor) console.log(color.r, color.g, color.b);
    • Читает размещение метки экземпляра в документе как матрицу в порядке по столбцам плюс ее перенос, кватернион поворота и равномерный масштаб.

      Метка детали, в отличие от экземпляра, не несет собственного размещения.

      Parameters

      Returns Promise<LabelTransformInfo>

      Матрица, перенос, кватернион и масштаб

      const placement = await bitbybit.occt.assembly.query.getLabelTransform({ document: doc, label: "0:1:1:1" });
      console.log(placement.translation);
    • Описывает одну метку документа: ее имя, ее тип и является ли она простой формой, сборкой, ссылкой на другую метку или компонентом одной из них.

      Parameters

      Returns Promise<LabelInfo>

      Имя, тип и флаги метки

      const info = await bitbybit.occt.assembly.query.getLabelInfo({ document: doc, label: "0:1:1:1" });
      console.log(info.name, info.isAssembly);
    • Читает все дерево сборки документа как плоский список узлов с их родителями, чтобы его можно было обойти или показать как дерево.

      Каждый узел несет свою метку, имя, тип и размещение; список в порядке обхода в глубину, так что дочерние следуют за своим родителем. Экземпляр без имени получает имя того, что он размещает, с номером при повторе; definitionName хранит это имя.

      Parameters

      Returns Promise<AssemblyHierarchyResult>

      Узлы дерева с их числом и версией формата

      const tree = await bitbybit.occt.assembly.query.getAssemblyHierarchy({ document: doc });
      console.log(tree.totalNodes, tree.nodes.map(n => n.name));