Tool tree
gradeNot graded
get_model_summaryAnswer
Summarize the structural model currently open in StructSketch: element counts, supports, units, bounding box, active page and load combination, and whether analysis has completed. Read-only.
View tool JSON
{
"name": "get_model_summary",
"kind": "answer",
"impl": "imperative",
"description": "Summarize the structural model currently open in StructSketch: element counts, supports, units, bounding box, active page and load combination, and whether analysis has completed. Read-only.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/StructSketch/"
}run_quick_checkAction
Run StructSketch's existing deterministic linear-static analysis on the current model and return the bounded result: envelope max displacement and utilization, per-combination equilibrium residuals, and validation messages. Preliminary allowable-stress screening only — no buckling or code checks. Read-only.
View tool JSON
{
"name": "run_quick_check",
"kind": "act",
"impl": "imperative",
"description": "Run StructSketch's existing deterministic linear-static analysis on the current model and return the bounded result: envelope max displacement and utilization, per-combination equilibrium residuals, and validation messages. Preliminary allowable-stress screening only — no buckling or code checks. Read-only.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/StructSketch/"
}find_critical_membersAnswer
Rank the members of the current model by their governing allowable-stress interaction ratio across all load combinations, worst first. Read-only.
View tool JSON
{
"name": "find_critical_members",
"kind": "answer",
"impl": "imperative",
"description": "Rank the members of the current model by their governing allowable-stress interaction ratio across all load combinations, worst first. Read-only.",
"inputSchema": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "How many members to return (default 5)."
}
},
"additionalProperties": false
},
"page": "/StructSketch/"
}show_result_viewAction
Change which result overlay is visible on the StructSketch canvas (deformation, moment, shear, axial, torsion, reaction, check, deflection) and report the resulting toggle state.
View tool JSON
{
"name": "show_result_view",
"kind": "act",
"impl": "imperative",
"description": "Change which result overlay is visible on the StructSketch canvas (deformation, moment, shear, axial, torsion, reaction, check, deflection) and report the resulting toggle state.",
"inputSchema": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"deformation",
"moment",
"shear",
"axial",
"torsion",
"reaction",
"check",
"deflection"
],
"description": "Result overlay to show."
}
},
"required": [
"mode"
],
"additionalProperties": false
},
"page": "/StructSketch/"
}focus_memberAction
Identify a member by id in the visible model: turns on member numbers and check colouring and returns the member's geometry and governing design check. Does not re-centre the 3D camera.
View tool JSON
{
"name": "focus_member",
"kind": "act",
"impl": "imperative",
"description": "Identify a member by id in the visible model: turns on member numbers and check colouring and returns the member's geometry and governing design check. Does not re-centre the 3D camera.",
"inputSchema": {
"type": "object",
"properties": {
"member_id": {
"type": "string",
"description": "Member id, e.g. from find_critical_members or get_model_summary."
}
},
"required": [
"member_id"
],
"additionalProperties": false
},
"page": "/StructSketch/"
}preview_member_changeAction
Evaluate a proposed change to one member's section and/or material WITHOUT changing the model. Returns a proposal_id, the before/after section properties, and the analysis version the proposal is bound to. Read-only.
View tool JSON
{
"name": "preview_member_change",
"kind": "act",
"impl": "imperative",
"description": "Evaluate a proposed change to one member's section and/or material WITHOUT changing the model. Returns a proposal_id, the before/after section properties, and the analysis version the proposal is bound to. Read-only.",
"inputSchema": {
"type": "object",
"properties": {
"member_id": {
"type": "string",
"description": "Member to change."
},
"section_id": {
"type": "string",
"description": "New section id from the model catalog (optional)."
},
"material_id": {
"type": "string",
"description": "New material id from the model catalog (optional)."
}
},
"required": [
"member_id"
],
"additionalProperties": false
},
"page": "/StructSketch/"
}apply_member_changeAction
Apply a previously previewed member change. CHANGES THE MODEL and re-runs the analysis. Requires confirm:true and a proposal_id whose analysis version still matches the live model; a stale or unconfirmed proposal is rejected. Atomic — on failure the model is restored.
View tool JSON
{
"name": "apply_member_change",
"kind": "act",
"impl": "imperative",
"description": "Apply a previously previewed member change. CHANGES THE MODEL and re-runs the analysis. Requires confirm:true and a proposal_id whose analysis version still matches the live model; a stale or unconfirmed proposal is rejected. Atomic — on failure the model is restored.",
"inputSchema": {
"type": "object",
"properties": {
"proposal_id": {
"type": "string",
"description": "The id returned by preview_member_change."
},
"confirm": {
"type": "boolean",
"description": "Must be true. The user must have approved this change."
}
},
"required": [
"proposal_id",
"confirm"
],
"additionalProperties": false
},
"page": "/StructSketch/"
}revert_member_changeAction
Restore the model to its state immediately before the most recent apply_member_change. CHANGES THE MODEL.
View tool JSON
{
"name": "revert_member_change",
"kind": "act",
"impl": "imperative",
"description": "Restore the model to its state immediately before the most recent apply_member_change. CHANGES THE MODEL.",
"inputSchema": {
"type": "object",
"properties": {
"proposal_id": {
"type": "string",
"description": "Optional guard: must match the last applied proposal."
}
},
"additionalProperties": false
},
"page": "/StructSketch/"
}export_review_reportAction
Assemble a structured review report: model summary, deterministic quick check with assumptions and warnings, critical members, the approved-change history, and (by default) the agent activity log. Read-only.
View tool JSON
{
"name": "export_review_report",
"kind": "act",
"impl": "imperative",
"description": "Assemble a structured review report: model summary, deterministic quick check with assumptions and warnings, critical members, the approved-change history, and (by default) the agent activity log. Read-only.",
"inputSchema": {
"type": "object",
"properties": {
"include_activity": {
"type": "boolean",
"description": "Include the agent activity trail (default true)."
}
},
"additionalProperties": false
},
"page": "/StructSketch/"
}create_warehouse_modelAction
Build a parametric post-frame ("pole barn") warehouse frame from a plain-language description and load it into StructSketch, REPLACING the current model, then run the deterministic analysis. The agent only chooses parameters from the user's intent; geometry, sections and loads are generated deterministically and the existing S-Structures core does every calculation. Two bents plus one per bay, gable roof, collar tie and optional knee braces. Requires confirm:true — the user must have approved the description.
View tool JSON
{
"name": "create_warehouse_model",
"kind": "act",
"impl": "imperative",
"description": "Build a parametric post-frame (\"pole barn\") warehouse frame from a plain-language description and load it into StructSketch, REPLACING the current model, then run the deterministic analysis. The agent only chooses parameters from the user's intent; geometry, sections and loads are generated deterministically and the existing S-Structures core does every calculation. Two bents plus one per bay, gable roof, collar tie and optional knee braces. Requires confirm:true — the user must have approved the description.",
"inputSchema": {
"type": "object",
"properties": {
"span_m": {
"type": "number",
"minimum": 3,
"maximum": 30,
"description": "Clear span between the two column lines, metres (default 12.2)."
},
"eave_height_m": {
"type": "number",
"minimum": 2,
"maximum": 10,
"description": "Eave (column top) height, metres (default 4.9)."
},
"roof_pitch": {
"type": "string",
"description": "Roof pitch as rise:run, e.g. \"4:12\", or a bare ratio (default \"4:12\")."
},
"post_spacing_m": {
"type": "number",
"minimum": 1.5,
"maximum": 12,
"description": "Spacing between frames along the building, metres (default 4.8)."
},
"bay_count": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Number of bays; the model has bay_count + 1 frames (default 1)."
},
"material": {
"type": "string",
"enum": [
"timber",
"steel"
],
"description": "Frame material (default timber: cedar posts and rafters)."
},
"bases": {
"type": "string",
"enum": [
"pin",
"fixed"
],
"description": "Column base fixity (default pin / hinged)."
},
"snow_kN_m2": {
"type": "number",
"minimum": 0,
"maximum": 10,
"description": "Design roof snow load, kN/m2 (default 1.0)."
},
"dead_kN_m2": {
"type": "number",
"minimum": 0,
"maximum": 5,
"description": "Roof dead load, kN/m2 (default 0.3)."
},
"braces": {
"type": "boolean",
"description": "Include the collar tie and knee braces (default true)."
},
"confirm": {
"type": "boolean",
"description": "Must be true. The user must have approved the description before this is called."
}
},
"required": [
"confirm"
],
"additionalProperties": false
},
"page": "/StructSketch/"
}create_structure_modelAction
Create a bounded deterministic structural model from the user's plain-language intent, REPLACING the current model, then run the existing S-Structures analysis. Supported structure_type values: warehouse, portal_frame, canopy, roof_truss, multi_storey_frame. The agent selects template parameters; the page generates geometry, members, supports and loads. Requires confirm:true after echoing the interpreted request to the user.
View tool JSON
{
"name": "create_structure_model",
"kind": "act",
"impl": "imperative",
"description": "Create a bounded deterministic structural model from the user's plain-language intent, REPLACING the current model, then run the existing S-Structures analysis. Supported structure_type values: warehouse, portal_frame, canopy, roof_truss, multi_storey_frame. The agent selects template parameters; the page generates geometry, members, supports and loads. Requires confirm:true after echoing the interpreted request to the user.",
"inputSchema": {
"type": "object",
"properties": {
"structure_type": {
"type": "string",
"enum": [
"warehouse",
"portal_frame",
"canopy",
"roof_truss",
"multi_storey_frame"
],
"description": "Template selected from the user's intent."
},
"span_m": {
"type": "number",
"minimum": 2,
"maximum": 30,
"description": "Main clear span or canopy projection, metres."
},
"height_m": {
"type": "number",
"minimum": 2,
"maximum": 10,
"description": "Frame/eave height, or per-storey height for multi_storey_frame."
},
"depth_m": {
"type": "number",
"minimum": 1.5,
"maximum": 20,
"description": "Out-of-plane spacing between the two stabilising frames, metres."
},
"bay_count": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Warehouse longitudinal bays, truss panels, or horizontal frame bays."
},
"storey_count": {
"type": "integer",
"minimum": 1,
"maximum": 8,
"description": "Storeys for multi_storey_frame."
},
"roof_pitch": {
"type": "string",
"description": "Pitch as rise:run, e.g. 3:12; used by warehouse, canopy, and roof_truss."
},
"material": {
"type": "string",
"enum": [
"timber",
"steel"
],
"description": "Catalog material and matching default sections."
},
"bases": {
"type": "string",
"enum": [
"pin",
"fixed"
],
"description": "Base condition. Canopies require fixed bases."
},
"load_kN_m": {
"type": "number",
"minimum": 0,
"maximum": 50,
"description": "Downward line load on generated beams/roof members, kN/m."
},
"post_spacing_m": {
"type": "number",
"minimum": 1.5,
"maximum": 12,
"description": "Warehouse frame spacing, metres."
},
"snow_kN_m2": {
"type": "number",
"minimum": 0,
"maximum": 10,
"description": "Warehouse roof snow load, kN/m2."
},
"dead_kN_m2": {
"type": "number",
"minimum": 0,
"maximum": 5,
"description": "Warehouse roof dead load, kN/m2."
},
"braces": {
"type": "boolean",
"description": "Include warehouse collar/knee bracing."
},
"confirm": {
"type": "boolean",
"description": "Must be true after the user approves the interpreted structure and parameters."
}
},
"required": [
"structure_type",
"confirm"
],
"additionalProperties": false
},
"page": "/StructSketch/"
}