topostack.app
Choose a place, customize layered relief or flat engraving, and generate SVG artwork in the free TopoStack studio.
First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com
Answer 4 · Act 8 · Transact 0 · Score: Not yet scored
Tool inspector
topostack_update_design
Change settings of the open design: size, shape, layered or flat output, material thickness, vertical exaggeration, contour count, map details, aviation detail, airspace in acrylic, title and laser settings. Anything left out stays as it is. Each change is one undo step.
Page: /studio
Input schema
| Property | Type | Required | Description |
|---|---|---|---|
placeLabel |
string | no | Human-readable place name, e.g. from search_places. |
name |
string | no | Project name; defaults to the first part of placeLabel. |
widthMm |
number | no | Finished model width in millimetres (default 300). |
heightMm |
number | no | Finished model height in millimetres (default 200). |
shape |
— | no | Outline of the model (default rectangle). |
units |
— | no | Units for engraved labels and the scale bar (default metric). |
output |
— | no | layered: a stack of laser-cut sheets forming a 3D relief (default). flat: contour lines engraved on a single sheet. |
materialThicknessMm |
number | no | Sheet thickness in millimetres (default 3). Thicker material gives fewer, coarser layers. |
verticalExaggeration |
number | no | How much to stretch the terrain vertically (default 2). The layer count follows from scale, relief, exaggeration and thickness. |
contourCount |
integer | no | Flat output only: number of engraved contour lines (default 12). |
details |
object | no | Map details to include. Anything left out keeps the studio default: water, water depth, roads, trails, elevation labels, north arrow and scale bar on; road labels, boundaries and coordinate grid off. |
aviation |
object | no | FAA aviation detail, US and territories only; decorative, never for navigation. Every switch is off unless set: airspace (Class B, C and D boundaries), specialUse (restricted, MOA, warning and similar areas), runways, airports, navaids, obstacles (200 ft AGL and taller), labels (airport and navaid identifiers, and Class B, C and D altitudes). |
airspaceStack |
— | no | Airspace in acrylic, US and territories only, layered output only; decorative, never for navigation. Class B, C and special use airspace, and optional Class D lids, are cut from acrylic and held at true height over the terrain on rods the maker cuts to length. false turns it off. An object turns it on from the defaults (plates, 4 mm round rods glued in segments); on a design that has it, only the fields given change. A whole Class B separates into its shelves near 10× vertical exaggeration. |
title |
string | no | Optional engraved title: up to 3 lines separated by \n, 40 characters each. |
laser |
object | no | Laser settings. A work area smaller than the model splits each sheet into pieces that fit the bed. |
Raw JSON schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"placeLabel": {
"type": "string",
"maxLength": 240,
"description": "Human-readable place name, e.g. from search_places."
},
"name": {
"type": "string",
"maxLength": 120,
"description": "Project name; defaults to the first part of placeLabel."
},
"widthMm": {
"type": "number",
"minimum": 20,
"maximum": 10000,
"description": "Finished model width in millimetres (default 300)."
},
"heightMm": {
"type": "number",
"minimum": 20,
"maximum": 10000,
"description": "Finished model height in millimetres (default 200)."
},
"shape": {
"enum": [
"rectangle",
"circle"
],
"description": "Outline of the model (default rectangle)."
},
"units": {
"enum": [
"metric",
"imperial"
],
"description": "Units for engraved labels and the scale bar (default metric)."
},
"output": {
"enum": [
"layered",
"flat"
],
"description": "layered: a stack of laser-cut sheets forming a 3D relief (default). flat: contour lines engraved on a single sheet."
},
"materialThicknessMm": {
"type": "number",
"minimum": 0.5,
"maximum": 25,
"description": "Sheet thickness in millimetres (default 3). Thicker material gives fewer, coarser layers."
},
"verticalExaggeration": {
"type": "number",
"minimum": 1,
"maximum": 10,
"description": "How much to stretch the terrain vertically (default 2). The layer count follows from scale, relief, exaggeration and thickness."
},
"contourCount": {
"type": "integer",
"minimum": 4,
"maximum": 40,
"description": "Flat output only: number of engraved contour lines (default 12)."
},
"details": {
"type": "object",
"additionalProperties": false,
"description": "Map details to include. Anything left out keeps the studio default: water, water depth, roads, trails, elevation labels, north arrow and scale bar on; road labels, boundaries and coordinate grid off.",
"properties": {
"water": {
"type": "boolean"
},
"waterDepth": {
"type": "boolean"
},
"roads": {
"type": "boolean"
},
"trails": {
"type": "boolean"
},
"roadLabels": {
"type": "boolean"
},
"boundaries": {
"type": "boolean"
},
"coordinateGrid": {
"type": "boolean"
},
"elevationLabels": {
"type": "boolean"
},
"northArrow": {
"type": "boolean"
},
"scaleBar": {
"type": "boolean"
}
}
},
"aviation": {
"type": "object",
"additionalProperties": false,
"description": "FAA aviation detail, US and territories only; decorative, never for navigation. Every switch is off unless set: airspace (Class B, C and D boundaries), specialUse (restricted, MOA, warning and similar areas), runways, airports, navaids, obstacles (200 ft AGL and taller), labels (airport and navaid identifiers, and Class B, C and D altitudes).",
"properties": {
"airspace": {
"type": "boolean"
},
"specialUse": {
"type": "boolean"
},
"runways": {
"type": "boolean"
},
"airports": {
"type": "boolean"
},
"navaids": {
"type": "boolean"
},
"obstacles": {
"type": "boolean"
},
"labels": {
"type": "boolean"
}
}
},
"airspaceStack": {
"description": "Airspace in acrylic, US and territories only, layered output only; decorative, never for navigation. Class B, C and special use airspace, and optional Class D lids, are cut from acrylic and held at true height over the terrain on rods the maker cuts to length. false turns it off. An object turns it on from the defaults (plates, 4 mm round rods glued in segments); on a design that has it, only the fields given change. A whole Class B separates into its shelves near 10× vertical exaggeration.",
"anyOf": [
{
"const": false
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"form": {
"enum": [
"plates",
"tiers",
"volumes"
],
"description": "plates: a piece at each altitude where airspace starts or ends, cut to the whole airspace at that height. tiers: pieces only where each shelf starts and ends, like the chart users' guide's wedding cake; least acrylic. volumes: solid stacked sheets, which use far more acrylic. Plates and tiers differ most where special use airspace spans several levels."
},
"tint": {
"enum": [
"chart",
"clear"
],
"description": "chart: blue and magenta acrylic after the sectional. clear: every piece from clear acrylic, with the class shown by engraving. Defaults to clear for plates and chart for tiers and volumes."
},
"classes": {
"type": "object",
"additionalProperties": false,
"description": "Which airspace to build. Turning every kind off turns airspace off.",
"properties": {
"B": {
"type": "boolean",
"description": "Class B (default on)."
},
"C": {
"type": "boolean",
"description": "Class C (default on)."
},
"D": {
"type": "boolean",
"description": "Class D, as a flat lid over each tower airport (default off)."
},
"specialUse": {
"type": "boolean",
"description": "MOAs, restricted, warning and similar areas (default on)."
}
}
},
"ceilingCapFt": {
"type": "number",
"minimum": 1000,
"maximum": 60000,
"description": "Highest altitude built, in feet. By default the highest Class B or C ceiling in the area, or 10,000 ft."
},
"thicknessMm": {
"type": "number",
"minimum": 1,
"maximum": 10,
"description": "Acrylic thickness in millimetres; defaults to materialThicknessMm."
},
"kerfMm": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Laser kerf for the acrylic in millimetres; defaults to the laser kerf."
},
"rod": {
"type": "object",
"additionalProperties": false,
"description": "The rods that hold the pieces, standing in sockets cut into the terrain.",
"properties": {
"shape": {
"enum": [
"round",
"square"
],
"description": "Rod section (default round)."
},
"sizeMm": {
"type": "number",
"minimum": 2,
"maximum": 12,
"description": "Rod diameter, or a square rod's width, in millimetres (default 4)."
},
"fitClearanceMm": {
"type": "number",
"minimum": 0,
"maximum": 0.5,
"description": "Clearance around the rod in sockets and holes, in millimetres (default 0.1)."
},
"socketDepthMm": {
"type": "number",
"minimum": 1,
"maximum": 30,
"description": "Depth of the sockets in the terrain, in millimetres (default 6)."
},
"joint": {
"enum": [
"segments",
"through"
],
"description": "segments: short rods glued between levels. through: one rod per column, rising through holes in the pieces (default segments)."
}
}
}
}
}
]
},
"title": {
"type": "string",
"maxLength": 123,
"description": "Optional engraved title: up to 3 lines separated by \\n, 40 characters each."
},
"laser": {
"type": "object",
"additionalProperties": false,
"description": "Laser settings. A work area smaller than the model splits each sheet into pieces that fit the bed.",
"properties": {
"kerfMm": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Laser kerf in millimetres (default 0.15)."
},
"workAreaWidthMm": {
"anyOf": [
{
"const": 0
},
{
"type": "number",
"minimum": 20,
"maximum": 10000
}
],
"description": "Laser bed width in millimetres; 0 for unlimited (default)."
},
"workAreaHeightMm": {
"anyOf": [
{
"const": 0
},
{
"type": "number",
"minimum": 20,
"maximum": 10000
}
],
"description": "Laser bed height in millimetres; 0 for unlimited (default)."
}
}
}
}
}
Similar websites
wfsim.app
A Warframe calculator that simulates the fight instead of estimating it — builder, simulator, optimizer. Every formula cites its source, and the golden tests ar…
commonplace-webmcp.vercel.app
Commonplace is an editable social reading space built for people and their browser agents.
pixelforge-studio.appcaster.chatgpt.site
A professional browser pixel-art editor for drawing, frame animation, palettes, sprite sheets, GIF export, and WebMCP automation.
pixelite.taskcraft.site
Pixelite