Skip to content

editor › Globals › SvgCreator

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): Promise‹IPage[]›

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: Promise‹IPage[]›

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): Promise‹IPlateGroupPipelineResult›

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

Parameters:

Name Type
nesting Nesting
plateGroup PlateGroup

Returns: Promise‹IPlateGroupPipelineResult›


generate

▸ generate(): Promise‹Assembly[]›

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: Promise‹Assembly[]›


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): Promise‹AbstractSvgStylizer›

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: Promise‹AbstractSvgStylizer›


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