diff --git a/.gitignore b/.gitignore index 6060651d..fe498bf5 100644 --- a/.gitignore +++ b/.gitignore @@ -90,4 +90,7 @@ package-lock.json .python-version # Claude Code local settings (created during development) -.claude/settings.local.json \ No newline at end of file +.claude/settings.local.json + +# E3D development directory +.e3d/ \ No newline at end of file diff --git a/workflows/Calcslive/2058_Calcslive_Engineering_Calculations_Manual.json b/workflows/Calcslive/2058_Calcslive_Engineering_Calculations_Manual.json new file mode 100644 index 00000000..8e26f6bd --- /dev/null +++ b/workflows/Calcslive/2058_Calcslive_Engineering_Calculations_Manual.json @@ -0,0 +1,286 @@ +{ + "name": "CalcsLive Demo Workflow Template", + "description": "Demonstrates @calcslive/n8n-nodes-calcslive custom node (https://www.npmjs.com/package/@calcslive/n8n-nodes-calcslive) that brings unit-aware physical quantities (PQ) and calculations to the n8n ecosystem in a composable manner. Example workflow with cylinder mass calculations.", + "nodes": [ + { + "parameters": {}, + "type": "n8n-nodes-base.manualTrigger", + "typeVersion": 1, + "position": [ + -128, + -192 + ], + "id": "c6331ca9-2a74-419e-a15f-a11e5f3c0583", + "name": "When clicking 'Execute workflow'" + }, + { + "parameters": { + "articleId": "3M6UW7CQB-2AP", + "inputPQs": { + "pq": [ + { + "symbol": "D", + "value": 200, + "unit": "mm" + }, + { + "symbol": "h", + "value": 20, + "unit": "cm" + } + ] + }, + "outputPQs": { + "pq": [ + { + "symbol": "A", + "unit": "m^2" + }, + { + "symbol": "V", + "unit": "m^3" + } + ] + } + }, + "type": "@calcslive/n8n-nodes-calcslive.calcsLive", + "typeVersion": 1, + "position": [ + 128, + -80 + ], + "id": "c22f212e-52ef-4d4f-b398-0bd4f2250705", + "name": "Cylinder Calcs: (D, h) => (A, V)", + "credentials": { + "calcsLiveApi": { + "id": "REPLACE_WITH_YOUR_CALCSLIVE_CREDENTIAL_ID", + "name": "Your CalcsLive API Credential" + } + } + }, + { + "parameters": { + "articleId": "3M6UW7CQB-2AP", + "inputPQs": { + "pq": [ + { + "symbol": "d", + "value": 360, + "unit": "km" + }, + { + "symbol": "t", + "value": 10, + "unit": "h" + } + ] + } + }, + "type": "@calcslive/n8n-nodes-calcslive.calcsLive", + "typeVersion": 1, + "position": [ + 336, + -288 + ], + "id": "9b8cc0ea-d130-48a3-8552-4346f20a5ad0", + "name": "Speed Calc: (d, t) => v", + "credentials": { + "calcsLiveApi": { + "id": "REPLACE_WITH_YOUR_CALCSLIVE_CREDENTIAL_ID", + "name": "Your CalcsLive API Credential" + } + } + }, + { + "parameters": { + "articleId": "3M6VLSBHB-3HT", + "inputPQs": { + "pq": [ + { + "symbol": "ρ", + "value": 1000, + "unit": "kg/m^3" + }, + { + "symbol": "V", + "value": "={{ $json.data.calculation.outputs.V.value }}", + "unit": "={{ $json.data.calculation.outputs.V.unit }}" + } + ] + }, + "outputPQs": { + "pq": [ + { + "symbol": "m", + "unit": "kg" + } + ] + } + }, + "type": "@calcslive/n8n-nodes-calcslive.calcsLive", + "typeVersion": 1, + "position": [ + 336, + -80 + ], + "id": "5bf3e5ab-d1f6-42e7-9e64-b4b78bcbfa99", + "name": "Mass Calc: (ρ, V) => m", + "credentials": { + "calcsLiveApi": { + "id": "REPLACE_WITH_YOUR_CALCSLIVE_CREDENTIAL_ID", + "name": "Your CalcsLive API Credential" + } + } + }, + { + "parameters": { + "assignments": { + "assignments": [ + { + "id": "a026dc84-665f-4898-8de9-ccdbaa530bfa", + "name": "Distance", + "value": 360, + "type": "number" + }, + { + "id": "de7d6d3e-151c-4390-b2d9-bf78da0159eb", + "name": "DistanceUnit", + "value": "km", + "type": "string" + }, + { + "id": "49c1e979-a0c2-403e-bed1-ef28eb8513ad", + "name": "Time", + "value": 2, + "type": "number" + }, + { + "id": "54ae6f42-844f-4bf2-b6d3-a6e159d46e9e", + "name": "TimeUnit", + "value": "h", + "type": "string" + } + ] + }, + "options": {} + }, + "type": "n8n-nodes-base.set", + "typeVersion": 3.4, + "position": [ + 128, + -288 + ], + "id": "8b83b9e5-d7a4-4f74-b5bc-e6012a0f606a", + "name": "Fields: (d, t)" + }, + { + "parameters": { + "sendTo": "user@example.com", + "subject": "CalcsLive Calculation Results", + "message": "=Hello!\n\nThis is an automated email from your n8n workflow using @calcslive/n8n-nodes-calcslive.\n\nCalculation Results:\n- Total Physical Quantities: {{ $json.data.calculation.totalPQs }}\n- Mass Result: {{ $json.data.calculation.outputs.m.value }} {{ $json.data.calculation.outputs.m.unit }}\n\nBest regards,\nYour CalcsLive Workflow", + "options": { + "attachmentsUi": { + "attachmentsBinary": [] + } + } + }, + "id": "2b48a81e-84f8-439d-aa58-6cc7b1c00480", + "name": "Send Email", + "type": "n8n-nodes-base.gmail", + "typeVersion": 2.1, + "position": [ + 528, + -80 + ], + "credentials": { + "gmailOAuth2": { + "id": "REPLACE_WITH_YOUR_GMAIL_CREDENTIAL_ID", + "name": "Your Gmail Account" + } + } + } + ], + "pinData": {}, + "connections": { + "When clicking 'Execute workflow'": { + "main": [ + [ + { + "node": "Fields: (d, t)", + "type": "main", + "index": 0 + }, + { + "node": "Cylinder Calcs: (D, h) => (A, V)", + "type": "main", + "index": 0 + } + ] + ] + }, + "Speed Calc: (d, t) => v": { + "main": [ + [] + ] + }, + "Mass Calc: (ρ, V) => m": { + "main": [ + [ + { + "node": "Send Email", + "type": "main", + "index": 0 + } + ] + ] + }, + "Fields: (d, t)": { + "main": [ + [ + { + "node": "Speed Calc: (d, t) => v", + "type": "main", + "index": 0 + } + ] + ] + }, + "Cylinder Calcs: (D, h) => (A, V)": { + "main": [ + [ + { + "node": "Mass Calc: (ρ, V) => m", + "type": "main", + "index": 0 + } + ] + ] + } + }, + "active": false, + "settings": { + "executionOrder": "v1" + }, + "meta": { + "templateCredsSetupCompleted": false + }, + "tags": [ + "calculation", + "calculator", + "math", + "engineering", + "unit-conversion", + "unit-converter", + "unit-aware", + "unit-awareness", + "physics", + "formula", + "computation", + "measurement", + "custom-node", + "PQ", + "physical-quantity", + "integration", + "composable" + ] +} \ No newline at end of file