editor › Globals › SvgCreator
Class: SvgCreator
Exports physical objects to SVG
Hierarchy
↳ SvgCreator
Index
Constructors
Properties
- assemblyHints
- cancelToken
- compositeModel
- exportSettings
- fabricationConfig
- forceSynchronousRun
- groupPipelineResultsMap
- groupRepresentationsMap
- groups
- hintEventEmitter
- nestedPages
- nestingProgress
- nestingSpace
- optimizeMasterPlates
- plateEngravingsMap
- platePipelines
- progressEventEmitter
- warningEventEmitter
- availableJointCoordinatorsClasses
Methods
- _addDrawableToSvgNode
- _addRegistrationMarks
- _cancelPipelines
- _convertArrayPointsToXY
- _convertJointShapeChangesToPolygon
- _coordinateJoints
- _createClipPathForPlate
- _createImageNodeFromCanvas
- _createPlateGroupPipelineResult
- _createSvgNodeFromSvgString
- _determineEngravingPosition
- _determineEngravingRotationAngle
- _doesPlateANeedIntersectionFixWithPlateB
- _fixIntersectingPlates
- _getFabricationConfigForAssembly
- _getPlateEngravingsMap
- _getPlatesAndAssemblies
- _getRightmostPointOfNestedPolygons
- _hasBirdhouseCriterion
- _hasCloseUnmergedOutlinePoints
- _hasConcaveConvexConstellation
- _hasTeeJointEndingInConcaveCorner
- _nest
- _onHint
- _onProgress
- _onWarning
- _removeXmlDeclaration
- _renderCutLines
- _renderEngravingsAndCutLines
- _renderEngravingsOnPlate
- _renderGroup
- _renderPassThroughSvgs
- _renderSvg
- _renderSvgPage
- _resizeSvg
- _runPlatePipelines
- _setSize
- _updateComponents
- createNestingSpecificPipelineResultMap
- createNestingSpecificPlateGroupPipelineResult
- generate
- getGroupRepresentation
- getGroups
- getHintEventEmitter
- getPages
- getProgressEventEmitter
- getWarningEventEmitter
- render
- setAssemblyInstructions
- _applyMirroringToGroupRepresentations
- _getMaterial
- _isPartOfCell
- _shouldMirrorGroup
- _yWiseMirrorMatrix
- applyKerf
- offsetPolygon
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 |
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()
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