Skip to content

editorGlobalsSvgCreator

Class: SvgCreator

Exports physical objects to SVG

Hierarchy

SvgCreator

Index

Constructors

Properties

Methods

Constructors

constructor

+ new SvgCreator(compositeModel: CompositeModel, exportSettings: IExportSettings, nestingSpace: number, cancelToken: CancelToken): SvgCreator

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:266

Parameters:

Name Type Default
compositeModel CompositeModel -
exportSettings IExportSettings { addBooklet: true, engraveNumbers: true }
nestingSpace number Config.get("svgExport.nestingSpace")
cancelToken CancelToken new CancelToken()

Returns: SvgCreator

Properties

Private assemblyHints

assemblyHints: AssemblyInstructionHints

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:266


Private Readonly cancelToken

cancelToken: CancelToken

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:256


Private Readonly compositeModel

compositeModel: CompositeModel

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:258


Private Readonly exportSettings

exportSettings: IExportSettings

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:252


Private Readonly fabricationConfig

fabricationConfig: FabricationConfig

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:253


Private Readonly forceSynchronousRun

forceSynchronousRun: boolean

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:255


Private groupPipelineResultsMap

groupPipelineResultsMap: Map‹PlateGroup, IPlateGroupPipelineResult

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:263


Private groupRepresentationsMap

groupRepresentationsMap: Map‹PlateGroup, IPlateGroup2DRepresentations

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:262


Private groups

groups: PlateGroup[]

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:261


Protected Readonly hintEventEmitter

hintEventEmitter: EventEmitter‹object› = new EventEmitter<{ message: string; newExportSettings?; }>()

Inherited from PipelineEventsEmitter.hintEventEmitter

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:20


Private nestedPages

nestedPages: Array‹IPage & object›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:260


Private nestingProgress

nestingProgress: number

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:259


Private Readonly nestingSpace

nestingSpace: number

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:265


Private Readonly optimizeMasterPlates

optimizeMasterPlates: boolean

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:254


Private plateEngravingsMap

plateEngravingsMap: Map‹Plate, IPlateEngravingsInfo

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:264


Private platePipelines

platePipelines: PlatePipeline[] = []

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:257


Protected Readonly progressEventEmitter

progressEventEmitter: EventEmitter‹object› = new EventEmitter<{ stage: string; progress: number; }>()

Inherited from PipelineEventsEmitter.progressEventEmitter

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:12


Protected Readonly warningEventEmitter

warningEventEmitter: EventEmitter‹object› = new EventEmitter<{ code: string; message: string; }>()

Inherited from PipelineEventsEmitter.warningEventEmitter

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:16


Static availableJointCoordinatorsClasses

availableJointCoordinatorsClasses: Array‹typeof JointCoordinator› = [ FingerJointCoordinator, CellMembraneJointCoordinator, ]

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:124

Methods

Private _addDrawableToSvgNode

_addDrawableToSvgNode(plate: Plate, drawable: Drawable, size: IPoint2, svgNode: IXmlElement, type: string, svgBuilder: SvgBuilder, svgStylizer: AbstractSvgStylizer): Promise‹XMLElement›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1563

Parameters:

Name Type
plate Plate
drawable Drawable
size IPoint2
svgNode IXmlElement
type string
svgBuilder SvgBuilder
svgStylizer AbstractSvgStylizer

Returns: Promise‹XMLElement›


Private _addRegistrationMarks

_addRegistrationMarks(svgBuilder: SvgBuilder, svgStylizer: AbstractSvgStylizer, nesting: Nesting): Promise‹Vector3›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1294

Parameters:

Name Type
svgBuilder SvgBuilder
svgStylizer AbstractSvgStylizer
nesting Nesting

Returns: Promise‹Vector3›


Private _cancelPipelines

_cancelPipelines(): void

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:581

Returns: void


Private _convertArrayPointsToXY

_convertArrayPointsToXY(pointArrays: ArrayPoint2[][]): Array‹Array‹object››

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1688

Parameters:

Name Type
pointArrays ArrayPoint2[][]

Returns: Array‹Array‹object››


Private _convertJointShapeChangesToPolygon

_convertJointShapeChangesToPolygon(shapeChanges: IShapeChanges): MultiPolygon[]

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1382

Parameters:

Name Type
shapeChanges IShapeChanges

Returns: MultiPolygon[]


Private _coordinateJoints

_coordinateJoints(assemblies: Assembly[]): Promise‹void›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:639

Parameters:

Name Type
assemblies Assembly[]

Returns: Promise‹void›


Private _createClipPathForPlate

_createClipPathForPlate(plate: Plate, svgPolygons: any, svgNode: IXmlElement, svgBuilder: SvgBuilder): string

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1619

Parameters:

Name Type
plate Plate
svgPolygons any
svgNode IXmlElement
svgBuilder SvgBuilder

Returns: string


Private _createImageNodeFromCanvas

_createImageNodeFromCanvas(canvas: HTMLCanvasElement, size: IPoint2, svgNode: IXmlElement, svgBuilder: SvgBuilder, svgStylizer: AbstractSvgStylizer): XMLElement

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1649

Parameters:

Name Type
canvas HTMLCanvasElement
size IPoint2
svgNode IXmlElement
svgBuilder SvgBuilder
svgStylizer AbstractSvgStylizer

Returns: XMLElement


Private _createPlateGroupPipelineResult

_createPlateGroupPipelineResult(group: PlateGroup, platePolygonMap: Map‹Plate, IPlatePolygonWithCutouts›, rasterizedOutlineMap: Map‹Plate, RasterizedOutlineWithHoles›, plateJointShapeChangeMap: Map‹Plate, JointShapeChangeMap›): Promise‹[IPlatePolygonWithCutouts, MultiPolygon, JointShapeChangeMap]›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1170

Parameters:

Name Type
group PlateGroup
platePolygonMap Map‹Plate, IPlatePolygonWithCutouts
rasterizedOutlineMap Map‹Plate, RasterizedOutlineWithHoles
plateJointShapeChangeMap Map‹Plate, JointShapeChangeMap

Returns: Promise‹[IPlatePolygonWithCutouts, MultiPolygon, JointShapeChangeMap]›


Private _createSvgNodeFromSvgString

_createSvgNodeFromSvgString(svgString: string, size: IPoint2, svgNode: IXmlElement, svgStylizer: AbstractSvgStylizer, isCutout: boolean): Promise‹XMLElement›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1636

Parameters:

Name Type
svgString string
size IPoint2
svgNode IXmlElement
svgStylizer AbstractSvgStylizer
isCutout boolean

Returns: Promise‹XMLElement›


Private _determineEngravingPosition

_determineEngravingPosition(positionOnPlate: Vector3, size: IPoint2, plateMatrix: Matrix4): Vector3

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1531

Returns the position so that (in group coordinates) the engraving is centered on the plate around positionOnPlate.

Parameters:

Name Type Description
positionOnPlate Vector3 -
size IPoint2 -
plateMatrix Matrix4 -

Returns: Vector3


Private _determineEngravingRotationAngle

_determineEngravingRotationAngle(plateMatrix: Matrix4, side: PlateSide, engravingRotationAngle: number): number

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1543

Parameters:

Name Type Default
plateMatrix Matrix4 -
side PlateSide -
engravingRotationAngle number 0

Returns: number


Private _doesPlateANeedIntersectionFixWithPlateB

_doesPlateANeedIntersectionFixWithPlateB(plateA: any, plateB: any): boolean

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:954

Parameters:

Name Type
plateA any
plateB any

Returns: boolean


Private _fixIntersectingPlates

_fixIntersectingPlates(platePolygonMap: Map‹Plate, IPlatePolygonWithCutouts›): Promise‹Map‹Plate, IPlatePolygonWithCutouts››

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:768

Parameters:

Name Type
platePolygonMap Map‹Plate, IPlatePolygonWithCutouts

Returns: Promise‹Map‹Plate, IPlatePolygonWithCutouts››


Private _getFabricationConfigForAssembly

_getFabricationConfigForAssembly(assembly: Assembly): FabricationConfig

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:672

Parameters:

Name Type
assembly Assembly

Returns: FabricationConfig


Private _getPlateEngravingsMap

_getPlateEngravingsMap(platePolygonMap: Map‹Plate, IPlatePolygonWithCutouts›): Map‹Plate, IPlateEngravingsInfo

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1391

Get a map that associates plates with an object of engravings (front and back arrays)

Parameters:

Name Type Description
platePolygonMap Map‹Plate, IPlatePolygonWithCutouts a map that associates plates with their polygons

Returns: Map‹Plate, IPlateEngravingsInfo


Private _getPlatesAndAssemblies

_getPlatesAndAssemblies(): Promise‹object›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:590

Get the plates that need to be exported and all their assemblies

Returns: Promise‹object›


Private _getRightmostPointOfNestedPolygons

_getRightmostPointOfNestedPolygons(nesting: Nesting): number

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1140

Parameters:

Name Type
nesting Nesting

Returns: number


Private _hasBirdhouseCriterion

_hasBirdhouseCriterion(plateA: Plate, plateB: Plate): boolean

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:918

We have an obtuse angle from plate A, that is connected on one section of plate B, which has a section going out with again an obtuse angle. XXX X X X X <- B X X | A |X | | X | | X | | +--------+

Parameters:

Name Type
plateA Plate
plateB Plate

Returns: boolean


Private _hasCloseUnmergedOutlinePoints

_hasCloseUnmergedOutlinePoints(plateA: Plate, plateB: Plate): boolean

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:850

Parameters:

Name Type
plateA Plate
plateB Plate

Returns: boolean


Private _hasConcaveConvexConstellation

_hasConcaveConvexConstellation(plateA: Plate, plateB: Plate): boolean

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:872

Plates both have a concave edge adjacent to a corner that involves concave joints and convex joints (optionally, we could only do it, if there are none-90deg angles involved)

Parameters:

Name Type
plateA Plate
plateB Plate

Returns: boolean


Private _hasTeeJointEndingInConcaveCorner

_hasTeeJointEndingInConcaveCorner(plateA: Plate, plateB: Plate): boolean

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:838

Tee joints do not create cutouts on finger elongations from concave joints. see https://gitlab.dev.kyub.io/laser-project/general-issues/-/issues/3784

Parameters:

Name Type
plateA Plate
plateB Plate

Returns: boolean


Private _nest

_nest(groups: PlateGroup[], materialSize: [number, number], maxSheets?: number): PromiseIPage[]›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:987

creates a new nester and starts the nesting process

Parameters:

Name Type Description
groups PlateGroup[] which groups to nest
materialSize [number, number] the desired size of the output SVGs (does not apply for SimpleNester
maxSheets? number (optional) try to find a solution with leq maxSheets, might not terminate

Returns: PromiseIPage[]›

the nesting result provided by the nester


Protected _onHint

_onHint(hint: any): void

Inherited from PipelineEventsEmitter._onHint

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:45

Parameters:

Name Type
hint any

Returns: void


Protected _onProgress

_onProgress(args: object): void

Inherited from PipelineEventsEmitter._onProgress

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:37

Parameters:

args: object

Name Type
progress number
stage string

Returns: void


Protected _onWarning

_onWarning(warning: object): void

Inherited from PipelineEventsEmitter._onWarning

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:41

Parameters:

warning: object

Name Type
code string
message string

Returns: void


Private _removeXmlDeclaration

_removeXmlDeclaration(svgString: string): string

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1680

Parameters:

Name Type
svgString string

Returns: string


Private _renderCutLines

_renderCutLines(cutLines: ArrayLine2[], svgNode: IXmlElement, svgBuilder: SvgBuilder, svgStylizer: AbstractSvgStylizer, plate: Plate): void

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1594

Parameters:

Name Type
cutLines ArrayLine2[]
svgNode IXmlElement
svgBuilder SvgBuilder
svgStylizer AbstractSvgStylizer
plate Plate

Returns: void


Private _renderEngravingsAndCutLines

_renderEngravingsAndCutLines(group: PlateGroup, groupPolygon: MultiPolygon, groupMirrored: boolean, svgNode: IXmlElement, svgBuilder: SvgBuilder, svgStylizer: AbstractSvgStylizer, kerf: number): Promise‹void›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1426

Parameters:

Name Type
group PlateGroup
groupPolygon MultiPolygon
groupMirrored boolean
svgNode IXmlElement
svgBuilder SvgBuilder
svgStylizer AbstractSvgStylizer
kerf number

Returns: Promise‹void›


Private _renderEngravingsOnPlate

_renderEngravingsOnPlate(plate: Plate, offsetDrawables: IOffsetDrawable[], side: PlateSide, plateMatrix: Matrix4, svgNode: IXmlElement, svgBuilder: SvgBuilder, svgStylizer: AbstractSvgStylizer): Promise‹XMLElement[]›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1480

Parameters:

Name Type
plate Plate
offsetDrawables IOffsetDrawable[]
side PlateSide
plateMatrix Matrix4
svgNode IXmlElement
svgBuilder SvgBuilder
svgStylizer AbstractSvgStylizer

Returns: Promise‹XMLElement[]›


Private _renderGroup

_renderGroup(svgNode: IXmlElement, group: PlateGroup, pipelineResult: IPlateGroupPipelineResult, svgBuilder: SvgBuilder, assemblyHints: AssemblyInstructionHints, svgStylizer: AbstractSvgStylizer, kerf: number): Promise‹void›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1320

Parameters:

Name Type
svgNode IXmlElement
group PlateGroup
pipelineResult IPlateGroupPipelineResult
svgBuilder SvgBuilder
assemblyHints AssemblyInstructionHints
svgStylizer AbstractSvgStylizer
kerf number

Returns: Promise‹void›


Private _renderPassThroughSvgs

_renderPassThroughSvgs(passThroughSvgs: Array‹object›, xOffset: number, svgBuilder: SvgBuilder, svgStylizer: AbstractSvgStylizer): Promise‹Vector2›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1100

Add passThroughSvgs to the exported svg file

Parameters:

Name Type Description
passThroughSvgs Array‹object› -
xOffset number -
svgBuilder SvgBuilder -
svgStylizer AbstractSvgStylizer -

Returns: Promise‹Vector2›


Private _renderSvg

_renderSvg(nesting: Nesting, groupPipelineResultsMap: Map‹PlateGroup, IPlateGroupPipelineResult›, svgBuilder: SvgBuilder, assemblyHints: AssemblyInstructionHints, svgStylizer: AbstractSvgStylizer, kerf: number): Promise‹void›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1231

Renders all outlines to SVG

Parameters:

Name Type Default Description
nesting Nesting - the nesting to render
groupPipelineResultsMap Map‹PlateGroup, IPlateGroupPipelineResult - -
svgBuilder SvgBuilder - svgBuilder instance for the page the polygons should be rendered on
assemblyHints AssemblyInstructionHints null (optional) hints object for the rendered page
svgStylizer AbstractSvgStylizer - the stylizer of the svg
kerf number - the kerf to apply to every polygon

Returns: Promise‹void›


Private _renderSvgPage

_renderSvgPage(page: IPage & object, pageNumber: number, assemblyHints: AssemblyInstructionHints, svgStylizer: AbstractSvgStylizer, kerf: number): Promise‹void›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1024

Parameters:

Name Type
page IPage & object
pageNumber number
assemblyHints AssemblyInstructionHints
svgStylizer AbstractSvgStylizer
kerf number

Returns: Promise‹void›


Private _resizeSvg

_resizeSvg(svgString: string, width: number, height: number): string

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1671

Given an SVG as a string, changes the width and height attribute to fit the specified values

Parameters:

Name Type Description
svgString string -
width number -
height number -

Returns: string


Private _runPlatePipelines

_runPlatePipelines(plates: Plate[]): Promise‹object›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:705

Parameters:

Name Type
plates Plate[]

Returns: Promise‹object›


Private _setSize

_setSize(pageSize: IDimensions2, maxWidth: number, maxHeight: number, svgBuilder: SvgBuilder, svgStylizer: AbstractSvgStylizer): IDimensions2

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:1156

Parameters:

Name Type
pageSize IDimensions2
maxWidth number
maxHeight number
svgBuilder SvgBuilder
svgStylizer AbstractSvgStylizer

Returns: IDimensions2


Private _updateComponents

_updateComponents(assemblies: Assembly[]): Promise‹void›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:607

Parameters:

Name Type
assemblies Assembly[]

Returns: Promise‹void›


createNestingSpecificPipelineResultMap

createNestingSpecificPipelineResultMap(nesting: Nesting): Promise‹Map‹PlateGroup, IPlateGroupPipelineResult››

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:521

Creates CutoutPolygons for all PlateGroups in the nesting that match the mirroring state of the PlateGroups in that nesting. Relies on the global groupPipelineResultsMap, which should contain all original cutoutPolygons without any mirroring.

Parameters:

Name Type
nesting Nesting

Returns: Promise‹Map‹PlateGroup, IPlateGroupPipelineResult››


createNestingSpecificPlateGroupPipelineResult

createNestingSpecificPlateGroupPipelineResult(nesting: Nesting, plateGroup: PlateGroup): PromiseIPlateGroupPipelineResult

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:535

Parameters:

Name Type
nesting Nesting
plateGroup PlateGroup

Returns: PromiseIPlateGroupPipelineResult


generate

generate(): PromiseAssembly[]›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:297

generates the outline of all plates and nests them. has to be called before render()

Returns: PromiseAssembly[]›


getGroupRepresentation

getGroupRepresentation(plateGroup: any): IPlateGroup2DRepresentations

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:509

Parameters:

Name Type
plateGroup any

Returns: IPlateGroup2DRepresentations


getGroups

getGroups(): PlateGroup[]

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:501

Returns: PlateGroup[]


getHintEventEmitter

getHintEventEmitter(): IPublicEventEmitterInterface‹object›

Inherited from PipelineEventsEmitter.getHintEventEmitter

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:33

Returns: IPublicEventEmitterInterface‹object›


getPages

getPages(): Array‹IPage & object›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:505

Returns: Array‹IPage & object›


getProgressEventEmitter

getProgressEventEmitter(): IPublicEventEmitterInterface‹object›

Inherited from PipelineEventsEmitter.getProgressEventEmitter

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:25

Returns: IPublicEventEmitterInterface‹object›


getWarningEventEmitter

getWarningEventEmitter(): IPublicEventEmitterInterface‹object›

Inherited from PipelineEventsEmitter.getWarningEventEmitter

Defined in src/modules/kyub.core.svgObjExporter/src/PipelineEventsEmitter.ts:29

Returns: IPublicEventEmitterInterface‹object›


render

render(stylizer: AbstractSvgStylizer, kerf: number): PromiseAbstractSvgStylizer

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:483

renders generated and nested outlines with the given stylizer has to be called after generate()

Parameters:

Name Type Default
stylizer AbstractSvgStylizer -
kerf number 0

Returns: PromiseAbstractSvgStylizer


setAssemblyInstructions

setAssemblyInstructions(assemblyInstructions: SubassemblyInstruction): void

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:513

Parameters:

Name Type
assemblyInstructions SubassemblyInstruction

Returns: void


Static _applyMirroringToGroupRepresentations

_applyMirroringToGroupRepresentations(group: PlateGroup, representations: IPlateGroup2DRepresentations, plateEngravingsMap?: Map‹Plate, IPlateEngravingsInfo›): Promise‹void›

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:153

Parameters:

Name Type
group PlateGroup
representations IPlateGroup2DRepresentations
plateEngravingsMap? Map‹Plate, IPlateEngravingsInfo

Returns: Promise‹void›


Static Private _getMaterial

_getMaterial(group: PlateGroup): IPlateMaterial

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:242

Parameters:

Name Type
group PlateGroup

Returns: IPlateMaterial


Static Private _isPartOfCell

_isPartOfCell(outlinePointA: OutlinePoint, outlinePointB: OutlinePoint): boolean

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:233

Parameters:

Name Type
outlinePointA OutlinePoint
outlinePointB OutlinePoint

Returns: boolean


Static _shouldMirrorGroup

_shouldMirrorGroup(group: PlateGroup, plateEngravingsMap?: Map‹Plate, Pick‹IPlateEngravingsInfo, "front" | "back"››): boolean

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:198

Whether or not the group should be mirrored depending on where the engravings are. By default plates should not be mirrored (except for foamcore which is cut from the other side).

Parameters:

Name Type
group PlateGroup
plateEngravingsMap? Map‹Plate, Pick‹IPlateEngravingsInfo, "front" | "back"››

Returns: boolean


Static _yWiseMirrorMatrix

_yWiseMirrorMatrix(plateMatrix: Matrix4, groupAABB: AABB): Matrix4

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:224

Parameters:

Name Type Default
plateMatrix Matrix4 -
groupAABB AABB null

Returns: Matrix4


Static applyKerf

applyKerf(polygon: Polygon | MultiPolygon, kerf: number, isCutout: boolean): MultiPolygon

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:130

Parameters:

Name Type
polygon Polygon | MultiPolygon
kerf number
isCutout boolean

Returns: MultiPolygon


Static offsetPolygon

offsetPolygon(inputPolygon: Polygon | MultiPolygon, offset: number): MultiPolygon

Defined in src/modules/kyub.core.svgObjExporter/src/export/SvgCreator.ts:138

Parameters:

Name Type
inputPolygon Polygon | MultiPolygon
offset number

Returns: MultiPolygon