Change unit conversion functions to operate on input rather than return a conversion factor (#6181)
Signed-off-by: Nick Cameron <nrc@ncameron.org>
@ -1,3 +1,3 @@
|
|||||||
[codespell]
|
[codespell]
|
||||||
ignore-words-list: crate,everytime,inout,co-ordinate,ot,nwo,atleast,ue,afterall,ser
|
ignore-words-list: crate,everytime,inout,co-ordinate,ot,nwo,atleast,ue,afterall,ser,fromM,FromM
|
||||||
skip: **/target,node_modules,build,dist,./out,**/Cargo.lock,./docs/kcl/*.md,.yarn.lock,**/yarn.lock,./openapi/*.json,./packages/codemirror-lang-kcl/test/all.test.ts,./public/kcl-samples,./rust/kcl-lib/tests/kcl_samples,tsconfig.tsbuildinfo
|
skip: **/target,node_modules,build,dist,./out,**/Cargo.lock,./docs/kcl/*.md,.yarn.lock,**/yarn.lock,./openapi/*.json,./packages/codemirror-lang-kcl/test/all.test.ts,./public/kcl-samples,./rust/kcl-lib/tests/kcl_samples,tsconfig.tsbuildinfo
|
||||||
|
45
docs/kcl/fromCm.md
Normal file
@ -65,11 +65,15 @@ layout: manual
|
|||||||
* [`chamfer`](kcl/chamfer)
|
* [`chamfer`](kcl/chamfer)
|
||||||
* [`circleThreePoint`](kcl/circleThreePoint)
|
* [`circleThreePoint`](kcl/circleThreePoint)
|
||||||
* [`close`](kcl/close)
|
* [`close`](kcl/close)
|
||||||
* [`cm`](kcl/cm)
|
|
||||||
* [`extrude`](kcl/extrude)
|
* [`extrude`](kcl/extrude)
|
||||||
* [`fillet`](kcl/fillet)
|
* [`fillet`](kcl/fillet)
|
||||||
* [`floor`](kcl/floor)
|
* [`floor`](kcl/floor)
|
||||||
* [`ft`](kcl/ft)
|
* [`fromCm`](kcl/fromCm)
|
||||||
|
* [`fromFt`](kcl/fromFt)
|
||||||
|
* [`fromInches`](kcl/fromInches)
|
||||||
|
* [`fromM`](kcl/fromM)
|
||||||
|
* [`fromMm`](kcl/fromMm)
|
||||||
|
* [`fromYd`](kcl/fromYd)
|
||||||
* [`getCommonEdge`](kcl/getCommonEdge)
|
* [`getCommonEdge`](kcl/getCommonEdge)
|
||||||
* [`getNextAdjacentEdge`](kcl/getNextAdjacentEdge)
|
* [`getNextAdjacentEdge`](kcl/getNextAdjacentEdge)
|
||||||
* [`getOppositeEdge`](kcl/getOppositeEdge)
|
* [`getOppositeEdge`](kcl/getOppositeEdge)
|
||||||
@ -77,7 +81,6 @@ layout: manual
|
|||||||
* [`helix`](kcl/std-helix)
|
* [`helix`](kcl/std-helix)
|
||||||
* [`hole`](kcl/hole)
|
* [`hole`](kcl/hole)
|
||||||
* [`hollow`](kcl/hollow)
|
* [`hollow`](kcl/hollow)
|
||||||
* [`inch`](kcl/inch)
|
|
||||||
* [`lastSegX`](kcl/lastSegX)
|
* [`lastSegX`](kcl/lastSegX)
|
||||||
* [`lastSegY`](kcl/lastSegY)
|
* [`lastSegY`](kcl/lastSegY)
|
||||||
* [`legAngX`](kcl/legAngX)
|
* [`legAngX`](kcl/legAngX)
|
||||||
@ -89,11 +92,9 @@ layout: manual
|
|||||||
* [`log`](kcl/log)
|
* [`log`](kcl/log)
|
||||||
* [`log10`](kcl/log10)
|
* [`log10`](kcl/log10)
|
||||||
* [`log2`](kcl/log2)
|
* [`log2`](kcl/log2)
|
||||||
* [`m`](kcl/m)
|
|
||||||
* [`map`](kcl/map)
|
* [`map`](kcl/map)
|
||||||
* [`max`](kcl/max)
|
* [`max`](kcl/max)
|
||||||
* [`min`](kcl/min)
|
* [`min`](kcl/min)
|
||||||
* [`mm`](kcl/mm)
|
|
||||||
* [`offsetPlane`](kcl/offsetPlane)
|
* [`offsetPlane`](kcl/offsetPlane)
|
||||||
* [`patternCircular2d`](kcl/patternCircular2d)
|
* [`patternCircular2d`](kcl/patternCircular2d)
|
||||||
* [`patternCircular3d`](kcl/patternCircular3d)
|
* [`patternCircular3d`](kcl/patternCircular3d)
|
||||||
@ -136,7 +137,6 @@ layout: manual
|
|||||||
* [`translate`](kcl/translate)
|
* [`translate`](kcl/translate)
|
||||||
* [`xLine`](kcl/xLine)
|
* [`xLine`](kcl/xLine)
|
||||||
* [`yLine`](kcl/yLine)
|
* [`yLine`](kcl/yLine)
|
||||||
* [`yd`](kcl/yd)
|
|
||||||
* **std::math**
|
* **std::math**
|
||||||
* [`E`](kcl/consts/std-math-E)
|
* [`E`](kcl/consts/std-math-E)
|
||||||
* [`PI`](kcl/consts/std-math-PI)
|
* [`PI`](kcl/consts/std-math-PI)
|
||||||
|
@ -79599,34 +79599,6 @@
|
|||||||
"exampleSketch = startSketchOn(-XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> line(end = [0, 10])\n |> close()\n\nexample = extrude(exampleSketch, length = 10)"
|
"exampleSketch = startSketchOn(-XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [10, 0])\n |> line(end = [0, 10])\n |> close()\n\nexample = extrude(exampleSketch, length = 10)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "cm",
|
|
||||||
"summary": "Centimeters conversion factor for current projects units.",
|
|
||||||
"description": "No matter what units the current project uses, this function will always return the conversion factor to centimeters.\n\nFor example, if the current project uses inches, this function will return `0.393701`. If the current project uses millimeters, this function will return `10`. If the current project uses centimeters, this function will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `10 * cm()` is more readable that your intent is \"I want 10 centimeters\" than `10 * 10`, if the project settings are in millimeters.",
|
|
||||||
"tags": [
|
|
||||||
"units"
|
|
||||||
],
|
|
||||||
"keywordArguments": false,
|
|
||||||
"args": [],
|
|
||||||
"returnValue": {
|
|
||||||
"name": "",
|
|
||||||
"type": "number",
|
|
||||||
"schema": {
|
|
||||||
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
|
||||||
"title": "double",
|
|
||||||
"type": "number",
|
|
||||||
"format": "double"
|
|
||||||
},
|
|
||||||
"required": true,
|
|
||||||
"includeInSnippet": true,
|
|
||||||
"labelRequired": true
|
|
||||||
},
|
|
||||||
"unpublished": false,
|
|
||||||
"deprecated": false,
|
|
||||||
"examples": [
|
|
||||||
"totalWidth = 10 * cm()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "e",
|
"name": "e",
|
||||||
"summary": "Return the value of Euler’s number `e`.",
|
"summary": "Return the value of Euler’s number `e`.",
|
||||||
@ -97490,14 +97462,28 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ft",
|
"name": "fromCm",
|
||||||
"summary": "Feet conversion factor for current projects units.",
|
"summary": "Converts a number from centimeters to the current default unit.",
|
||||||
"description": "No matter what units the current project uses, this function will always return the conversion factor to feet.\n\nFor example, if the current project uses inches, this function will return `12`. If the current project uses millimeters, this function will return `304.8`. If the current project uses feet, this function will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `10 * ft()` is more readable that your intent is \"I want 10 feet\" than `10 * 304.8`, if the project settings are in millimeters.",
|
"description": "No matter what units the current file uses, this function will always return a number equivalent to the input in centimeters.\n\nFor example, if the current file uses inches, `fromCm(1)` will return `0.393701`. If the current file uses millimeters, `fromCm(1)` will return `10`. If the current file uses centimeters, `fromCm(1)` will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the file settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `fromCm(10)` is more readable that your intent is \"I want 10 centimeters\" than `10 * 10`, if the file settings are in millimeters.",
|
||||||
"tags": [
|
"tags": [
|
||||||
"units"
|
"units"
|
||||||
],
|
],
|
||||||
"keywordArguments": false,
|
"keywordArguments": false,
|
||||||
"args": [],
|
"args": [
|
||||||
|
{
|
||||||
|
"name": "input",
|
||||||
|
"type": "number",
|
||||||
|
"schema": {
|
||||||
|
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
||||||
|
"title": "double",
|
||||||
|
"type": "number",
|
||||||
|
"format": "double"
|
||||||
|
},
|
||||||
|
"required": true,
|
||||||
|
"includeInSnippet": true,
|
||||||
|
"labelRequired": true
|
||||||
|
}
|
||||||
|
],
|
||||||
"returnValue": {
|
"returnValue": {
|
||||||
"name": "",
|
"name": "",
|
||||||
"type": "number",
|
"type": "number",
|
||||||
@ -97514,7 +97500,217 @@
|
|||||||
"unpublished": false,
|
"unpublished": false,
|
||||||
"deprecated": false,
|
"deprecated": false,
|
||||||
"examples": [
|
"examples": [
|
||||||
"totalWidth = 10 * ft()"
|
"totalWidth = fromCm(10)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fromFt",
|
||||||
|
"summary": "Converts a number from feet to the current default unit.",
|
||||||
|
"description": "No matter what units the current file uses, this function will always return a number equivalent to the input in feet.\n\nFor example, if the current file uses inches, `fromFt(1)` will return `12`. If the current file uses millimeters, `fromFt(1)` will return `304.8`. If the current file uses feet, `fromFt(1)` will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the file settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `fromFt(10)` is more readable that your intent is \"I want 10 feet\" than `10 * 304.8`, if the file settings are in millimeters.",
|
||||||
|
"tags": [
|
||||||
|
"units"
|
||||||
|
],
|
||||||
|
"keywordArguments": false,
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"name": "input",
|
||||||
|
"type": "number",
|
||||||
|
"schema": {
|
||||||
|
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
||||||
|
"title": "double",
|
||||||
|
"type": "number",
|
||||||
|
"format": "double"
|
||||||
|
},
|
||||||
|
"required": true,
|
||||||
|
"includeInSnippet": true,
|
||||||
|
"labelRequired": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"returnValue": {
|
||||||
|
"name": "",
|
||||||
|
"type": "number",
|
||||||
|
"schema": {
|
||||||
|
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
||||||
|
"title": "double",
|
||||||
|
"type": "number",
|
||||||
|
"format": "double"
|
||||||
|
},
|
||||||
|
"required": true,
|
||||||
|
"includeInSnippet": true,
|
||||||
|
"labelRequired": true
|
||||||
|
},
|
||||||
|
"unpublished": false,
|
||||||
|
"deprecated": false,
|
||||||
|
"examples": [
|
||||||
|
"totalWidth = fromFt(10)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fromInches",
|
||||||
|
"summary": "Converts a number from inches to the current default unit.",
|
||||||
|
"description": "No matter what units the current file uses, this function will always return a number equivalent to the input in inches.\n\nFor example, if the current file uses inches, `fromInches(1)` will return `1`. If the current file uses millimeters, `fromInches(1)` will return `25.4`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the file settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `fromInches(10)` is more readable that your intent is \"I want 10 inches\" than `10 * 25.4`, if the file settings are in millimeters.",
|
||||||
|
"tags": [
|
||||||
|
"units"
|
||||||
|
],
|
||||||
|
"keywordArguments": false,
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"name": "input",
|
||||||
|
"type": "number",
|
||||||
|
"schema": {
|
||||||
|
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
||||||
|
"title": "double",
|
||||||
|
"type": "number",
|
||||||
|
"format": "double"
|
||||||
|
},
|
||||||
|
"required": true,
|
||||||
|
"includeInSnippet": true,
|
||||||
|
"labelRequired": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"returnValue": {
|
||||||
|
"name": "",
|
||||||
|
"type": "number",
|
||||||
|
"schema": {
|
||||||
|
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
||||||
|
"title": "double",
|
||||||
|
"type": "number",
|
||||||
|
"format": "double"
|
||||||
|
},
|
||||||
|
"required": true,
|
||||||
|
"includeInSnippet": true,
|
||||||
|
"labelRequired": true
|
||||||
|
},
|
||||||
|
"unpublished": false,
|
||||||
|
"deprecated": false,
|
||||||
|
"examples": [
|
||||||
|
"totalWidth = fromInches(10)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fromM",
|
||||||
|
"summary": "Converts a number from meters to the current default unit.",
|
||||||
|
"description": "No matter what units the current file uses, this function will always return a number equivalent to the input in meters.\n\nFor example, if the current file uses inches, `fromM(1)` will return `39.3701`. If the current file uses millimeters, `fromM(1)` will return `1000`. If the current file uses meters, `fromM(1)` will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the file settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `fromM(10)` is more readable that your intent is \"I want 10 meters\" than `10 * 1000`, if the file settings are in millimeters.",
|
||||||
|
"tags": [
|
||||||
|
"units"
|
||||||
|
],
|
||||||
|
"keywordArguments": false,
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"name": "input",
|
||||||
|
"type": "number",
|
||||||
|
"schema": {
|
||||||
|
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
||||||
|
"title": "double",
|
||||||
|
"type": "number",
|
||||||
|
"format": "double"
|
||||||
|
},
|
||||||
|
"required": true,
|
||||||
|
"includeInSnippet": true,
|
||||||
|
"labelRequired": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"returnValue": {
|
||||||
|
"name": "",
|
||||||
|
"type": "number",
|
||||||
|
"schema": {
|
||||||
|
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
||||||
|
"title": "double",
|
||||||
|
"type": "number",
|
||||||
|
"format": "double"
|
||||||
|
},
|
||||||
|
"required": true,
|
||||||
|
"includeInSnippet": true,
|
||||||
|
"labelRequired": true
|
||||||
|
},
|
||||||
|
"unpublished": false,
|
||||||
|
"deprecated": false,
|
||||||
|
"examples": [
|
||||||
|
"totalWidth = 10 * fromM(10)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fromMm",
|
||||||
|
"summary": "Converts a number from mm to the current default unit.",
|
||||||
|
"description": "No matter what units the current file uses, this function will always return a number equivalent to the input in millimeters.\n\nFor example, if the current file uses inches, `fromMm(1)` will return `1/25.4`. If the current file uses millimeters, `fromMm(1)` will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the file settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `fromMm(10)` is more readable that your intent is \"I want 10 millimeters\" than `10 * (1/25.4)`, if the file settings are in inches.",
|
||||||
|
"tags": [
|
||||||
|
"units"
|
||||||
|
],
|
||||||
|
"keywordArguments": false,
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"name": "input",
|
||||||
|
"type": "number",
|
||||||
|
"schema": {
|
||||||
|
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
||||||
|
"title": "double",
|
||||||
|
"type": "number",
|
||||||
|
"format": "double"
|
||||||
|
},
|
||||||
|
"required": true,
|
||||||
|
"includeInSnippet": true,
|
||||||
|
"labelRequired": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"returnValue": {
|
||||||
|
"name": "",
|
||||||
|
"type": "number",
|
||||||
|
"schema": {
|
||||||
|
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
||||||
|
"title": "double",
|
||||||
|
"type": "number",
|
||||||
|
"format": "double"
|
||||||
|
},
|
||||||
|
"required": true,
|
||||||
|
"includeInSnippet": true,
|
||||||
|
"labelRequired": true
|
||||||
|
},
|
||||||
|
"unpublished": false,
|
||||||
|
"deprecated": false,
|
||||||
|
"examples": [
|
||||||
|
"totalWidth = fromMm(10)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fromYd",
|
||||||
|
"summary": "Converts a number from yards to the current default unit.",
|
||||||
|
"description": "No matter what units the current file uses, this function will always return a number equivalent to the input in yards.\n\nFor example, if the current file uses inches, `fromYd(1)` will return `36`. If the current file uses millimeters, `fromYd(1)` will return `914.4`. If the current file uses yards, `fromYd(1)` will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the file settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `fromYd(10)` is more readable that your intent is \"I want 10 yards\" than `10 * 914.4`, if the file settings are in millimeters.",
|
||||||
|
"tags": [
|
||||||
|
"units"
|
||||||
|
],
|
||||||
|
"keywordArguments": false,
|
||||||
|
"args": [
|
||||||
|
{
|
||||||
|
"name": "input",
|
||||||
|
"type": "number",
|
||||||
|
"schema": {
|
||||||
|
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
||||||
|
"title": "double",
|
||||||
|
"type": "number",
|
||||||
|
"format": "double"
|
||||||
|
},
|
||||||
|
"required": true,
|
||||||
|
"includeInSnippet": true,
|
||||||
|
"labelRequired": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"returnValue": {
|
||||||
|
"name": "",
|
||||||
|
"type": "number",
|
||||||
|
"schema": {
|
||||||
|
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
||||||
|
"title": "double",
|
||||||
|
"type": "number",
|
||||||
|
"format": "double"
|
||||||
|
},
|
||||||
|
"required": true,
|
||||||
|
"includeInSnippet": true,
|
||||||
|
"labelRequired": true
|
||||||
|
},
|
||||||
|
"unpublished": false,
|
||||||
|
"deprecated": false,
|
||||||
|
"examples": [
|
||||||
|
"totalWidth = fromYd(10)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -106369,34 +106565,6 @@
|
|||||||
"import height, buildSketch from \"common.kcl\"\n\nplane = XZ\nmargin = 2\ns1 = buildSketch(plane, [0, 0])\ns2 = buildSketch(plane, [0, height() + margin])"
|
"import height, buildSketch from \"common.kcl\"\n\nplane = XZ\nmargin = 2\ns1 = buildSketch(plane, [0, 0])\ns2 = buildSketch(plane, [0, height() + margin])"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "inch",
|
|
||||||
"summary": "Inches conversion factor for current projects units.",
|
|
||||||
"description": "No matter what units the current project uses, this function will always return the conversion factor to inches.\n\nFor example, if the current project uses inches, this function will return `1`. If the current project uses millimeters, this function will return `25.4`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `10 * inch()` is more readable that your intent is \"I want 10 inches\" than `10 * 25.4`, if the project settings are in millimeters.",
|
|
||||||
"tags": [
|
|
||||||
"units"
|
|
||||||
],
|
|
||||||
"keywordArguments": false,
|
|
||||||
"args": [],
|
|
||||||
"returnValue": {
|
|
||||||
"name": "",
|
|
||||||
"type": "number",
|
|
||||||
"schema": {
|
|
||||||
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
|
||||||
"title": "double",
|
|
||||||
"type": "number",
|
|
||||||
"format": "double"
|
|
||||||
},
|
|
||||||
"required": true,
|
|
||||||
"includeInSnippet": true,
|
|
||||||
"labelRequired": true
|
|
||||||
},
|
|
||||||
"unpublished": false,
|
|
||||||
"deprecated": false,
|
|
||||||
"examples": [
|
|
||||||
"totalWidth = 10 * inch()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "int",
|
"name": "int",
|
||||||
"summary": "Convert a number to an integer.",
|
"summary": "Convert a number to an integer.",
|
||||||
@ -134361,34 +134529,6 @@
|
|||||||
"exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [log2(100), 0])\n |> line(end = [5, 8])\n |> line(end = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)"
|
"exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> line(end = [log2(100), 0])\n |> line(end = [5, 8])\n |> line(end = [-10, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "m",
|
|
||||||
"summary": "Meters conversion factor for current projects units.",
|
|
||||||
"description": "No matter what units the current project uses, this function will always return the conversion factor to meters.\n\nFor example, if the current project uses inches, this function will return `39.3701`. If the current project uses millimeters, this function will return `1000`. If the current project uses meters, this function will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `10 * m()` is more readable that your intent is \"I want 10 meters\" than `10 * 1000`, if the project settings are in millimeters.",
|
|
||||||
"tags": [
|
|
||||||
"units"
|
|
||||||
],
|
|
||||||
"keywordArguments": false,
|
|
||||||
"args": [],
|
|
||||||
"returnValue": {
|
|
||||||
"name": "",
|
|
||||||
"type": "number",
|
|
||||||
"schema": {
|
|
||||||
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
|
||||||
"title": "double",
|
|
||||||
"type": "number",
|
|
||||||
"format": "double"
|
|
||||||
},
|
|
||||||
"required": true,
|
|
||||||
"includeInSnippet": true,
|
|
||||||
"labelRequired": true
|
|
||||||
},
|
|
||||||
"unpublished": false,
|
|
||||||
"deprecated": false,
|
|
||||||
"examples": [
|
|
||||||
"totalWidth = 10 * m()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "map",
|
"name": "map",
|
||||||
"summary": "Apply a function to every element of a list.",
|
"summary": "Apply a function to every element of a list.",
|
||||||
@ -141853,34 +141993,6 @@
|
|||||||
"exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = 70,\n length = min(15, 31, 4, 13, 22)\n }, %)\n |> line(end = [20, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)"
|
"exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> angledLine({\n angle = 70,\n length = min(15, 31, 4, 13, 22)\n }, %)\n |> line(end = [20, 0])\n |> close()\n\nexample = extrude(exampleSketch, length = 5)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "mm",
|
|
||||||
"summary": "Millimeters conversion factor for current projects units.",
|
|
||||||
"description": "No matter what units the current project uses, this function will always return the conversion factor to millimeters.\n\nFor example, if the current project uses inches, this function will return `(1/25.4)`. If the current project uses millimeters, this function will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `10 * mm()` is more readable that your intent is \"I want 10 millimeters\" than `10 * (1/25.4)`, if the project settings are in inches.",
|
|
||||||
"tags": [
|
|
||||||
"units"
|
|
||||||
],
|
|
||||||
"keywordArguments": false,
|
|
||||||
"args": [],
|
|
||||||
"returnValue": {
|
|
||||||
"name": "",
|
|
||||||
"type": "number",
|
|
||||||
"schema": {
|
|
||||||
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
|
||||||
"title": "double",
|
|
||||||
"type": "number",
|
|
||||||
"format": "double"
|
|
||||||
},
|
|
||||||
"required": true,
|
|
||||||
"includeInSnippet": true,
|
|
||||||
"labelRequired": true
|
|
||||||
},
|
|
||||||
"unpublished": false,
|
|
||||||
"deprecated": false,
|
|
||||||
"examples": [
|
|
||||||
"totalWidth = 10 * mm()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "offsetPlane",
|
"name": "offsetPlane",
|
||||||
"summary": "Offset a plane by a distance along its normal.",
|
"summary": "Offset a plane by a distance along its normal.",
|
||||||
@ -336111,33 +336223,5 @@
|
|||||||
"examples": [
|
"examples": [
|
||||||
"exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> yLine(length = 15)\n |> angledLine({ angle = 30, length = 15 }, %)\n |> line(end = [8, -10])\n |> yLine(length = -5)\n |> close()\n\nexample = extrude(exampleSketch, length = 10)"
|
"exampleSketch = startSketchOn(XZ)\n |> startProfileAt([0, 0], %)\n |> yLine(length = 15)\n |> angledLine({ angle = 30, length = 15 }, %)\n |> line(end = [8, -10])\n |> yLine(length = -5)\n |> close()\n\nexample = extrude(exampleSketch, length = 10)"
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "yd",
|
|
||||||
"summary": "Yards conversion factor for current projects units.",
|
|
||||||
"description": "No matter what units the current project uses, this function will always return the conversion factor to yards.\n\nFor example, if the current project uses inches, this function will return `36`. If the current project uses millimeters, this function will return `914.4`. If the current project uses yards, this function will return `1`.\n\n**Caution**: This function is only intended to be used when you absolutely MUST have different units in your code than the project settings. Otherwise, it is a bad pattern to use this function.\n\nWe merely provide these functions for convenience and readability, as `10 * yd()` is more readable that your intent is \"I want 10 yards\" than `10 * 914.4`, if the project settings are in millimeters.",
|
|
||||||
"tags": [
|
|
||||||
"units"
|
|
||||||
],
|
|
||||||
"keywordArguments": false,
|
|
||||||
"args": [],
|
|
||||||
"returnValue": {
|
|
||||||
"name": "",
|
|
||||||
"type": "number",
|
|
||||||
"schema": {
|
|
||||||
"$schema": "https://spec.openapis.org/oas/3.0/schema/2019-04-02#/definitions/Schema",
|
|
||||||
"title": "double",
|
|
||||||
"type": "number",
|
|
||||||
"format": "double"
|
|
||||||
},
|
|
||||||
"required": true,
|
|
||||||
"includeInSnippet": true,
|
|
||||||
"labelRequired": true
|
|
||||||
},
|
|
||||||
"unpublished": false,
|
|
||||||
"deprecated": false,
|
|
||||||
"examples": [
|
|
||||||
"totalWidth = 10 * yd()"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
@ -32,7 +32,7 @@ lugClearance = startSketchOn(lugExtrusion, 'END')
|
|||||||
|
|
||||||
// Create the circular pattern for the lug holes
|
// Create the circular pattern for the lug holes
|
||||||
lugHoles = startSketchOn(lugBase, 'END')
|
lugHoles = startSketchOn(lugBase, 'END')
|
||||||
|> circle(center = [lugSpacing / 2, 0], radius = 16 * mm() / 2)
|
|> circle(center = [lugSpacing / 2, 0], radius = fromMm(16) / 2)
|
||||||
|> patternCircular2d(
|
|> patternCircular2d(
|
||||||
arcDegrees = 360,
|
arcDegrees = 360,
|
||||||
center = [0, 0],
|
center = [0, 0],
|
||||||
|
@ -11,7 +11,7 @@ customPlane = {
|
|||||||
plane = {
|
plane = {
|
||||||
origin = {
|
origin = {
|
||||||
x = lugSpacing / 2,
|
x = lugSpacing / 2,
|
||||||
y = -30 * mm(),
|
y = fromMm(-30),
|
||||||
z = 0
|
z = 0
|
||||||
},
|
},
|
||||||
xAxis = { x = 1, y = 0, z = 0 },
|
xAxis = { x = 1, y = 0, z = 0 },
|
||||||
@ -26,7 +26,7 @@ fn lug(plane, length, diameter) {
|
|||||||
|> angledLineOfYLength({ angle = 70, length = lugHeadLength }, %)
|
|> angledLineOfYLength({ angle = 70, length = lugHeadLength }, %)
|
||||||
|> xLine(endAbsolute = lugDiameter / 2)
|
|> xLine(endAbsolute = lugDiameter / 2)
|
||||||
|> yLine(endAbsolute = lugLength)
|
|> yLine(endAbsolute = lugLength)
|
||||||
|> tangentialArc({ offset = 90, radius = 3 * mm() }, %)
|
|> tangentialArc({ offset = 90, radius = fromMm(3) }, %)
|
||||||
|> xLine(endAbsolute = 0 + .001, tag = $c1)
|
|> xLine(endAbsolute = 0 + .001, tag = $c1)
|
||||||
|> yLine(endAbsolute = lugThreadDepth)
|
|> yLine(endAbsolute = lugThreadDepth)
|
||||||
|> xLine(endAbsolute = lugThreadDiameter)
|
|> xLine(endAbsolute = lugThreadDiameter)
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
|
|
||||||
// Car wheel
|
// Car wheel
|
||||||
export lugCount = 5
|
export lugCount = 5
|
||||||
export lugSpacing = 114.3 * mm()
|
export lugSpacing = fromMm(114.3)
|
||||||
export offset = -35 * mm()
|
export offset = fromMm(-35)
|
||||||
export backSpacing = 6.38
|
export backSpacing = 6.38
|
||||||
export wheelWidth = 9.5
|
export wheelWidth = 9.5
|
||||||
export wheelDiameter = 19
|
export wheelDiameter = 19
|
||||||
@ -16,11 +16,11 @@ export spokeAngle = 0.02
|
|||||||
export spokeThickness = 0.95
|
export spokeThickness = 0.95
|
||||||
|
|
||||||
// Lug Nut
|
// Lug Nut
|
||||||
export lugDiameter = 24 * mm()
|
export lugDiameter = fromMm(24)
|
||||||
export lugHeadLength = lugDiameter * .5
|
export lugHeadLength = lugDiameter * .5
|
||||||
export lugThreadDiameter = lugDiameter / 2 * .85
|
export lugThreadDiameter = lugDiameter / 2 * .85
|
||||||
export lugLength = 30 * mm()
|
export lugLength = fromMm(30)
|
||||||
export lugThreadDepth = lugLength - (12.7 * mm())
|
export lugThreadDepth = lugLength - fromMm(12.7)
|
||||||
|
|
||||||
// Car rotor
|
// Car rotor
|
||||||
export rotorDiameter = 12
|
export rotorDiameter = 12
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
@settings(defaultLengthUnit = in)
|
@settings(defaultLengthUnit = in)
|
||||||
|
|
||||||
// Define parameters
|
// Define parameters
|
||||||
beamLength = 6 * ft()
|
beamLength = fromFt(6)
|
||||||
beamHeight = 4
|
beamHeight = 4
|
||||||
flangeWidth = 2.663
|
flangeWidth = 2.663
|
||||||
flangeThickness = 0.293
|
flangeThickness = 0.293
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
// Define parameters
|
// Define parameters
|
||||||
routerDiameter = 12.7
|
routerDiameter = 12.7
|
||||||
templateDiameter = 11 / 16 * inch()
|
templateDiameter = fromInches(11 / 16)
|
||||||
slateWidthHalf = 41.5 / 2
|
slateWidthHalf = 41.5 / 2
|
||||||
minClampingDistance = 50 + 30
|
minClampingDistance = 50 + 30
|
||||||
templateThickness = 10
|
templateThickness = 10
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
// Define parameters
|
// Define parameters
|
||||||
routerDiameter = 12.7
|
routerDiameter = 12.7
|
||||||
templateDiameter = 11 / 16 * inch()
|
templateDiameter = fromInches(11 / 16)
|
||||||
slateWidthHalf = 41.5 / 2
|
slateWidthHalf = 41.5 / 2
|
||||||
minClampingDistance = 50 + 30
|
minClampingDistance = 50 + 30
|
||||||
templateThickness = 10
|
templateThickness = 10
|
||||||
|
@ -1534,8 +1534,8 @@ let shape = layer() |> patternTransform(instances = 10, transform = transform)
|
|||||||
|
|
||||||
#[tokio::test(flavor = "multi_thread")]
|
#[tokio::test(flavor = "multi_thread")]
|
||||||
async fn test_unit_default() {
|
async fn test_unit_default() {
|
||||||
let ast = r#"const inMm = 25.4 * mm()
|
let ast = r#"const inMm = fromMm(25.4)
|
||||||
const inInches = 1.0 * inch()"#;
|
const inInches = fromInches(1)"#;
|
||||||
let result = parse_execute(ast).await.unwrap();
|
let result = parse_execute(ast).await.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
25.4,
|
25.4,
|
||||||
@ -1554,8 +1554,8 @@ const inInches = 1.0 * inch()"#;
|
|||||||
#[tokio::test(flavor = "multi_thread")]
|
#[tokio::test(flavor = "multi_thread")]
|
||||||
async fn test_unit_overriden() {
|
async fn test_unit_overriden() {
|
||||||
let ast = r#"@settings(defaultLengthUnit = inch)
|
let ast = r#"@settings(defaultLengthUnit = inch)
|
||||||
const inMm = 25.4 * mm()
|
const inMm = fromMm(25.4)
|
||||||
const inInches = 1.0 * inch()"#;
|
const inInches = fromInches(1)"#;
|
||||||
let result = parse_execute(ast).await.unwrap();
|
let result = parse_execute(ast).await.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
1.0,
|
1.0,
|
||||||
@ -1575,8 +1575,8 @@ const inInches = 1.0 * inch()"#;
|
|||||||
#[tokio::test(flavor = "multi_thread")]
|
#[tokio::test(flavor = "multi_thread")]
|
||||||
async fn test_unit_overriden_in() {
|
async fn test_unit_overriden_in() {
|
||||||
let ast = r#"@settings(defaultLengthUnit = in)
|
let ast = r#"@settings(defaultLengthUnit = in)
|
||||||
const inMm = 25.4 * mm()
|
const inMm = fromMm(25.4)
|
||||||
const inInches = 2.0 * inch()"#;
|
const inInches = fromInches(2)"#;
|
||||||
let result = parse_execute(ast).await.unwrap();
|
let result = parse_execute(ast).await.unwrap();
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
1.0,
|
1.0,
|
||||||
|
@ -138,12 +138,12 @@ lazy_static! {
|
|||||||
Box::new(crate::std::math::Ln),
|
Box::new(crate::std::math::Ln),
|
||||||
Box::new(crate::std::math::ToDegrees),
|
Box::new(crate::std::math::ToDegrees),
|
||||||
Box::new(crate::std::math::ToRadians),
|
Box::new(crate::std::math::ToRadians),
|
||||||
Box::new(crate::std::units::Mm),
|
Box::new(crate::std::units::FromMm),
|
||||||
Box::new(crate::std::units::Inch),
|
Box::new(crate::std::units::FromInches),
|
||||||
Box::new(crate::std::units::Ft),
|
Box::new(crate::std::units::FromFt),
|
||||||
Box::new(crate::std::units::M),
|
Box::new(crate::std::units::FromM),
|
||||||
Box::new(crate::std::units::Cm),
|
Box::new(crate::std::units::FromCm),
|
||||||
Box::new(crate::std::units::Yd),
|
Box::new(crate::std::units::FromYd),
|
||||||
Box::new(crate::std::assert::Assert),
|
Box::new(crate::std::assert::Assert),
|
||||||
Box::new(crate::std::assert::AssertEqual),
|
Box::new(crate::std::assert::AssertEqual),
|
||||||
Box::new(crate::std::assert::AssertLessThan),
|
Box::new(crate::std::assert::AssertLessThan),
|
||||||
|
@ -9,252 +9,258 @@ use crate::{
|
|||||||
std::{args::TyF64, Args},
|
std::{args::TyF64, Args},
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Millimeters conversion factor for current projects units.
|
/// Millimeters conversion factor for current files units.
|
||||||
pub async fn mm(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
pub async fn from_mm(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
||||||
let result = inner_mm(exec_state)?;
|
let input = args.get_number()?;
|
||||||
|
let result = inner_from_mm(input, exec_state)?;
|
||||||
|
|
||||||
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
|
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Millimeters conversion factor for current projects units.
|
/// Converts a number from mm to the current default unit.
|
||||||
///
|
///
|
||||||
/// No matter what units the current project uses, this function will always return the conversion
|
/// No matter what units the current file uses, this function will always return a number equivalent
|
||||||
/// factor to millimeters.
|
/// to the input in millimeters.
|
||||||
///
|
///
|
||||||
/// For example, if the current project uses inches, this function will return `(1/25.4)`.
|
/// For example, if the current file uses inches, `fromMm(1)` will return `1/25.4`.
|
||||||
/// If the current project uses millimeters, this function will return `1`.
|
/// If the current file uses millimeters, `fromMm(1)` will return `1`.
|
||||||
///
|
///
|
||||||
/// **Caution**: This function is only intended to be used when you absolutely MUST
|
/// **Caution**: This function is only intended to be used when you absolutely MUST
|
||||||
/// have different units in your code than the project settings. Otherwise, it is
|
/// have different units in your code than the file settings. Otherwise, it is
|
||||||
/// a bad pattern to use this function.
|
/// a bad pattern to use this function.
|
||||||
///
|
///
|
||||||
/// We merely provide these functions for convenience and readability, as
|
/// We merely provide these functions for convenience and readability, as
|
||||||
/// `10 * mm()` is more readable that your intent is "I want 10 millimeters" than
|
/// `fromMm(10)` is more readable that your intent is "I want 10 millimeters" than
|
||||||
/// `10 * (1/25.4)`, if the project settings are in inches.
|
/// `10 * (1/25.4)`, if the file settings are in inches.
|
||||||
///
|
///
|
||||||
/// ```no_run
|
/// ```no_run
|
||||||
/// totalWidth = 10 * mm()
|
/// totalWidth = fromMm(10)
|
||||||
/// ```
|
/// ```
|
||||||
#[stdlib {
|
#[stdlib {
|
||||||
name = "mm",
|
name = "fromMm",
|
||||||
tags = ["units"],
|
tags = ["units"],
|
||||||
}]
|
}]
|
||||||
fn inner_mm(exec_state: &ExecState) -> Result<f64, KclError> {
|
fn inner_from_mm(input: f64, exec_state: &ExecState) -> Result<f64, KclError> {
|
||||||
match exec_state.length_unit() {
|
Ok(match exec_state.length_unit() {
|
||||||
UnitLen::Mm => Ok(1.0),
|
UnitLen::Mm => input,
|
||||||
UnitLen::Inches => Ok(measurements::Length::from_millimeters(1.0).as_inches()),
|
UnitLen::Inches => measurements::Length::from_millimeters(input).as_inches(),
|
||||||
UnitLen::Feet => Ok(measurements::Length::from_millimeters(1.0).as_feet()),
|
UnitLen::Feet => measurements::Length::from_millimeters(input).as_feet(),
|
||||||
UnitLen::M => Ok(measurements::Length::from_millimeters(1.0).as_meters()),
|
UnitLen::M => measurements::Length::from_millimeters(input).as_meters(),
|
||||||
UnitLen::Cm => Ok(measurements::Length::from_millimeters(1.0).as_centimeters()),
|
UnitLen::Cm => measurements::Length::from_millimeters(input).as_centimeters(),
|
||||||
UnitLen::Yards => Ok(measurements::Length::from_millimeters(1.0).as_yards()),
|
UnitLen::Yards => measurements::Length::from_millimeters(input).as_yards(),
|
||||||
}
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Inches conversion factor for current projects units.
|
/// Inches conversion factor for current files units.
|
||||||
pub async fn inch(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
pub async fn from_inches(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
||||||
let result = inner_inch(exec_state)?;
|
let input = args.get_number()?;
|
||||||
|
let result = inner_from_inches(input, exec_state)?;
|
||||||
|
|
||||||
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
|
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Inches conversion factor for current projects units.
|
/// Converts a number from inches to the current default unit.
|
||||||
///
|
///
|
||||||
/// No matter what units the current project uses, this function will always return the conversion
|
/// No matter what units the current file uses, this function will always return a number equivalent
|
||||||
/// factor to inches.
|
/// to the input in inches.
|
||||||
///
|
///
|
||||||
/// For example, if the current project uses inches, this function will return `1`.
|
/// For example, if the current file uses inches, `fromInches(1)` will return `1`.
|
||||||
/// If the current project uses millimeters, this function will return `25.4`.
|
/// If the current file uses millimeters, `fromInches(1)` will return `25.4`.
|
||||||
///
|
///
|
||||||
/// **Caution**: This function is only intended to be used when you absolutely MUST
|
/// **Caution**: This function is only intended to be used when you absolutely MUST
|
||||||
/// have different units in your code than the project settings. Otherwise, it is
|
/// have different units in your code than the file settings. Otherwise, it is
|
||||||
/// a bad pattern to use this function.
|
/// a bad pattern to use this function.
|
||||||
///
|
///
|
||||||
/// We merely provide these functions for convenience and readability, as
|
/// We merely provide these functions for convenience and readability, as
|
||||||
/// `10 * inch()` is more readable that your intent is "I want 10 inches" than
|
/// `fromInches(10)` is more readable that your intent is "I want 10 inches" than
|
||||||
/// `10 * 25.4`, if the project settings are in millimeters.
|
/// `10 * 25.4`, if the file settings are in millimeters.
|
||||||
///
|
///
|
||||||
/// ```no_run
|
/// ```no_run
|
||||||
/// totalWidth = 10 * inch()
|
/// totalWidth = fromInches(10)
|
||||||
/// ```
|
/// ```
|
||||||
#[stdlib {
|
#[stdlib {
|
||||||
name = "inch",
|
name = "fromInches",
|
||||||
tags = ["units"],
|
tags = ["units"],
|
||||||
}]
|
}]
|
||||||
fn inner_inch(exec_state: &ExecState) -> Result<f64, KclError> {
|
fn inner_from_inches(input: f64, exec_state: &ExecState) -> Result<f64, KclError> {
|
||||||
match exec_state.length_unit() {
|
match exec_state.length_unit() {
|
||||||
UnitLen::Mm => Ok(measurements::Length::from_inches(1.0).as_millimeters()),
|
UnitLen::Mm => Ok(measurements::Length::from_inches(input).as_millimeters()),
|
||||||
UnitLen::Inches => Ok(1.0),
|
UnitLen::Inches => Ok(input),
|
||||||
UnitLen::Feet => Ok(measurements::Length::from_inches(1.0).as_feet()),
|
UnitLen::Feet => Ok(measurements::Length::from_inches(input).as_feet()),
|
||||||
UnitLen::M => Ok(measurements::Length::from_inches(1.0).as_meters()),
|
UnitLen::M => Ok(measurements::Length::from_inches(input).as_meters()),
|
||||||
UnitLen::Cm => Ok(measurements::Length::from_inches(1.0).as_centimeters()),
|
UnitLen::Cm => Ok(measurements::Length::from_inches(input).as_centimeters()),
|
||||||
UnitLen::Yards => Ok(measurements::Length::from_inches(1.0).as_yards()),
|
UnitLen::Yards => Ok(measurements::Length::from_inches(input).as_yards()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Feet conversion factor for current projects units.
|
/// Feet conversion factor for current files units.
|
||||||
pub async fn ft(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
pub async fn from_ft(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
||||||
let result = inner_ft(exec_state)?;
|
let input = args.get_number()?;
|
||||||
|
let result = inner_from_ft(input, exec_state)?;
|
||||||
|
|
||||||
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
|
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Feet conversion factor for current projects units.
|
/// Converts a number from feet to the current default unit.
|
||||||
///
|
///
|
||||||
/// No matter what units the current project uses, this function will always return the conversion
|
/// No matter what units the current file uses, this function will always return a number equivalent
|
||||||
/// factor to feet.
|
/// to the input in feet.
|
||||||
///
|
///
|
||||||
/// For example, if the current project uses inches, this function will return `12`.
|
/// For example, if the current file uses inches, `fromFt(1)` will return `12`.
|
||||||
/// If the current project uses millimeters, this function will return `304.8`.
|
/// If the current file uses millimeters, `fromFt(1)` will return `304.8`.
|
||||||
/// If the current project uses feet, this function will return `1`.
|
/// If the current file uses feet, `fromFt(1)` will return `1`.
|
||||||
///
|
///
|
||||||
/// **Caution**: This function is only intended to be used when you absolutely MUST
|
/// **Caution**: This function is only intended to be used when you absolutely MUST
|
||||||
/// have different units in your code than the project settings. Otherwise, it is
|
/// have different units in your code than the file settings. Otherwise, it is
|
||||||
/// a bad pattern to use this function.
|
/// a bad pattern to use this function.
|
||||||
///
|
///
|
||||||
/// We merely provide these functions for convenience and readability, as
|
/// We merely provide these functions for convenience and readability, as
|
||||||
/// `10 * ft()` is more readable that your intent is "I want 10 feet" than
|
/// `fromFt(10)` is more readable that your intent is "I want 10 feet" than
|
||||||
/// `10 * 304.8`, if the project settings are in millimeters.
|
/// `10 * 304.8`, if the file settings are in millimeters.
|
||||||
///
|
///
|
||||||
/// ```no_run
|
/// ```no_run
|
||||||
/// totalWidth = 10 * ft()
|
/// totalWidth = fromFt(10)
|
||||||
/// ```
|
/// ```
|
||||||
#[stdlib {
|
#[stdlib {
|
||||||
name = "ft",
|
name = "fromFt",
|
||||||
tags = ["units"],
|
tags = ["units"],
|
||||||
}]
|
}]
|
||||||
fn inner_ft(exec_state: &ExecState) -> Result<f64, KclError> {
|
fn inner_from_ft(input: f64, exec_state: &ExecState) -> Result<f64, KclError> {
|
||||||
match exec_state.length_unit() {
|
match exec_state.length_unit() {
|
||||||
UnitLen::Mm => Ok(measurements::Length::from_feet(1.0).as_millimeters()),
|
UnitLen::Mm => Ok(measurements::Length::from_feet(input).as_millimeters()),
|
||||||
UnitLen::Inches => Ok(measurements::Length::from_feet(1.0).as_inches()),
|
UnitLen::Inches => Ok(measurements::Length::from_feet(input).as_inches()),
|
||||||
UnitLen::Feet => Ok(1.0),
|
UnitLen::Feet => Ok(input),
|
||||||
UnitLen::M => Ok(measurements::Length::from_feet(1.0).as_meters()),
|
UnitLen::M => Ok(measurements::Length::from_feet(input).as_meters()),
|
||||||
UnitLen::Cm => Ok(measurements::Length::from_feet(1.0).as_centimeters()),
|
UnitLen::Cm => Ok(measurements::Length::from_feet(input).as_centimeters()),
|
||||||
UnitLen::Yards => Ok(measurements::Length::from_feet(1.0).as_yards()),
|
UnitLen::Yards => Ok(measurements::Length::from_feet(input).as_yards()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Meters conversion factor for current projects units.
|
/// Meters conversion factor for current files units.
|
||||||
pub async fn m(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
pub async fn from_m(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
||||||
let result = inner_m(exec_state)?;
|
let input = args.get_number()?;
|
||||||
|
let result = inner_from_m(input, exec_state)?;
|
||||||
|
|
||||||
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
|
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Meters conversion factor for current projects units.
|
/// Converts a number from meters to the current default unit.
|
||||||
///
|
///
|
||||||
/// No matter what units the current project uses, this function will always return the conversion
|
/// No matter what units the current file uses, this function will always return a number equivalent
|
||||||
/// factor to meters.
|
/// to the input in meters.
|
||||||
///
|
///
|
||||||
/// For example, if the current project uses inches, this function will return `39.3701`.
|
/// For example, if the current file uses inches, `fromM(1)` will return `39.3701`.
|
||||||
/// If the current project uses millimeters, this function will return `1000`.
|
/// If the current file uses millimeters, `fromM(1)` will return `1000`.
|
||||||
/// If the current project uses meters, this function will return `1`.
|
/// If the current file uses meters, `fromM(1)` will return `1`.
|
||||||
///
|
///
|
||||||
/// **Caution**: This function is only intended to be used when you absolutely MUST
|
/// **Caution**: This function is only intended to be used when you absolutely MUST
|
||||||
/// have different units in your code than the project settings. Otherwise, it is
|
/// have different units in your code than the file settings. Otherwise, it is
|
||||||
/// a bad pattern to use this function.
|
/// a bad pattern to use this function.
|
||||||
///
|
///
|
||||||
/// We merely provide these functions for convenience and readability, as
|
/// We merely provide these functions for convenience and readability, as
|
||||||
/// `10 * m()` is more readable that your intent is "I want 10 meters" than
|
/// `fromM(10)` is more readable that your intent is "I want 10 meters" than
|
||||||
/// `10 * 1000`, if the project settings are in millimeters.
|
/// `10 * 1000`, if the file settings are in millimeters.
|
||||||
///
|
///
|
||||||
/// ```no_run
|
/// ```no_run
|
||||||
/// totalWidth = 10 * m()
|
/// totalWidth = 10 * fromM(10)
|
||||||
/// ```
|
/// ```
|
||||||
#[stdlib {
|
#[stdlib {
|
||||||
name = "m",
|
name = "fromM",
|
||||||
tags = ["units"],
|
tags = ["units"],
|
||||||
}]
|
}]
|
||||||
fn inner_m(exec_state: &ExecState) -> Result<f64, KclError> {
|
fn inner_from_m(input: f64, exec_state: &ExecState) -> Result<f64, KclError> {
|
||||||
match exec_state.length_unit() {
|
match exec_state.length_unit() {
|
||||||
UnitLen::Mm => Ok(measurements::Length::from_meters(1.0).as_millimeters()),
|
UnitLen::Mm => Ok(measurements::Length::from_meters(input).as_millimeters()),
|
||||||
UnitLen::Inches => Ok(measurements::Length::from_meters(1.0).as_inches()),
|
UnitLen::Inches => Ok(measurements::Length::from_meters(input).as_inches()),
|
||||||
UnitLen::Feet => Ok(measurements::Length::from_meters(1.0).as_feet()),
|
UnitLen::Feet => Ok(measurements::Length::from_meters(input).as_feet()),
|
||||||
UnitLen::M => Ok(1.0),
|
UnitLen::M => Ok(input),
|
||||||
UnitLen::Cm => Ok(measurements::Length::from_meters(1.0).as_centimeters()),
|
UnitLen::Cm => Ok(measurements::Length::from_meters(input).as_centimeters()),
|
||||||
UnitLen::Yards => Ok(measurements::Length::from_meters(1.0).as_yards()),
|
UnitLen::Yards => Ok(measurements::Length::from_meters(input).as_yards()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Centimeters conversion factor for current projects units.
|
/// Centimeters conversion factor for current files units.
|
||||||
pub async fn cm(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
pub async fn from_cm(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
||||||
let result = inner_cm(exec_state)?;
|
let input = args.get_number()?;
|
||||||
|
let result = inner_from_cm(input, exec_state)?;
|
||||||
|
|
||||||
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
|
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Centimeters conversion factor for current projects units.
|
/// Converts a number from centimeters to the current default unit.
|
||||||
///
|
///
|
||||||
/// No matter what units the current project uses, this function will always return the conversion
|
/// No matter what units the current file uses, this function will always return a number equivalent
|
||||||
/// factor to centimeters.
|
/// to the input in centimeters.
|
||||||
///
|
///
|
||||||
/// For example, if the current project uses inches, this function will return `0.393701`.
|
/// For example, if the current file uses inches, `fromCm(1)` will return `0.393701`.
|
||||||
/// If the current project uses millimeters, this function will return `10`.
|
/// If the current file uses millimeters, `fromCm(1)` will return `10`.
|
||||||
/// If the current project uses centimeters, this function will return `1`.
|
/// If the current file uses centimeters, `fromCm(1)` will return `1`.
|
||||||
///
|
///
|
||||||
/// **Caution**: This function is only intended to be used when you absolutely MUST
|
/// **Caution**: This function is only intended to be used when you absolutely MUST
|
||||||
/// have different units in your code than the project settings. Otherwise, it is
|
/// have different units in your code than the file settings. Otherwise, it is
|
||||||
/// a bad pattern to use this function.
|
/// a bad pattern to use this function.
|
||||||
///
|
///
|
||||||
/// We merely provide these functions for convenience and readability, as
|
/// We merely provide these functions for convenience and readability, as
|
||||||
/// `10 * cm()` is more readable that your intent is "I want 10 centimeters" than
|
/// `fromCm(10)` is more readable that your intent is "I want 10 centimeters" than
|
||||||
/// `10 * 10`, if the project settings are in millimeters.
|
/// `10 * 10`, if the file settings are in millimeters.
|
||||||
///
|
///
|
||||||
/// ```no_run
|
/// ```no_run
|
||||||
/// totalWidth = 10 * cm()
|
/// totalWidth = fromCm(10)
|
||||||
/// ```
|
/// ```
|
||||||
#[stdlib {
|
#[stdlib {
|
||||||
name = "cm",
|
name = "fromCm",
|
||||||
tags = ["units"],
|
tags = ["units"],
|
||||||
}]
|
}]
|
||||||
fn inner_cm(exec_state: &ExecState) -> Result<f64, KclError> {
|
fn inner_from_cm(input: f64, exec_state: &ExecState) -> Result<f64, KclError> {
|
||||||
match exec_state.length_unit() {
|
match exec_state.length_unit() {
|
||||||
UnitLen::Mm => Ok(measurements::Length::from_centimeters(1.0).as_millimeters()),
|
UnitLen::Mm => Ok(measurements::Length::from_centimeters(input).as_millimeters()),
|
||||||
UnitLen::Inches => Ok(measurements::Length::from_centimeters(1.0).as_inches()),
|
UnitLen::Inches => Ok(measurements::Length::from_centimeters(input).as_inches()),
|
||||||
UnitLen::Feet => Ok(measurements::Length::from_centimeters(1.0).as_feet()),
|
UnitLen::Feet => Ok(measurements::Length::from_centimeters(input).as_feet()),
|
||||||
UnitLen::M => Ok(measurements::Length::from_centimeters(1.0).as_meters()),
|
UnitLen::M => Ok(measurements::Length::from_centimeters(input).as_meters()),
|
||||||
UnitLen::Cm => Ok(1.0),
|
UnitLen::Cm => Ok(input),
|
||||||
UnitLen::Yards => Ok(measurements::Length::from_centimeters(1.0).as_yards()),
|
UnitLen::Yards => Ok(measurements::Length::from_centimeters(input).as_yards()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Yards conversion factor for current projects units.
|
/// Yards conversion factor for current files units.
|
||||||
pub async fn yd(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
pub async fn from_yd(exec_state: &mut ExecState, args: Args) -> Result<KclValue, KclError> {
|
||||||
let result = inner_yd(exec_state)?;
|
let input = args.get_number()?;
|
||||||
|
let result = inner_from_yd(input, exec_state)?;
|
||||||
|
|
||||||
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
|
Ok(args.make_user_val_from_f64_with_type(TyF64::new(result, exec_state.current_default_units())))
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Yards conversion factor for current projects units.
|
/// Converts a number from yards to the current default unit.
|
||||||
///
|
///
|
||||||
/// No matter what units the current project uses, this function will always return the conversion
|
/// No matter what units the current file uses, this function will always return a number equivalent
|
||||||
/// factor to yards.
|
/// to the input in yards.
|
||||||
///
|
///
|
||||||
/// For example, if the current project uses inches, this function will return `36`.
|
/// For example, if the current file uses inches, `fromYd(1)` will return `36`.
|
||||||
/// If the current project uses millimeters, this function will return `914.4`.
|
/// If the current file uses millimeters, `fromYd(1)` will return `914.4`.
|
||||||
/// If the current project uses yards, this function will return `1`.
|
/// If the current file uses yards, `fromYd(1)` will return `1`.
|
||||||
///
|
///
|
||||||
/// **Caution**: This function is only intended to be used when you absolutely MUST
|
/// **Caution**: This function is only intended to be used when you absolutely MUST
|
||||||
/// have different units in your code than the project settings. Otherwise, it is
|
/// have different units in your code than the file settings. Otherwise, it is
|
||||||
/// a bad pattern to use this function.
|
/// a bad pattern to use this function.
|
||||||
///
|
///
|
||||||
/// We merely provide these functions for convenience and readability, as
|
/// We merely provide these functions for convenience and readability, as
|
||||||
/// `10 * yd()` is more readable that your intent is "I want 10 yards" than
|
/// `fromYd(10)` is more readable that your intent is "I want 10 yards" than
|
||||||
/// `10 * 914.4`, if the project settings are in millimeters.
|
/// `10 * 914.4`, if the file settings are in millimeters.
|
||||||
///
|
///
|
||||||
/// ```no_run
|
/// ```no_run
|
||||||
/// totalWidth = 10 * yd()
|
/// totalWidth = fromYd(10)
|
||||||
/// ```
|
/// ```
|
||||||
#[stdlib {
|
#[stdlib {
|
||||||
name = "yd",
|
name = "fromYd",
|
||||||
tags = ["units"],
|
tags = ["units"],
|
||||||
}]
|
}]
|
||||||
fn inner_yd(exec_state: &ExecState) -> Result<f64, KclError> {
|
fn inner_from_yd(input: f64, exec_state: &ExecState) -> Result<f64, KclError> {
|
||||||
match exec_state.length_unit() {
|
match exec_state.length_unit() {
|
||||||
UnitLen::Mm => Ok(measurements::Length::from_yards(1.0).as_millimeters()),
|
UnitLen::Mm => Ok(measurements::Length::from_yards(input).as_millimeters()),
|
||||||
UnitLen::Inches => Ok(measurements::Length::from_yards(1.0).as_inches()),
|
UnitLen::Inches => Ok(measurements::Length::from_yards(input).as_inches()),
|
||||||
UnitLen::Feet => Ok(measurements::Length::from_yards(1.0).as_feet()),
|
UnitLen::Feet => Ok(measurements::Length::from_yards(input).as_feet()),
|
||||||
UnitLen::M => Ok(measurements::Length::from_yards(1.0).as_meters()),
|
UnitLen::M => Ok(measurements::Length::from_yards(input).as_meters()),
|
||||||
UnitLen::Cm => Ok(measurements::Length::from_yards(1.0).as_centimeters()),
|
UnitLen::Cm => Ok(measurements::Length::from_yards(input).as_centimeters()),
|
||||||
UnitLen::Yards => Ok(1.0),
|
UnitLen::Yards => Ok(input),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8440,7 +8440,7 @@ description: Artifact commands car-wheel-assembly.kcl
|
|||||||
"type": "move_path_pen",
|
"type": "move_path_pen",
|
||||||
"path": "[uuid]",
|
"path": "[uuid]",
|
||||||
"to": {
|
"to": {
|
||||||
"x": 0.47244094488188976,
|
"x": 0.4724409448818898,
|
||||||
"y": 0.0,
|
"y": 0.0,
|
||||||
"z": 0.0
|
"z": 0.0
|
||||||
}
|
}
|
||||||
@ -8512,7 +8512,7 @@ description: Artifact commands car-wheel-assembly.kcl
|
|||||||
"path": "[uuid]",
|
"path": "[uuid]",
|
||||||
"segment": {
|
"segment": {
|
||||||
"type": "tangential_arc",
|
"type": "tangential_arc",
|
||||||
"radius": 0.11811023622047244,
|
"radius": 0.11811023622047245,
|
||||||
"offset": {
|
"offset": {
|
||||||
"unit": "degrees",
|
"unit": "degrees",
|
||||||
"value": 90.0
|
"value": 90.0
|
||||||
|
@ -79,85 +79,85 @@ flowchart LR
|
|||||||
158[Solid2d]
|
158[Solid2d]
|
||||||
end
|
end
|
||||||
subgraph path167 [Path]
|
subgraph path167 [Path]
|
||||||
167["Path<br>[1241, 1301, 5]"]
|
167["Path<br>[1241, 1302, 5]"]
|
||||||
168["Segment<br>[1241, 1301, 5]"]
|
168["Segment<br>[1241, 1302, 5]"]
|
||||||
169[Solid2d]
|
169[Solid2d]
|
||||||
end
|
end
|
||||||
subgraph path179 [Path]
|
subgraph path179 [Path]
|
||||||
179["Path<br>[1659, 1705, 5]"]
|
179["Path<br>[1660, 1706, 5]"]
|
||||||
180["Segment<br>[1711, 1763, 5]"]
|
180["Segment<br>[1712, 1764, 5]"]
|
||||||
181["Segment<br>[1769, 1874, 5]"]
|
181["Segment<br>[1770, 1875, 5]"]
|
||||||
182["Segment<br>[1880, 1902, 5]"]
|
182["Segment<br>[1881, 1903, 5]"]
|
||||||
183["Segment<br>[1908, 1964, 5]"]
|
183["Segment<br>[1909, 1965, 5]"]
|
||||||
184["Segment<br>[1970, 1977, 5]"]
|
184["Segment<br>[1971, 1978, 5]"]
|
||||||
185[Solid2d]
|
185[Solid2d]
|
||||||
end
|
end
|
||||||
subgraph path195 [Path]
|
subgraph path195 [Path]
|
||||||
195["Path<br>[2109, 2155, 5]"]
|
195["Path<br>[2110, 2156, 5]"]
|
||||||
196["Segment<br>[2161, 2213, 5]"]
|
196["Segment<br>[2162, 2214, 5]"]
|
||||||
197["Segment<br>[2219, 2326, 5]"]
|
197["Segment<br>[2220, 2327, 5]"]
|
||||||
198["Segment<br>[2332, 2369, 5]"]
|
198["Segment<br>[2333, 2370, 5]"]
|
||||||
199["Segment<br>[2375, 2431, 5]"]
|
199["Segment<br>[2376, 2432, 5]"]
|
||||||
200["Segment<br>[2437, 2444, 5]"]
|
200["Segment<br>[2438, 2445, 5]"]
|
||||||
201[Solid2d]
|
201[Solid2d]
|
||||||
end
|
end
|
||||||
subgraph path212 [Path]
|
subgraph path212 [Path]
|
||||||
212["Path<br>[2953, 3000, 5]"]
|
212["Path<br>[2954, 3001, 5]"]
|
||||||
213["Segment<br>[3008, 3348, 5]"]
|
213["Segment<br>[3009, 3349, 5]"]
|
||||||
214["Segment<br>[3356, 3388, 5]"]
|
214["Segment<br>[3357, 3389, 5]"]
|
||||||
215["Segment<br>[3396, 3740, 5]"]
|
215["Segment<br>[3397, 3741, 5]"]
|
||||||
216["Segment<br>[3748, 3804, 5]"]
|
216["Segment<br>[3749, 3805, 5]"]
|
||||||
217["Segment<br>[3812, 3819, 5]"]
|
217["Segment<br>[3813, 3820, 5]"]
|
||||||
218[Solid2d]
|
218[Solid2d]
|
||||||
end
|
end
|
||||||
subgraph path235 [Path]
|
subgraph path235 [Path]
|
||||||
235["Path<br>[2953, 3000, 5]"]
|
235["Path<br>[2954, 3001, 5]"]
|
||||||
236["Segment<br>[3008, 3348, 5]"]
|
236["Segment<br>[3009, 3349, 5]"]
|
||||||
237["Segment<br>[3356, 3388, 5]"]
|
237["Segment<br>[3357, 3389, 5]"]
|
||||||
238["Segment<br>[3396, 3740, 5]"]
|
238["Segment<br>[3397, 3741, 5]"]
|
||||||
239["Segment<br>[3748, 3804, 5]"]
|
239["Segment<br>[3749, 3805, 5]"]
|
||||||
240["Segment<br>[3812, 3819, 5]"]
|
240["Segment<br>[3813, 3820, 5]"]
|
||||||
241[Solid2d]
|
241[Solid2d]
|
||||||
end
|
end
|
||||||
subgraph path258 [Path]
|
subgraph path258 [Path]
|
||||||
258["Path<br>[4347, 4442, 5]"]
|
258["Path<br>[4348, 4443, 5]"]
|
||||||
259["Segment<br>[4448, 4481, 5]"]
|
259["Segment<br>[4449, 4482, 5]"]
|
||||||
260["Segment<br>[4487, 4538, 5]"]
|
260["Segment<br>[4488, 4539, 5]"]
|
||||||
261["Segment<br>[4544, 4577, 5]"]
|
261["Segment<br>[4545, 4578, 5]"]
|
||||||
262["Segment<br>[4583, 4633, 5]"]
|
262["Segment<br>[4584, 4634, 5]"]
|
||||||
263["Segment<br>[4639, 4680, 5]"]
|
263["Segment<br>[4640, 4681, 5]"]
|
||||||
264["Segment<br>[4686, 4735, 5]"]
|
264["Segment<br>[4687, 4736, 5]"]
|
||||||
265["Segment<br>[4741, 4774, 5]"]
|
265["Segment<br>[4742, 4775, 5]"]
|
||||||
266["Segment<br>[4780, 4814, 5]"]
|
266["Segment<br>[4781, 4815, 5]"]
|
||||||
267["Segment<br>[4820, 4854, 5]"]
|
267["Segment<br>[4821, 4855, 5]"]
|
||||||
268["Segment<br>[4860, 4912, 5]"]
|
268["Segment<br>[4861, 4913, 5]"]
|
||||||
269["Segment<br>[4918, 4952, 5]"]
|
269["Segment<br>[4919, 4953, 5]"]
|
||||||
270["Segment<br>[4958, 5034, 5]"]
|
270["Segment<br>[4959, 5035, 5]"]
|
||||||
271["Segment<br>[5040, 5073, 5]"]
|
271["Segment<br>[5041, 5074, 5]"]
|
||||||
272["Segment<br>[5079, 5155, 5]"]
|
272["Segment<br>[5080, 5156, 5]"]
|
||||||
273["Segment<br>[5161, 5195, 5]"]
|
273["Segment<br>[5162, 5196, 5]"]
|
||||||
274["Segment<br>[5201, 5275, 5]"]
|
274["Segment<br>[5202, 5276, 5]"]
|
||||||
275["Segment<br>[5281, 5315, 5]"]
|
275["Segment<br>[5282, 5316, 5]"]
|
||||||
276["Segment<br>[5321, 5372, 5]"]
|
276["Segment<br>[5322, 5373, 5]"]
|
||||||
277["Segment<br>[5378, 5440, 5]"]
|
277["Segment<br>[5379, 5441, 5]"]
|
||||||
278["Segment<br>[5446, 5497, 5]"]
|
278["Segment<br>[5447, 5498, 5]"]
|
||||||
279["Segment<br>[5503, 5537, 5]"]
|
279["Segment<br>[5504, 5538, 5]"]
|
||||||
280["Segment<br>[5543, 5576, 5]"]
|
280["Segment<br>[5544, 5577, 5]"]
|
||||||
281["Segment<br>[5582, 5615, 5]"]
|
281["Segment<br>[5583, 5616, 5]"]
|
||||||
282["Segment<br>[5621, 5628, 5]"]
|
282["Segment<br>[5622, 5629, 5]"]
|
||||||
283[Solid2d]
|
283[Solid2d]
|
||||||
end
|
end
|
||||||
subgraph path334 [Path]
|
subgraph path334 [Path]
|
||||||
334["Path<br>[744, 784, 8]"]
|
334["Path<br>[745, 785, 8]"]
|
||||||
335["Segment<br>[792, 854, 8]"]
|
335["Segment<br>[793, 855, 8]"]
|
||||||
336["Segment<br>[862, 898, 8]"]
|
336["Segment<br>[863, 899, 8]"]
|
||||||
337["Segment<br>[906, 936, 8]"]
|
337["Segment<br>[907, 937, 8]"]
|
||||||
338["Segment<br>[944, 996, 8]"]
|
338["Segment<br>[945, 998, 8]"]
|
||||||
339["Segment<br>[1004, 1044, 8]"]
|
339["Segment<br>[1006, 1046, 8]"]
|
||||||
340["Segment<br>[1052, 1087, 8]"]
|
340["Segment<br>[1054, 1089, 8]"]
|
||||||
341["Segment<br>[1095, 1133, 8]"]
|
341["Segment<br>[1097, 1135, 8]"]
|
||||||
342["Segment<br>[1141, 1163, 8]"]
|
342["Segment<br>[1143, 1165, 8]"]
|
||||||
343["Segment<br>[1171, 1178, 8]"]
|
343["Segment<br>[1173, 1180, 8]"]
|
||||||
344[Solid2d]
|
344[Solid2d]
|
||||||
end
|
end
|
||||||
subgraph path365 [Path]
|
subgraph path365 [Path]
|
||||||
@ -315,16 +315,16 @@ flowchart LR
|
|||||||
164["Sweep Extrusion<br>[1110, 1144, 5]"]
|
164["Sweep Extrusion<br>[1110, 1144, 5]"]
|
||||||
165["Sweep Extrusion<br>[1110, 1144, 5]"]
|
165["Sweep Extrusion<br>[1110, 1144, 5]"]
|
||||||
166["Sweep Extrusion<br>[1110, 1144, 5]"]
|
166["Sweep Extrusion<br>[1110, 1144, 5]"]
|
||||||
170["Sweep Extrusion<br>[1448, 1482, 5]"]
|
170["Sweep Extrusion<br>[1449, 1483, 5]"]
|
||||||
171[Wall]
|
171[Wall]
|
||||||
172["SweepEdge Opposite"]
|
172["SweepEdge Opposite"]
|
||||||
173["SweepEdge Adjacent"]
|
173["SweepEdge Adjacent"]
|
||||||
174["Sweep Extrusion<br>[1448, 1482, 5]"]
|
174["Sweep Extrusion<br>[1449, 1483, 5]"]
|
||||||
175["Sweep Extrusion<br>[1448, 1482, 5]"]
|
175["Sweep Extrusion<br>[1449, 1483, 5]"]
|
||||||
176["Sweep Extrusion<br>[1448, 1482, 5]"]
|
176["Sweep Extrusion<br>[1449, 1483, 5]"]
|
||||||
177["Sweep Extrusion<br>[1448, 1482, 5]"]
|
177["Sweep Extrusion<br>[1449, 1483, 5]"]
|
||||||
178["Plane<br>[1636, 1653, 5]"]
|
178["Plane<br>[1637, 1654, 5]"]
|
||||||
186["Sweep Revolve<br>[1983, 2000, 5]"]
|
186["Sweep Revolve<br>[1984, 2001, 5]"]
|
||||||
187[Wall]
|
187[Wall]
|
||||||
188[Wall]
|
188[Wall]
|
||||||
189[Wall]
|
189[Wall]
|
||||||
@ -332,8 +332,8 @@ flowchart LR
|
|||||||
191["SweepEdge Adjacent"]
|
191["SweepEdge Adjacent"]
|
||||||
192["SweepEdge Adjacent"]
|
192["SweepEdge Adjacent"]
|
||||||
193["SweepEdge Adjacent"]
|
193["SweepEdge Adjacent"]
|
||||||
194["Plane<br>[2086, 2103, 5]"]
|
194["Plane<br>[2087, 2104, 5]"]
|
||||||
202["Sweep Revolve<br>[2450, 2467, 5]"]
|
202["Sweep Revolve<br>[2451, 2468, 5]"]
|
||||||
203[Wall]
|
203[Wall]
|
||||||
204[Wall]
|
204[Wall]
|
||||||
205[Wall]
|
205[Wall]
|
||||||
@ -342,8 +342,8 @@ flowchart LR
|
|||||||
208["SweepEdge Adjacent"]
|
208["SweepEdge Adjacent"]
|
||||||
209["SweepEdge Adjacent"]
|
209["SweepEdge Adjacent"]
|
||||||
210["SweepEdge Adjacent"]
|
210["SweepEdge Adjacent"]
|
||||||
211["Plane<br>[2922, 2945, 5]"]
|
211["Plane<br>[2923, 2946, 5]"]
|
||||||
219["Sweep Extrusion<br>[3867, 3913, 5]"]
|
219["Sweep Extrusion<br>[3868, 3914, 5]"]
|
||||||
220[Wall]
|
220[Wall]
|
||||||
221[Wall]
|
221[Wall]
|
||||||
222[Wall]
|
222[Wall]
|
||||||
@ -358,8 +358,8 @@ flowchart LR
|
|||||||
231["SweepEdge Adjacent"]
|
231["SweepEdge Adjacent"]
|
||||||
232["SweepEdge Opposite"]
|
232["SweepEdge Opposite"]
|
||||||
233["SweepEdge Adjacent"]
|
233["SweepEdge Adjacent"]
|
||||||
234["Plane<br>[2922, 2945, 5]"]
|
234["Plane<br>[2923, 2946, 5]"]
|
||||||
242["Sweep Extrusion<br>[3867, 3913, 5]"]
|
242["Sweep Extrusion<br>[3868, 3914, 5]"]
|
||||||
243[Wall]
|
243[Wall]
|
||||||
244[Wall]
|
244[Wall]
|
||||||
245[Wall]
|
245[Wall]
|
||||||
@ -374,8 +374,8 @@ flowchart LR
|
|||||||
254["SweepEdge Adjacent"]
|
254["SweepEdge Adjacent"]
|
||||||
255["SweepEdge Opposite"]
|
255["SweepEdge Opposite"]
|
||||||
256["SweepEdge Adjacent"]
|
256["SweepEdge Adjacent"]
|
||||||
257["Plane<br>[4324, 4341, 5]"]
|
257["Plane<br>[4325, 4342, 5]"]
|
||||||
284["Sweep Revolve<br>[5634, 5651, 5]"]
|
284["Sweep Revolve<br>[5635, 5652, 5]"]
|
||||||
285[Wall]
|
285[Wall]
|
||||||
286[Wall]
|
286[Wall]
|
||||||
287[Wall]
|
287[Wall]
|
||||||
@ -424,8 +424,8 @@ flowchart LR
|
|||||||
330["SweepEdge Adjacent"]
|
330["SweepEdge Adjacent"]
|
||||||
331["SweepEdge Adjacent"]
|
331["SweepEdge Adjacent"]
|
||||||
332["SweepEdge Adjacent"]
|
332["SweepEdge Adjacent"]
|
||||||
333["Plane<br>[710, 736, 8]"]
|
333["Plane<br>[711, 737, 8]"]
|
||||||
345["Sweep Revolve<br>[1186, 1203, 8]"]
|
345["Sweep Revolve<br>[1188, 1205, 8]"]
|
||||||
346[Wall]
|
346[Wall]
|
||||||
347[Wall]
|
347[Wall]
|
||||||
348[Wall]
|
348[Wall]
|
||||||
|
@ -1233,8 +1233,8 @@ description: Operations executed car-wheel-assembly.kcl
|
|||||||
"type": "FunctionCall",
|
"type": "FunctionCall",
|
||||||
"name": "spoke",
|
"name": "spoke",
|
||||||
"functionSourceRange": [
|
"functionSourceRange": [
|
||||||
2620,
|
2621,
|
||||||
4193,
|
4194,
|
||||||
5
|
5
|
||||||
],
|
],
|
||||||
"unlabeledArg": null,
|
"unlabeledArg": null,
|
||||||
@ -1624,8 +1624,8 @@ description: Operations executed car-wheel-assembly.kcl
|
|||||||
"type": "FunctionCall",
|
"type": "FunctionCall",
|
||||||
"name": "spoke",
|
"name": "spoke",
|
||||||
"functionSourceRange": [
|
"functionSourceRange": [
|
||||||
2620,
|
2621,
|
||||||
4193,
|
4194,
|
||||||
5
|
5
|
||||||
],
|
],
|
||||||
"unlabeledArg": null,
|
"unlabeledArg": null,
|
||||||
@ -2128,8 +2128,8 @@ description: Operations executed car-wheel-assembly.kcl
|
|||||||
"type": "FunctionCall",
|
"type": "FunctionCall",
|
||||||
"name": "lug",
|
"name": "lug",
|
||||||
"functionSourceRange": [
|
"functionSourceRange": [
|
||||||
668,
|
669,
|
||||||
1293,
|
1295,
|
||||||
8
|
8
|
||||||
],
|
],
|
||||||
"unlabeledArg": null,
|
"unlabeledArg": null,
|
||||||
|
@ -267,7 +267,7 @@ description: Artifact commands i-beam.kcl
|
|||||||
"command": {
|
"command": {
|
||||||
"type": "extrude",
|
"type": "extrude",
|
||||||
"target": "[uuid]",
|
"target": "[uuid]",
|
||||||
"distance": 72.00000000000001,
|
"distance": 72.0,
|
||||||
"faces": null
|
"faces": null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
```mermaid
|
```mermaid
|
||||||
flowchart LR
|
flowchart LR
|
||||||
subgraph path2 [Path]
|
subgraph path2 [Path]
|
||||||
2["Path<br>[462, 500, 0]"]
|
2["Path<br>[463, 501, 0]"]
|
||||||
3["Segment<br>[506, 537, 0]"]
|
3["Segment<br>[507, 538, 0]"]
|
||||||
4["Segment<br>[543, 575, 0]"]
|
4["Segment<br>[544, 576, 0]"]
|
||||||
5["Segment<br>[581, 631, 0]"]
|
5["Segment<br>[582, 632, 0]"]
|
||||||
6["Segment<br>[637, 691, 0]"]
|
6["Segment<br>[638, 692, 0]"]
|
||||||
7["Segment<br>[697, 719, 0]"]
|
7["Segment<br>[698, 720, 0]"]
|
||||||
end
|
end
|
||||||
1["Plane<br>[438, 456, 0]"]
|
1["Plane<br>[439, 457, 0]"]
|
||||||
8["Sweep Extrusion<br>[773, 801, 0]"]
|
8["Sweep Extrusion<br>[774, 802, 0]"]
|
||||||
1 --- 2
|
1 --- 2
|
||||||
2 --- 3
|
2 --- 3
|
||||||
2 --- 4
|
2 --- 4
|
||||||
|
@ -18,9 +18,8 @@ description: Result of parsing i-beam.kcl
|
|||||||
"type": "Identifier"
|
"type": "Identifier"
|
||||||
},
|
},
|
||||||
"init": {
|
"init": {
|
||||||
"commentStart": 0,
|
"arguments": [
|
||||||
"end": 0,
|
{
|
||||||
"left": {
|
|
||||||
"commentStart": 0,
|
"commentStart": 0,
|
||||||
"end": 0,
|
"end": 0,
|
||||||
"raw": "6",
|
"raw": "6",
|
||||||
@ -31,10 +30,8 @@ description: Result of parsing i-beam.kcl
|
|||||||
"value": 6.0,
|
"value": 6.0,
|
||||||
"suffix": "None"
|
"suffix": "None"
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
"operator": "*",
|
],
|
||||||
"right": {
|
|
||||||
"arguments": [],
|
|
||||||
"callee": {
|
"callee": {
|
||||||
"abs_path": false,
|
"abs_path": false,
|
||||||
"commentStart": 0,
|
"commentStart": 0,
|
||||||
@ -42,7 +39,7 @@ description: Result of parsing i-beam.kcl
|
|||||||
"name": {
|
"name": {
|
||||||
"commentStart": 0,
|
"commentStart": 0,
|
||||||
"end": 0,
|
"end": 0,
|
||||||
"name": "ft",
|
"name": "fromFt",
|
||||||
"start": 0,
|
"start": 0,
|
||||||
"type": "Identifier"
|
"type": "Identifier"
|
||||||
},
|
},
|
||||||
@ -57,10 +54,6 @@ description: Result of parsing i-beam.kcl
|
|||||||
"type": "CallExpression"
|
"type": "CallExpression"
|
||||||
},
|
},
|
||||||
"start": 0,
|
"start": 0,
|
||||||
"type": "BinaryExpression",
|
|
||||||
"type": "BinaryExpression"
|
|
||||||
},
|
|
||||||
"start": 0,
|
|
||||||
"type": "VariableDeclarator"
|
"type": "VariableDeclarator"
|
||||||
},
|
},
|
||||||
"end": 0,
|
"end": 0,
|
||||||
|
@ -23,7 +23,7 @@ description: Operations executed i-beam.kcl
|
|||||||
"length": {
|
"length": {
|
||||||
"value": {
|
"value": {
|
||||||
"type": "Number",
|
"type": "Number",
|
||||||
"value": 72.00000000000001,
|
"value": 72.0,
|
||||||
"ty": {
|
"ty": {
|
||||||
"type": "Default",
|
"type": "Default",
|
||||||
"len": {
|
"len": {
|
||||||
|
@ -220,7 +220,7 @@ description: Variables in memory after executing i-beam.kcl
|
|||||||
"type": "Inches"
|
"type": "Inches"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"height": 72.00000000000001,
|
"height": 72.0,
|
||||||
"startCapId": "[uuid]",
|
"startCapId": "[uuid]",
|
||||||
"endCapId": "[uuid]",
|
"endCapId": "[uuid]",
|
||||||
"units": {
|
"units": {
|
||||||
|
@ -1,59 +1,59 @@
|
|||||||
```mermaid
|
```mermaid
|
||||||
flowchart LR
|
flowchart LR
|
||||||
subgraph path2 [Path]
|
subgraph path2 [Path]
|
||||||
2["Path<br>[535, 578, 0]"]
|
2["Path<br>[538, 581, 0]"]
|
||||||
3["Segment<br>[584, 637, 0]"]
|
3["Segment<br>[587, 640, 0]"]
|
||||||
4["Segment<br>[643, 745, 0]"]
|
4["Segment<br>[646, 748, 0]"]
|
||||||
5["Segment<br>[751, 804, 0]"]
|
5["Segment<br>[754, 807, 0]"]
|
||||||
6["Segment<br>[810, 857, 0]"]
|
6["Segment<br>[813, 860, 0]"]
|
||||||
7["Segment<br>[863, 958, 0]"]
|
7["Segment<br>[866, 961, 0]"]
|
||||||
8["Segment<br>[964, 1035, 0]"]
|
8["Segment<br>[967, 1038, 0]"]
|
||||||
9["Segment<br>[1041, 1092, 0]"]
|
9["Segment<br>[1044, 1095, 0]"]
|
||||||
10["Segment<br>[1098, 1151, 0]"]
|
10["Segment<br>[1101, 1154, 0]"]
|
||||||
11["Segment<br>[1157, 1226, 0]"]
|
11["Segment<br>[1160, 1229, 0]"]
|
||||||
12["Segment<br>[1232, 1268, 0]"]
|
12["Segment<br>[1235, 1271, 0]"]
|
||||||
13["Segment<br>[1274, 1304, 0]"]
|
13["Segment<br>[1277, 1307, 0]"]
|
||||||
14["Segment<br>[1310, 1340, 0]"]
|
14["Segment<br>[1313, 1343, 0]"]
|
||||||
15["Segment<br>[1346, 1376, 0]"]
|
15["Segment<br>[1349, 1379, 0]"]
|
||||||
16["Segment<br>[1382, 1412, 0]"]
|
16["Segment<br>[1385, 1415, 0]"]
|
||||||
17["Segment<br>[1418, 1447, 0]"]
|
17["Segment<br>[1421, 1450, 0]"]
|
||||||
18["Segment<br>[1453, 1483, 0]"]
|
18["Segment<br>[1456, 1486, 0]"]
|
||||||
19["Segment<br>[1489, 1518, 0]"]
|
19["Segment<br>[1492, 1521, 0]"]
|
||||||
20["Segment<br>[1524, 1553, 0]"]
|
20["Segment<br>[1527, 1556, 0]"]
|
||||||
21["Segment<br>[1559, 1655, 0]"]
|
21["Segment<br>[1562, 1658, 0]"]
|
||||||
22["Segment<br>[1661, 1717, 0]"]
|
22["Segment<br>[1664, 1720, 0]"]
|
||||||
23["Segment<br>[1723, 1730, 0]"]
|
23["Segment<br>[1726, 1733, 0]"]
|
||||||
24[Solid2d]
|
24[Solid2d]
|
||||||
end
|
end
|
||||||
subgraph path85 [Path]
|
subgraph path85 [Path]
|
||||||
85["Path<br>[1885, 1929, 0]"]
|
85["Path<br>[1888, 1932, 0]"]
|
||||||
86["Segment<br>[1935, 1997, 0]"]
|
86["Segment<br>[1938, 2000, 0]"]
|
||||||
87["Segment<br>[2003, 2116, 0]"]
|
87["Segment<br>[2006, 2119, 0]"]
|
||||||
88["Segment<br>[2122, 2242, 0]"]
|
88["Segment<br>[2125, 2245, 0]"]
|
||||||
89["Segment<br>[2248, 2304, 0]"]
|
89["Segment<br>[2251, 2307, 0]"]
|
||||||
90["Segment<br>[2310, 2317, 0]"]
|
90["Segment<br>[2313, 2320, 0]"]
|
||||||
91[Solid2d]
|
91[Solid2d]
|
||||||
end
|
end
|
||||||
subgraph path107 [Path]
|
subgraph path107 [Path]
|
||||||
107["Path<br>[2473, 2518, 0]"]
|
107["Path<br>[2476, 2521, 0]"]
|
||||||
108["Segment<br>[2524, 2584, 0]"]
|
108["Segment<br>[2527, 2587, 0]"]
|
||||||
109["Segment<br>[2590, 2703, 0]"]
|
109["Segment<br>[2593, 2706, 0]"]
|
||||||
110["Segment<br>[2709, 2829, 0]"]
|
110["Segment<br>[2712, 2832, 0]"]
|
||||||
111["Segment<br>[2835, 2891, 0]"]
|
111["Segment<br>[2838, 2894, 0]"]
|
||||||
112["Segment<br>[2897, 2904, 0]"]
|
112["Segment<br>[2900, 2907, 0]"]
|
||||||
113[Solid2d]
|
113[Solid2d]
|
||||||
end
|
end
|
||||||
subgraph path129 [Path]
|
subgraph path129 [Path]
|
||||||
129["Path<br>[3058, 3103, 0]"]
|
129["Path<br>[3061, 3106, 0]"]
|
||||||
130["Segment<br>[3109, 3176, 0]"]
|
130["Segment<br>[3112, 3179, 0]"]
|
||||||
131["Segment<br>[3182, 3295, 0]"]
|
131["Segment<br>[3185, 3298, 0]"]
|
||||||
132["Segment<br>[3301, 3421, 0]"]
|
132["Segment<br>[3304, 3424, 0]"]
|
||||||
133["Segment<br>[3427, 3483, 0]"]
|
133["Segment<br>[3430, 3486, 0]"]
|
||||||
134["Segment<br>[3489, 3496, 0]"]
|
134["Segment<br>[3492, 3499, 0]"]
|
||||||
135[Solid2d]
|
135[Solid2d]
|
||||||
end
|
end
|
||||||
1["Plane<br>[512, 529, 0]"]
|
1["Plane<br>[515, 532, 0]"]
|
||||||
25["Sweep Extrusion<br>[1773, 1803, 0]"]
|
25["Sweep Extrusion<br>[1776, 1806, 0]"]
|
||||||
26[Wall]
|
26[Wall]
|
||||||
27[Wall]
|
27[Wall]
|
||||||
28[Wall]
|
28[Wall]
|
||||||
@ -113,7 +113,7 @@ flowchart LR
|
|||||||
82["SweepEdge Adjacent"]
|
82["SweepEdge Adjacent"]
|
||||||
83["SweepEdge Opposite"]
|
83["SweepEdge Opposite"]
|
||||||
84["SweepEdge Adjacent"]
|
84["SweepEdge Adjacent"]
|
||||||
92["Sweep Extrusion<br>[2361, 2392, 0]"]
|
92["Sweep Extrusion<br>[2364, 2395, 0]"]
|
||||||
93[Wall]
|
93[Wall]
|
||||||
94[Wall]
|
94[Wall]
|
||||||
95[Wall]
|
95[Wall]
|
||||||
@ -128,7 +128,7 @@ flowchart LR
|
|||||||
104["SweepEdge Adjacent"]
|
104["SweepEdge Adjacent"]
|
||||||
105["SweepEdge Opposite"]
|
105["SweepEdge Opposite"]
|
||||||
106["SweepEdge Adjacent"]
|
106["SweepEdge Adjacent"]
|
||||||
114["Sweep Extrusion<br>[2947, 2978, 0]"]
|
114["Sweep Extrusion<br>[2950, 2981, 0]"]
|
||||||
115[Wall]
|
115[Wall]
|
||||||
116[Wall]
|
116[Wall]
|
||||||
117[Wall]
|
117[Wall]
|
||||||
@ -143,7 +143,7 @@ flowchart LR
|
|||||||
126["SweepEdge Adjacent"]
|
126["SweepEdge Adjacent"]
|
||||||
127["SweepEdge Opposite"]
|
127["SweepEdge Opposite"]
|
||||||
128["SweepEdge Adjacent"]
|
128["SweepEdge Adjacent"]
|
||||||
136["Sweep Extrusion<br>[3540, 3570, 0]"]
|
136["Sweep Extrusion<br>[3543, 3573, 0]"]
|
||||||
137[Wall]
|
137[Wall]
|
||||||
138[Wall]
|
138[Wall]
|
||||||
139[Wall]
|
139[Wall]
|
||||||
@ -158,9 +158,9 @@ flowchart LR
|
|||||||
148["SweepEdge Adjacent"]
|
148["SweepEdge Adjacent"]
|
||||||
149["SweepEdge Opposite"]
|
149["SweepEdge Opposite"]
|
||||||
150["SweepEdge Adjacent"]
|
150["SweepEdge Adjacent"]
|
||||||
151["StartSketchOnFace<br>[1845, 1879, 0]"]
|
151["StartSketchOnFace<br>[1848, 1882, 0]"]
|
||||||
152["StartSketchOnFace<br>[2433, 2467, 0]"]
|
152["StartSketchOnFace<br>[2436, 2470, 0]"]
|
||||||
153["StartSketchOnFace<br>[3020, 3052, 0]"]
|
153["StartSketchOnFace<br>[3023, 3055, 0]"]
|
||||||
1 --- 2
|
1 --- 2
|
||||||
2 --- 3
|
2 --- 3
|
||||||
2 --- 4
|
2 --- 4
|
||||||
|
@ -54,9 +54,8 @@ description: Result of parsing router-template-cross-bar.kcl
|
|||||||
"type": "Identifier"
|
"type": "Identifier"
|
||||||
},
|
},
|
||||||
"init": {
|
"init": {
|
||||||
"commentStart": 0,
|
"arguments": [
|
||||||
"end": 0,
|
{
|
||||||
"left": {
|
|
||||||
"commentStart": 0,
|
"commentStart": 0,
|
||||||
"end": 0,
|
"end": 0,
|
||||||
"left": {
|
"left": {
|
||||||
@ -87,10 +86,8 @@ description: Result of parsing router-template-cross-bar.kcl
|
|||||||
"start": 0,
|
"start": 0,
|
||||||
"type": "BinaryExpression",
|
"type": "BinaryExpression",
|
||||||
"type": "BinaryExpression"
|
"type": "BinaryExpression"
|
||||||
},
|
}
|
||||||
"operator": "*",
|
],
|
||||||
"right": {
|
|
||||||
"arguments": [],
|
|
||||||
"callee": {
|
"callee": {
|
||||||
"abs_path": false,
|
"abs_path": false,
|
||||||
"commentStart": 0,
|
"commentStart": 0,
|
||||||
@ -98,7 +95,7 @@ description: Result of parsing router-template-cross-bar.kcl
|
|||||||
"name": {
|
"name": {
|
||||||
"commentStart": 0,
|
"commentStart": 0,
|
||||||
"end": 0,
|
"end": 0,
|
||||||
"name": "inch",
|
"name": "fromInches",
|
||||||
"start": 0,
|
"start": 0,
|
||||||
"type": "Identifier"
|
"type": "Identifier"
|
||||||
},
|
},
|
||||||
@ -113,10 +110,6 @@ description: Result of parsing router-template-cross-bar.kcl
|
|||||||
"type": "CallExpression"
|
"type": "CallExpression"
|
||||||
},
|
},
|
||||||
"start": 0,
|
"start": 0,
|
||||||
"type": "BinaryExpression",
|
|
||||||
"type": "BinaryExpression"
|
|
||||||
},
|
|
||||||
"start": 0,
|
|
||||||
"type": "VariableDeclarator"
|
"type": "VariableDeclarator"
|
||||||
},
|
},
|
||||||
"end": 0,
|
"end": 0,
|
||||||
|
@ -1,42 +1,42 @@
|
|||||||
```mermaid
|
```mermaid
|
||||||
flowchart LR
|
flowchart LR
|
||||||
subgraph path2 [Path]
|
subgraph path2 [Path]
|
||||||
2["Path<br>[534, 577, 0]"]
|
2["Path<br>[537, 580, 0]"]
|
||||||
3["Segment<br>[583, 622, 0]"]
|
3["Segment<br>[586, 625, 0]"]
|
||||||
4["Segment<br>[628, 726, 0]"]
|
4["Segment<br>[631, 729, 0]"]
|
||||||
5["Segment<br>[732, 808, 0]"]
|
5["Segment<br>[735, 811, 0]"]
|
||||||
6["Segment<br>[814, 883, 0]"]
|
6["Segment<br>[817, 886, 0]"]
|
||||||
7["Segment<br>[889, 929, 0]"]
|
7["Segment<br>[892, 932, 0]"]
|
||||||
8["Segment<br>[935, 971, 0]"]
|
8["Segment<br>[938, 974, 0]"]
|
||||||
9["Segment<br>[1011, 1041, 0]"]
|
9["Segment<br>[1014, 1044, 0]"]
|
||||||
10["Segment<br>[1047, 1076, 0]"]
|
10["Segment<br>[1050, 1079, 0]"]
|
||||||
11["Segment<br>[1082, 1111, 0]"]
|
11["Segment<br>[1085, 1114, 0]"]
|
||||||
12["Segment<br>[1117, 1146, 0]"]
|
12["Segment<br>[1120, 1149, 0]"]
|
||||||
13["Segment<br>[1152, 1252, 0]"]
|
13["Segment<br>[1155, 1255, 0]"]
|
||||||
14["Segment<br>[1258, 1314, 0]"]
|
14["Segment<br>[1261, 1317, 0]"]
|
||||||
15["Segment<br>[1320, 1327, 0]"]
|
15["Segment<br>[1323, 1330, 0]"]
|
||||||
16[Solid2d]
|
16[Solid2d]
|
||||||
end
|
end
|
||||||
subgraph path52 [Path]
|
subgraph path52 [Path]
|
||||||
52["Path<br>[1482, 1582, 0]"]
|
52["Path<br>[1485, 1585, 0]"]
|
||||||
53["Segment<br>[1588, 1635, 0]"]
|
53["Segment<br>[1591, 1638, 0]"]
|
||||||
54["Segment<br>[1641, 1756, 0]"]
|
54["Segment<br>[1644, 1759, 0]"]
|
||||||
55["Segment<br>[1762, 1882, 0]"]
|
55["Segment<br>[1765, 1885, 0]"]
|
||||||
56["Segment<br>[1888, 1944, 0]"]
|
56["Segment<br>[1891, 1947, 0]"]
|
||||||
57["Segment<br>[1950, 1957, 0]"]
|
57["Segment<br>[1953, 1960, 0]"]
|
||||||
58[Solid2d]
|
58[Solid2d]
|
||||||
end
|
end
|
||||||
subgraph path74 [Path]
|
subgraph path74 [Path]
|
||||||
74["Path<br>[2114, 2213, 0]"]
|
74["Path<br>[2117, 2216, 0]"]
|
||||||
75["Segment<br>[2219, 2265, 0]"]
|
75["Segment<br>[2222, 2268, 0]"]
|
||||||
76["Segment<br>[2271, 2363, 0]"]
|
76["Segment<br>[2274, 2366, 0]"]
|
||||||
77["Segment<br>[2369, 2466, 0]"]
|
77["Segment<br>[2372, 2469, 0]"]
|
||||||
78["Segment<br>[2472, 2528, 0]"]
|
78["Segment<br>[2475, 2531, 0]"]
|
||||||
79["Segment<br>[2534, 2541, 0]"]
|
79["Segment<br>[2537, 2544, 0]"]
|
||||||
80[Solid2d]
|
80[Solid2d]
|
||||||
end
|
end
|
||||||
1["Plane<br>[511, 528, 0]"]
|
1["Plane<br>[514, 531, 0]"]
|
||||||
17["Sweep Extrusion<br>[1370, 1400, 0]"]
|
17["Sweep Extrusion<br>[1373, 1403, 0]"]
|
||||||
18[Wall]
|
18[Wall]
|
||||||
19[Wall]
|
19[Wall]
|
||||||
20[Wall]
|
20[Wall]
|
||||||
@ -71,7 +71,7 @@ flowchart LR
|
|||||||
49["SweepEdge Opposite"]
|
49["SweepEdge Opposite"]
|
||||||
50["SweepEdge Adjacent"]
|
50["SweepEdge Adjacent"]
|
||||||
51["SweepEdge Opposite"]
|
51["SweepEdge Opposite"]
|
||||||
59["Sweep Extrusion<br>[2001, 2033, 0]"]
|
59["Sweep Extrusion<br>[2004, 2036, 0]"]
|
||||||
60[Wall]
|
60[Wall]
|
||||||
61[Wall]
|
61[Wall]
|
||||||
62[Wall]
|
62[Wall]
|
||||||
@ -86,7 +86,7 @@ flowchart LR
|
|||||||
71["SweepEdge Adjacent"]
|
71["SweepEdge Adjacent"]
|
||||||
72["SweepEdge Opposite"]
|
72["SweepEdge Opposite"]
|
||||||
73["SweepEdge Adjacent"]
|
73["SweepEdge Adjacent"]
|
||||||
81["Sweep Extrusion<br>[2584, 2616, 0]"]
|
81["Sweep Extrusion<br>[2587, 2619, 0]"]
|
||||||
82[Wall]
|
82[Wall]
|
||||||
83[Wall]
|
83[Wall]
|
||||||
84[Wall]
|
84[Wall]
|
||||||
@ -101,8 +101,8 @@ flowchart LR
|
|||||||
93["SweepEdge Adjacent"]
|
93["SweepEdge Adjacent"]
|
||||||
94["SweepEdge Opposite"]
|
94["SweepEdge Opposite"]
|
||||||
95["SweepEdge Adjacent"]
|
95["SweepEdge Adjacent"]
|
||||||
96["StartSketchOnFace<br>[1442, 1476, 0]"]
|
96["StartSketchOnFace<br>[1445, 1479, 0]"]
|
||||||
97["StartSketchOnFace<br>[2074, 2108, 0]"]
|
97["StartSketchOnFace<br>[2077, 2111, 0]"]
|
||||||
1 --- 2
|
1 --- 2
|
||||||
2 --- 3
|
2 --- 3
|
||||||
2 --- 4
|
2 --- 4
|
||||||
|
@ -54,9 +54,8 @@ description: Result of parsing router-template-slate.kcl
|
|||||||
"type": "Identifier"
|
"type": "Identifier"
|
||||||
},
|
},
|
||||||
"init": {
|
"init": {
|
||||||
"commentStart": 0,
|
"arguments": [
|
||||||
"end": 0,
|
{
|
||||||
"left": {
|
|
||||||
"commentStart": 0,
|
"commentStart": 0,
|
||||||
"end": 0,
|
"end": 0,
|
||||||
"left": {
|
"left": {
|
||||||
@ -87,10 +86,8 @@ description: Result of parsing router-template-slate.kcl
|
|||||||
"start": 0,
|
"start": 0,
|
||||||
"type": "BinaryExpression",
|
"type": "BinaryExpression",
|
||||||
"type": "BinaryExpression"
|
"type": "BinaryExpression"
|
||||||
},
|
}
|
||||||
"operator": "*",
|
],
|
||||||
"right": {
|
|
||||||
"arguments": [],
|
|
||||||
"callee": {
|
"callee": {
|
||||||
"abs_path": false,
|
"abs_path": false,
|
||||||
"commentStart": 0,
|
"commentStart": 0,
|
||||||
@ -98,7 +95,7 @@ description: Result of parsing router-template-slate.kcl
|
|||||||
"name": {
|
"name": {
|
||||||
"commentStart": 0,
|
"commentStart": 0,
|
||||||
"end": 0,
|
"end": 0,
|
||||||
"name": "inch",
|
"name": "fromInches",
|
||||||
"start": 0,
|
"start": 0,
|
||||||
"type": "Identifier"
|
"type": "Identifier"
|
||||||
},
|
},
|
||||||
@ -113,10 +110,6 @@ description: Result of parsing router-template-slate.kcl
|
|||||||
"type": "CallExpression"
|
"type": "CallExpression"
|
||||||
},
|
},
|
||||||
"start": 0,
|
"start": 0,
|
||||||
"type": "BinaryExpression",
|
|
||||||
"type": "BinaryExpression"
|
|
||||||
},
|
|
||||||
"start": 0,
|
|
||||||
"type": "VariableDeclarator"
|
"type": "VariableDeclarator"
|
||||||
},
|
},
|
||||||
"end": 0,
|
"end": 0,
|
||||||
|
@ -28,9 +28,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 615,
|
"commentStart": 618,
|
||||||
"end": 621,
|
"end": 624,
|
||||||
"start": 615,
|
"start": 618,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg01"
|
"value": "seg01"
|
||||||
},
|
},
|
||||||
@ -48,9 +48,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 801,
|
"commentStart": 804,
|
||||||
"end": 807,
|
"end": 810,
|
||||||
"start": 801,
|
"start": 804,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg05"
|
"value": "seg05"
|
||||||
},
|
},
|
||||||
@ -61,9 +61,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 876,
|
"commentStart": 879,
|
||||||
"end": 882,
|
"end": 885,
|
||||||
"start": 876,
|
"start": 879,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg04"
|
"value": "seg04"
|
||||||
},
|
},
|
||||||
@ -74,9 +74,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 922,
|
"commentStart": 925,
|
||||||
"end": 928,
|
"end": 931,
|
||||||
"start": 922,
|
"start": 925,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg03"
|
"value": "seg03"
|
||||||
},
|
},
|
||||||
@ -139,9 +139,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
28.1188
|
28.1188
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 615,
|
"commentStart": 618,
|
||||||
"end": 621,
|
"end": 624,
|
||||||
"start": 615,
|
"start": 618,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg01"
|
"value": "seg01"
|
||||||
},
|
},
|
||||||
@ -189,9 +189,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
20.0
|
20.0
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 801,
|
"commentStart": 804,
|
||||||
"end": 807,
|
"end": 810,
|
||||||
"start": 801,
|
"start": 804,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg05"
|
"value": "seg05"
|
||||||
},
|
},
|
||||||
@ -214,9 +214,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 876,
|
"commentStart": 879,
|
||||||
"end": 882,
|
"end": 885,
|
||||||
"start": 876,
|
"start": 879,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg04"
|
"value": "seg04"
|
||||||
},
|
},
|
||||||
@ -239,9 +239,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 922,
|
"commentStart": 925,
|
||||||
"end": 928,
|
"end": 931,
|
||||||
"start": 922,
|
"start": 925,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg03"
|
"value": "seg03"
|
||||||
},
|
},
|
||||||
@ -264,9 +264,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-122.4938
|
-122.4938
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 964,
|
"commentStart": 967,
|
||||||
"end": 970,
|
"end": 973,
|
||||||
"start": 964,
|
"start": 967,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg02"
|
"value": "seg02"
|
||||||
},
|
},
|
||||||
@ -514,9 +514,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 1613,
|
"commentStart": 1616,
|
||||||
"end": 1634,
|
"end": 1637,
|
||||||
"start": 1613,
|
"start": 1616,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "rectangleSegmentA001"
|
"value": "rectangleSegmentA001"
|
||||||
},
|
},
|
||||||
@ -527,9 +527,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 1734,
|
"commentStart": 1737,
|
||||||
"end": 1755,
|
"end": 1758,
|
||||||
"start": 1734,
|
"start": 1737,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "rectangleSegmentB001"
|
"value": "rectangleSegmentB001"
|
||||||
},
|
},
|
||||||
@ -540,9 +540,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 1860,
|
"commentStart": 1863,
|
||||||
"end": 1881,
|
"end": 1884,
|
||||||
"start": 1860,
|
"start": 1863,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "rectangleSegmentC001"
|
"value": "rectangleSegmentC001"
|
||||||
},
|
},
|
||||||
@ -570,9 +570,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 1613,
|
"commentStart": 1616,
|
||||||
"end": 1634,
|
"end": 1637,
|
||||||
"start": 1613,
|
"start": 1616,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "rectangleSegmentA001"
|
"value": "rectangleSegmentA001"
|
||||||
},
|
},
|
||||||
@ -595,9 +595,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 1734,
|
"commentStart": 1737,
|
||||||
"end": 1755,
|
"end": 1758,
|
||||||
"start": 1734,
|
"start": 1737,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "rectangleSegmentB001"
|
"value": "rectangleSegmentB001"
|
||||||
},
|
},
|
||||||
@ -620,9 +620,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-92.4938
|
-92.4938
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 1860,
|
"commentStart": 1863,
|
||||||
"end": 1881,
|
"end": 1884,
|
||||||
"start": 1860,
|
"start": 1863,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "rectangleSegmentC001"
|
"value": "rectangleSegmentC001"
|
||||||
},
|
},
|
||||||
@ -704,9 +704,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 615,
|
"commentStart": 618,
|
||||||
"end": 621,
|
"end": 624,
|
||||||
"start": 615,
|
"start": 618,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg01"
|
"value": "seg01"
|
||||||
},
|
},
|
||||||
@ -724,9 +724,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 801,
|
"commentStart": 804,
|
||||||
"end": 807,
|
"end": 810,
|
||||||
"start": 801,
|
"start": 804,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg05"
|
"value": "seg05"
|
||||||
},
|
},
|
||||||
@ -737,9 +737,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 876,
|
"commentStart": 879,
|
||||||
"end": 882,
|
"end": 885,
|
||||||
"start": 876,
|
"start": 879,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg04"
|
"value": "seg04"
|
||||||
},
|
},
|
||||||
@ -750,9 +750,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 922,
|
"commentStart": 925,
|
||||||
"end": 928,
|
"end": 931,
|
||||||
"start": 922,
|
"start": 925,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg03"
|
"value": "seg03"
|
||||||
},
|
},
|
||||||
@ -815,9 +815,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
28.1188
|
28.1188
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 615,
|
"commentStart": 618,
|
||||||
"end": 621,
|
"end": 624,
|
||||||
"start": 615,
|
"start": 618,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg01"
|
"value": "seg01"
|
||||||
},
|
},
|
||||||
@ -865,9 +865,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
20.0
|
20.0
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 801,
|
"commentStart": 804,
|
||||||
"end": 807,
|
"end": 810,
|
||||||
"start": 801,
|
"start": 804,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg05"
|
"value": "seg05"
|
||||||
},
|
},
|
||||||
@ -890,9 +890,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 876,
|
"commentStart": 879,
|
||||||
"end": 882,
|
"end": 885,
|
||||||
"start": 876,
|
"start": 879,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg04"
|
"value": "seg04"
|
||||||
},
|
},
|
||||||
@ -915,9 +915,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 922,
|
"commentStart": 925,
|
||||||
"end": 928,
|
"end": 931,
|
||||||
"start": 922,
|
"start": 925,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg03"
|
"value": "seg03"
|
||||||
},
|
},
|
||||||
@ -940,9 +940,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-122.4938
|
-122.4938
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 964,
|
"commentStart": 967,
|
||||||
"end": 970,
|
"end": 973,
|
||||||
"start": 964,
|
"start": 967,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg02"
|
"value": "seg02"
|
||||||
},
|
},
|
||||||
@ -1239,9 +1239,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 2243,
|
"commentStart": 2246,
|
||||||
"end": 2264,
|
"end": 2267,
|
||||||
"start": 2243,
|
"start": 2246,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "rectangleSegmentA002"
|
"value": "rectangleSegmentA002"
|
||||||
},
|
},
|
||||||
@ -1283,9 +1283,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 2243,
|
"commentStart": 2246,
|
||||||
"end": 2264,
|
"end": 2267,
|
||||||
"start": 2243,
|
"start": 2246,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "rectangleSegmentA002"
|
"value": "rectangleSegmentA002"
|
||||||
},
|
},
|
||||||
@ -1405,9 +1405,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 615,
|
"commentStart": 618,
|
||||||
"end": 621,
|
"end": 624,
|
||||||
"start": 615,
|
"start": 618,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg01"
|
"value": "seg01"
|
||||||
},
|
},
|
||||||
@ -1425,9 +1425,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 801,
|
"commentStart": 804,
|
||||||
"end": 807,
|
"end": 810,
|
||||||
"start": 801,
|
"start": 804,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg05"
|
"value": "seg05"
|
||||||
},
|
},
|
||||||
@ -1438,9 +1438,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 876,
|
"commentStart": 879,
|
||||||
"end": 882,
|
"end": 885,
|
||||||
"start": 876,
|
"start": 879,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg04"
|
"value": "seg04"
|
||||||
},
|
},
|
||||||
@ -1451,9 +1451,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 922,
|
"commentStart": 925,
|
||||||
"end": 928,
|
"end": 931,
|
||||||
"start": 922,
|
"start": 925,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg03"
|
"value": "seg03"
|
||||||
},
|
},
|
||||||
@ -1516,9 +1516,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
28.1188
|
28.1188
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 615,
|
"commentStart": 618,
|
||||||
"end": 621,
|
"end": 624,
|
||||||
"start": 615,
|
"start": 618,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg01"
|
"value": "seg01"
|
||||||
},
|
},
|
||||||
@ -1566,9 +1566,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
20.0
|
20.0
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 801,
|
"commentStart": 804,
|
||||||
"end": 807,
|
"end": 810,
|
||||||
"start": 801,
|
"start": 804,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg05"
|
"value": "seg05"
|
||||||
},
|
},
|
||||||
@ -1591,9 +1591,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 876,
|
"commentStart": 879,
|
||||||
"end": 882,
|
"end": 885,
|
||||||
"start": 876,
|
"start": 879,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg04"
|
"value": "seg04"
|
||||||
},
|
},
|
||||||
@ -1616,9 +1616,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 922,
|
"commentStart": 925,
|
||||||
"end": 928,
|
"end": 931,
|
||||||
"start": 922,
|
"start": 925,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg03"
|
"value": "seg03"
|
||||||
},
|
},
|
||||||
@ -1641,9 +1641,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-122.4938
|
-122.4938
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 964,
|
"commentStart": 967,
|
||||||
"end": 970,
|
"end": 973,
|
||||||
"start": 964,
|
"start": 967,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg02"
|
"value": "seg02"
|
||||||
},
|
},
|
||||||
@ -2041,9 +2041,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
28.1188
|
28.1188
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 615,
|
"commentStart": 618,
|
||||||
"end": 621,
|
"end": 624,
|
||||||
"start": 615,
|
"start": 618,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg01"
|
"value": "seg01"
|
||||||
},
|
},
|
||||||
@ -2091,9 +2091,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
20.0
|
20.0
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 801,
|
"commentStart": 804,
|
||||||
"end": 807,
|
"end": 810,
|
||||||
"start": 801,
|
"start": 804,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg05"
|
"value": "seg05"
|
||||||
},
|
},
|
||||||
@ -2116,9 +2116,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 876,
|
"commentStart": 879,
|
||||||
"end": 882,
|
"end": 885,
|
||||||
"start": 876,
|
"start": 879,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg04"
|
"value": "seg04"
|
||||||
},
|
},
|
||||||
@ -2141,9 +2141,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 922,
|
"commentStart": 925,
|
||||||
"end": 928,
|
"end": 931,
|
||||||
"start": 922,
|
"start": 925,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg03"
|
"value": "seg03"
|
||||||
},
|
},
|
||||||
@ -2166,9 +2166,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-122.4938
|
-122.4938
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 964,
|
"commentStart": 967,
|
||||||
"end": 970,
|
"end": 973,
|
||||||
"start": 964,
|
"start": 967,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg02"
|
"value": "seg02"
|
||||||
},
|
},
|
||||||
@ -2413,9 +2413,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 1613,
|
"commentStart": 1616,
|
||||||
"end": 1634,
|
"end": 1637,
|
||||||
"start": 1613,
|
"start": 1616,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "rectangleSegmentA001"
|
"value": "rectangleSegmentA001"
|
||||||
},
|
},
|
||||||
@ -2438,9 +2438,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 1734,
|
"commentStart": 1737,
|
||||||
"end": 1755,
|
"end": 1758,
|
||||||
"start": 1734,
|
"start": 1737,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "rectangleSegmentB001"
|
"value": "rectangleSegmentB001"
|
||||||
},
|
},
|
||||||
@ -2463,9 +2463,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-92.4938
|
-92.4938
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 1860,
|
"commentStart": 1863,
|
||||||
"end": 1881,
|
"end": 1884,
|
||||||
"start": 1860,
|
"start": 1863,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "rectangleSegmentC001"
|
"value": "rectangleSegmentC001"
|
||||||
},
|
},
|
||||||
@ -2547,9 +2547,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 615,
|
"commentStart": 618,
|
||||||
"end": 621,
|
"end": 624,
|
||||||
"start": 615,
|
"start": 618,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg01"
|
"value": "seg01"
|
||||||
},
|
},
|
||||||
@ -2567,9 +2567,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 801,
|
"commentStart": 804,
|
||||||
"end": 807,
|
"end": 810,
|
||||||
"start": 801,
|
"start": 804,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg05"
|
"value": "seg05"
|
||||||
},
|
},
|
||||||
@ -2580,9 +2580,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 876,
|
"commentStart": 879,
|
||||||
"end": 882,
|
"end": 885,
|
||||||
"start": 876,
|
"start": 879,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg04"
|
"value": "seg04"
|
||||||
},
|
},
|
||||||
@ -2593,9 +2593,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 922,
|
"commentStart": 925,
|
||||||
"end": 928,
|
"end": 931,
|
||||||
"start": 922,
|
"start": 925,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg03"
|
"value": "seg03"
|
||||||
},
|
},
|
||||||
@ -2658,9 +2658,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
28.1188
|
28.1188
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 615,
|
"commentStart": 618,
|
||||||
"end": 621,
|
"end": 624,
|
||||||
"start": 615,
|
"start": 618,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg01"
|
"value": "seg01"
|
||||||
},
|
},
|
||||||
@ -2708,9 +2708,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
20.0
|
20.0
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 801,
|
"commentStart": 804,
|
||||||
"end": 807,
|
"end": 810,
|
||||||
"start": 801,
|
"start": 804,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg05"
|
"value": "seg05"
|
||||||
},
|
},
|
||||||
@ -2733,9 +2733,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 876,
|
"commentStart": 879,
|
||||||
"end": 882,
|
"end": 885,
|
||||||
"start": 876,
|
"start": 879,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg04"
|
"value": "seg04"
|
||||||
},
|
},
|
||||||
@ -2758,9 +2758,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 922,
|
"commentStart": 925,
|
||||||
"end": 928,
|
"end": 931,
|
||||||
"start": 922,
|
"start": 925,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg03"
|
"value": "seg03"
|
||||||
},
|
},
|
||||||
@ -2783,9 +2783,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-122.4938
|
-122.4938
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 964,
|
"commentStart": 967,
|
||||||
"end": 970,
|
"end": 973,
|
||||||
"start": 964,
|
"start": 967,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg02"
|
"value": "seg02"
|
||||||
},
|
},
|
||||||
@ -3079,9 +3079,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 2243,
|
"commentStart": 2246,
|
||||||
"end": 2264,
|
"end": 2267,
|
||||||
"start": 2243,
|
"start": 2246,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "rectangleSegmentA002"
|
"value": "rectangleSegmentA002"
|
||||||
},
|
},
|
||||||
@ -3201,9 +3201,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 615,
|
"commentStart": 618,
|
||||||
"end": 621,
|
"end": 624,
|
||||||
"start": 615,
|
"start": 618,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg01"
|
"value": "seg01"
|
||||||
},
|
},
|
||||||
@ -3221,9 +3221,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 801,
|
"commentStart": 804,
|
||||||
"end": 807,
|
"end": 810,
|
||||||
"start": 801,
|
"start": 804,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg05"
|
"value": "seg05"
|
||||||
},
|
},
|
||||||
@ -3234,9 +3234,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 876,
|
"commentStart": 879,
|
||||||
"end": 882,
|
"end": 885,
|
||||||
"start": 876,
|
"start": 879,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg04"
|
"value": "seg04"
|
||||||
},
|
},
|
||||||
@ -3247,9 +3247,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
"id": "[uuid]",
|
"id": "[uuid]",
|
||||||
"sourceRange": [],
|
"sourceRange": [],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 922,
|
"commentStart": 925,
|
||||||
"end": 928,
|
"end": 931,
|
||||||
"start": 922,
|
"start": 925,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg03"
|
"value": "seg03"
|
||||||
},
|
},
|
||||||
@ -3312,9 +3312,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
28.1188
|
28.1188
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 615,
|
"commentStart": 618,
|
||||||
"end": 621,
|
"end": 624,
|
||||||
"start": 615,
|
"start": 618,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg01"
|
"value": "seg01"
|
||||||
},
|
},
|
||||||
@ -3362,9 +3362,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
20.0
|
20.0
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 801,
|
"commentStart": 804,
|
||||||
"end": 807,
|
"end": 810,
|
||||||
"start": 801,
|
"start": 804,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg05"
|
"value": "seg05"
|
||||||
},
|
},
|
||||||
@ -3387,9 +3387,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 876,
|
"commentStart": 879,
|
||||||
"end": 882,
|
"end": 885,
|
||||||
"start": 876,
|
"start": 879,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg04"
|
"value": "seg04"
|
||||||
},
|
},
|
||||||
@ -3412,9 +3412,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-12.4937
|
-12.4937
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 922,
|
"commentStart": 925,
|
||||||
"end": 928,
|
"end": 931,
|
||||||
"start": 922,
|
"start": 925,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg03"
|
"value": "seg03"
|
||||||
},
|
},
|
||||||
@ -3437,9 +3437,9 @@ description: Variables in memory after executing router-template-slate.kcl
|
|||||||
-122.4938
|
-122.4938
|
||||||
],
|
],
|
||||||
"tag": {
|
"tag": {
|
||||||
"commentStart": 964,
|
"commentStart": 967,
|
||||||
"end": 970,
|
"end": 973,
|
||||||
"start": 964,
|
"start": 967,
|
||||||
"type": "TagDeclarator",
|
"type": "TagDeclarator",
|
||||||
"value": "seg02"
|
"value": "seg02"
|
||||||
},
|
},
|
||||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |