Skip to main content
Glama
davidharutyunyan

Archicad MCP Connector

Set 3D view

set_3d_view
Idempotent

Set up the 3D window in Archicad with perspective or axonometric views, defining camera, sun, and style for visual capture and verification.

Instructions

Sets up the 3D window. Easiest overview: {mode:'perspective', azimuth: 225, altitude: 30} (camera south-west of the model, fits the whole model). Exact camera: {mode:'perspective', camera:{x,y,z}, target:{x,y,z}, viewCone}. Axonometry: {mode:'axonometric', projection:'Isometric', azimuth} or {projection:'TopView'}. Also: sun, style (3D style name), styleSettings (shading/hidden line, shadows...), windowSize, stories range, elementTypes filter, cutPlanes. Opens the 3D window unless open3D is false. Returns {changed, camera {verified, warning?} (perspective) | axonometric {viewMatrixChanged, warning?}, projection, window}. Follow with capture_view to see the result.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sunNoSun position for shading/shadows (sets 'given by angles')
modeNoProjection mode. Default: perspective when camera/target/viewCone/roll/distance are given, axonometric when projection/tranmat are given, otherwise the current mode
rollNoPerspective camera roll in degrees (0 = level horizon)
styleNo3D style name to make current (localized; see get_3d_view style.available)
cameraNoPerspective: camera (eye) position in m, z = absolute elevation (e.g. 1.6 above a story level for eye height)
open3DNoBring the 3D window to the front afterwards (default true)
targetNoPerspective: point the camera looks at (m). With azimuth/altitude it is the orbit center (default: center of the model)
azimuthNoDegrees CCW from +X (east; 90 = north). Perspective orbit: direction FROM the target TO the camera, e.g. 225 = camera south-west of the model looking north-east. Axonometric: the camera azimuth of the parallel projection
storiesNo3D story range filter (Filter and Cut Elements in 3D)
tranmatNoAxonometric: raw 3x4 view matrix (row-major, as returned by get_3d_view) — copy it from a view you liked
altitudeNoDegrees above the horizon of the view direction's source: perspective orbit camera elevation angle (default 30); axonometric: makes a free 'Parallel' view from that elevation (experimental)
distanceNoPerspective orbit: camera–target distance in m (default: the whole model fits in view)
viewConeNoPerspective field of view in degrees (default: current or 60; 35-50 = natural, 70-90 = wide interior shots)
cutPlanesNo3D cutting planes
projectionNoAxonometric (parallel) projection preset. TopView = plan from above, FrontView/SideView = elevations, Isometric/Dimetric/Monometric/Frontal = classic axonometries (rotated by azimuth), *Bottom = seen from below, Parallel = free parallel view (use with azimuth + altitude)
windowSizeNoSize of the 3D window image in pixels (persists; capture_view width/height changes it only temporarily)
elementTypesNoShow only these element types in 3D, e.g. ['Wall','Slab','Roof','Column'] (type names as in get_supported_element_types), or ['all']
styleSettingsNoEdits the CURRENT 3D style definition (applied after 'style'; affects every view using that style), e.g. {model:'HiddenLine'} for a line drawing or {model:'Shading', sunShadows:'AllSurfacesContoursOn'}. Current values: get_3d_view style
twoPointPerspectiveNoPerspective: keep vertical lines vertical (2-point perspective)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare the safety profile (non-read-only, idempotent, non-destructive); the description goes well beyond by disclosing that the 3D window opens unless open3D is false, that windowSize persists while capture_view sizing is temporary, and that styleSettings edits the shared 3D style definition affecting every view using it. It also describes the return payload including camera verification and warning fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the easiest use case first and then layers the exact-camera and axonometric variants, so the most likely path is read first. It is dense and telegraphic with fragment-style clauses, which is efficient but slightly tiring; nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 19-parameter tool with nested objects and no output schema, the description compensates by naming the main parameter groups (sun, style, styleSettings, windowSize, stories, elementTypes, cutPlanes) and spelling out the return shape, giving the agent enough to call it correctly without opening every subschema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds real value by presenting ready-to-use argument combinations (perspective with azimuth/altitude, camera+target+viewCone, axonometric with projection) that show how parameters interact. It does not, however, explain every parameter beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Sets up the 3D window') and immediately distinguishes itself from siblings by showing concrete invocation shapes for the three main camera modes. An agent can tell this apart from get_3d_view, show_in_3d, and capture_view without inspecting schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit usage recipes ('Easiest overview', 'Exact camera', 'Axonometry') and directs the agent to follow up with capture_view to verify. It doesn't explicitly state when NOT to use it versus show_in_3d or get_3d_view, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools