Aller au contenu principal

Auto-generated from the oblikovati.org/api/client Go source. Do not edit here.

client

import "oblikovati.org/api/client"

Package client is the typed automation client add-ins use to drive a running Oblikovati host. It marshals oblikovati.org/api/wire DTOs onto a caller-supplied [Transport] (the add-in backs it with the host's C-ABI ObkHostCall — see include/oblikovati_addin.h) and unmarshals the replies.

This is the out-of-runtime path: an add-in links only the Apache-2.0 /api module and never the GPL implementation, so a closed-source add-in stays decoupled from /source both legally and at the ABI (the only thing crossing the boundary is JSON, per ADR-0016).

Index

func AddFeature

func AddFeature[A featureargs.Arg](f Features, a A) (json.RawMessage, error)

AddFeature creates a feature from a typed, compile-checked argument struct instead of a hand-assembled raw-JSON blob (the house rule "never reach the host with raw JSON"; ADR-0018, #1616). It marshals the struct, tags the envelope from its own [featureargs.Arg.Kind], and sends it through Features.Add; the result shape is operation-specific, so it is returned as raw JSON for the caller to decode (as with Add).

A method cannot carry its own type parameter in Go, so this is a free function over the Features group rather than a method — one generic constructor keyed on the arg type, not one hand-written method per kind (which would re-create the duplication this removes):

_, err := client.AddFeature(c.Features(), featureargs.Extrude{SketchIndex: 0, Distance: "50 mm"})

func PanelButton

func PanelButton(id, text, commandID string) wire.PanelControlSpec

PanelButton runs commandID when clicked.

func PanelCheckBox

func PanelCheckBox(id, text string, checked bool) wire.PanelControlSpec

PanelCheckBox is a boolean toggle.

func PanelComboBox

func PanelComboBox(id, text string, options []string, value string) wire.PanelControlSpec

PanelComboBox is an editable dropdown (pick from options or type a value).

func PanelDropdown

func PanelDropdown(id, text string, options []string, selected string) wire.PanelControlSpec

PanelDropdown selects one of options (selected is the current choice).

func PanelGrid

func PanelGrid(id string, columns []types.GridTrack, colGap, rowGap float64, children ...wire.PanelControlSpec) wire.PanelControlSpec

PanelGrid is a grid container: columns are the column tracks, colGap/rowGap the px spacing, children the cells. Children with no Cell auto-flow left-to-right, wrapping at len(columns); use PlaceAt to span or position a child explicitly.

Example: a two-column form is

PanelGrid("form", []types.GridTrack{TrackAuto(), TrackFr(1)}, 6, 4,
PanelLabel("l", "Start depth"), PanelTextBox("start", "", "0"))

func PanelGroup

func PanelGroup(id, title string, children ...wire.PanelControlSpec) wire.PanelControlSpec

PanelGroup is a titled box that stacks its children vertically (the QGroupBox of this vocabulary). As a tabs child, title doubles as the tab caption.

func PanelLabel

func PanelLabel(id, text string) wire.PanelControlSpec

PanelLabel is a static text row.

func PanelReferenceList

func PanelReferenceList(id, text string, accepts []string, rows []wire.PanelReferenceRow) wire.PanelControlSpec

PanelReferenceList builds a geometry reference-list control: rows are the current picked refs; accepts limits which host selection kinds Add may append ("face"/"edge"/"vertex"; empty = any). Row edits arrive as a wire.PanelReferencesChangedEvent, not the scalar value event.

func PanelSeparator

func PanelSeparator() wire.PanelControlSpec

PanelSeparator is a horizontal rule.

func PanelSlider

func PanelSlider(id, text string, value, min, max, step float64) wire.PanelControlSpec

PanelSlider is a bounded numeric slider over [min,max] stepping by step.

func PanelTab

func PanelTab(title string, content ...wire.PanelControlSpec) wire.PanelControlSpec

PanelTab is one pane for PanelTabs: a group titled title stacking content.

func PanelTabs

func PanelTabs(id string, panes ...wire.PanelControlSpec) wire.PanelControlSpec

PanelTabs is a tab strip; each pane is a container child whose Title is its tab caption. Build panes with PanelTab, or pass any titled container.

func PanelTextBox

func PanelTextBox(id, text, value string) wire.PanelControlSpec

PanelTextBox is a single-line text field labelled text with the current value.

func PanelValueEditor

func PanelValueEditor(id, text, value string) wire.PanelControlSpec

PanelValueEditor is a unit-bearing numeric field (value is a unit expression, e.g. "46.7 mm") — the parametric-driver input.

func PlaceAt

func PlaceAt(control wire.PanelControlSpec, col, colSpan int) wire.PanelControlSpec

PlaceAt stamps an explicit grid placement on a child: column col, spanning colSpan columns. Without it a child auto-flows into the next free cell.

func TrackAuto

func TrackAuto() types.GridTrack

TrackAuto sizes a column to its content.

func TrackFixed

func TrackFixed(px float64) types.GridTrack

TrackFixed sizes a column to exactly px pixels.

func TrackFr

func TrackFr(weight float64) types.GridTrack

TrackFr sizes a column to weight shares of the leftover space (CSS "fr").

func TrackMinMax

func TrackMinMax(base types.GridTrack, minPx, maxPx float64) types.GridTrack

TrackMinMax clamps a base track's resolved width to [minPx, maxPx] (CSS minmax()). A zero bound means unset, e.g. TrackMinMax(TrackFr(1), 80, 0) only enforces a floor.

type AddIns

AddIns is the add-in registry operation group — the ApplicationAddIns equivalent: enumerate what is installed, drive the activate/deactivate lifecycle, persist load behavior, and reach another add-in's automation surface.

type AddIns struct {
// contains filtered or unexported fields
}

func (AddIns) Activate

func (a AddIns) Activate(id string) (wire.OKResult, error)

Activate runs the add-in's activation (a no-op if it is already active). It fails for an add-in whose load behavior is LoadDisabled.

mcp:tool addins_activate mcp:summary Runs the add-in's activation (a no-op if it is already active).

func (AddIns) CallAutomation

func (a AddIns) CallAutomation(id, method string, args json.RawMessage) (json.RawMessage, error)

CallAutomation invokes a method on another add-in's automation surface (ApplicationAddIn.Automation) and returns its opaque JSON reply.

out, _ := client.AddIns().CallAutomation("com.example.solver", "solve", json.RawMessage(`{"n":3}`))

mcp:tool addins_call_automation mcp:summary Invokes a method on another add-in's automation surface (ApplicationAddIn.Automation) and returns its opaque JSON reply.

func (AddIns) Deactivate

func (a AddIns) Deactivate(id string) (wire.OKResult, error)

Deactivate runs the add-in's shutdown (a no-op if it is not active).

mcp:tool addins_deactivate mcp:summary Runs the add-in's shutdown (a no-op if it is not active).

func (AddIns) Get

func (a AddIns) Get(id string) (wire.AddInInfo, error)

Get returns one registry entry by add-in id.

mcp:tool addins_get mcp:summary Returns one registry entry by add-in id.

func (AddIns) List

func (a AddIns) List() (wire.ListAddInsResult, error)

List returns every registered add-in with its manifest identity and runtime state.

for _, a := range mustList(client.AddIns().List()).AddIns { fmt.Println(a.ID, a.Activated) }

mcp:tool addins_list mcp:summary Returns every registered add-in with its manifest identity and runtime state.

func (AddIns) SetLoadBehavior

func (a AddIns) SetLoadBehavior(id string, b types.AddInLoadBehavior) (wire.OKResult, error)

SetLoadBehavior persists when the host activates the add-in on future startups.

mcp:tool addins_set_load_behavior mcp:summary Persists when the host activates the add-in on future startups.

type Analysis

Analysis is the analysis operation group.

type Analysis struct {
// contains filtered or unexported fields
}

func (Analysis) MassProperties

func (a Analysis) MassProperties(args wire.MassPropertiesArgs) (wire.MassPropertiesResult, error)

MassProperties computes the active part's mass properties (volume, surface area, centre of mass, mass) for the given material density.

mcp:tool analysis_mass_properties mcp:summary Compute the active part's mass properties over all its solid bodies — volume (mm³), surface area (mm²), centre of mass (mm), mass (g), and mass moment of inertia about the centroid (g·mm²) with principal moments/axes. densityGCm3 overrides the material density (0 ⇒ the assigned material's, else 1.0); accuracy is low|medium|high.

func (Analysis) Measure

func (a Analysis) Measure(args wire.MeasureArgs) (wire.MeasureResult, error)

Measure reports a geometric quantity of one or two of the active part's entities.

mcp:tool analysis_measure mcp:summary Measure an entity of the active part's body (bodyIndex) by reference key: type "length" (edge keyA), "area" (face keyA), "distance" (between vertices keyA and keyB), "minDistance" (closest approach between two entities keyA and keyB, each a vertex/edge/face), "angle" (between two entities keyA and keyB, an edge direction or planar-face normal; or with keyC, the angle at apex vertex keyB between vertices keyA and keyC), or "loopLength" (the perimeter of face keyA). Returns the value with its unit (mm, mm² or deg).

func (Analysis) ModelHealth

func (a Analysis) ModelHealth(args wire.ModelHealthArgs) (wire.ModelHealthResult, error)

ModelHealth aggregates the active part's feature health — the overall status, the sick count, and every feature that is not OK.

mcp:tool analysis_model_health mcp:summary Aggregate the active part's model health: the overall (worst) status across its features, the count of sick features, and every feature that is not "ok" (with its status and reason) so they can be listed for repair.

type Appearances

Appearances is the appearance operation group: list/read the PBR appearances available to the active document and create/edit custom ones.

type Appearances struct {
// contains filtered or unexported fields
}

func (Appearances) Assign

func (a Appearances) Assign(args wire.AssignAppearanceArgs) (wire.OKResult, error)

Assign overrides the appearance at a scope ("part", "body", or "face"); Key is the hex reference key of the target (empty for the part default).

mcp:tool assign_appearance mcp:summary Assign an appearance to the active part (or a selected body).

func (Appearances) Create

func (a Appearances) Create(args wire.DuplicateAssetArgs) (wire.AppearanceInfo, error)

Create duplicates an existing appearance into a new editable one under name.

mcp:tool create_appearance mcp:summary Duplicate an existing appearance into a new editable one under a name.

func (Appearances) Get

func (a Appearances) Get(id string) (wire.AppearanceInfo, error)

Get returns one appearance by id.

mcp:tool get_appearance mcp:summary Get one appearance by id.

func (Appearances) List

func (a Appearances) List() (wire.ListAppearancesResult, error)

List returns every appearance available to the active document (built-in, project, and document-embedded).

mcp:tool list_appearances mcp:summary List the document's appearances (visual styles). mcp:digest summarizeAppearances

func (Appearances) Update

func (a Appearances) Update(info wire.AppearanceInfo) (wire.AppearanceInfo, error)

Update writes the editable fields of an appearance (by its id) and returns the result.

mcp:tool update_appearance mcp:summary Update an appearance's editable fields (identified by its id).

type Application

Application is the host-application info operation group: read-only facts an add-in can query about the running host. It is the ThisApplication equivalent for the version surface — distinct from the add-in registry (see Client.AddIns).

type Application struct {
// contains filtered or unexported fields
}

func (Application) ApiVersion

func (g Application) ApiVersion() (wire.ApplicationApiVersionResult, error)

ApiVersion returns the semantic version of the api contract the running host implements. The load-time handshake already guarantees the major matches, so an add-in uses this only to adapt to minor/patch differences within that major.

v, _ := client.Application().ApiVersion()
if v.Major == 0 { /* pre-1.0: surface MAY change between minors */ }

mcp:tool application_api_version mcp:summary Returns the semantic version (version string + major) of the Oblikovati API contract the running host implements.

type Assembly

Assembly is the assembly derive/shrinkwrap operation group (M11-F06, Oblikovati/Oblikovati#631/#716): pull a source assembly into the active part as a base body — optionally simplified — and break the link to freeze it. Each create returns the new feature's detail; break-link returns the refreshed detail.

type Assembly struct {
// contains filtered or unexported fields
}

func (Assembly) BOMExport

func (a Assembly) BOMExport(args wire.BOMExportArgs) (wire.BOMExportResult, error)

BOMExport exports the given view to CSV, adding a column for each named component property beyond the standard set, e.g. BOMExport(wire.BOMExportArgs{View: types.BOMStructured, Columns: []string{"Material"}}).

mcp:tool assembly_bom_export mcp:summary Exports the given view to CSV, adding a column for each named component property beyond the standard set, e.g.

func (Assembly) BOMView

func (a Assembly) BOMView(view types.BOMViewKind) (wire.BOMViewResult, error)

BOMView reads the given view of the active assembly's BOM, e.g. BOMView(types.BOMPartsOnly).

mcp:tool assembly_bom_view mcp:summary Reads the given view of the active assembly's BOM, e.g.

func (Assembly) Copy

func (a Assembly) Copy(sources ...uint64) (wire.NewOccurrencesResult, error)

Copy adds an independent copy of each source occurrence, e.g. Copy(id1, id2).

mcp:tool assembly_copy mcp:summary Adds an independent copy of each source occurrence, e.g.

func (a Assembly) DeriveBreakLink(id uint64) (wire.FeatureDetailResult, error)

DeriveBreakLink freezes and severs the source link of the derived-assembly or shrinkwrap feature with the given id, e.g. DeriveBreakLink(featureID).

mcp:tool assembly_derive_break_link mcp:summary Freezes and severs the source link of the derived-assembly or shrinkwrap feature with the given id, e.g.

func (Assembly) DeriveCreate

func (a Assembly) DeriveCreate(source uint64) (wire.FeatureDetailResult, error)

DeriveCreate derives the open assembly document source into the active part as a base body, e.g. DeriveCreate(assemblyDocID).

mcp:tool assembly_derive_create mcp:summary Derives the open assembly document source into the active part as a base body, e.g.

func (Assembly) DeriveStatus

func (a Assembly) DeriveStatus(id uint64) (wire.DeriveStatusResult, error)

DeriveStatus reports whether the derive feature with the given id is out of date relative to its source document (its drive state), e.g. DeriveStatus(featureID).

mcp:tool assembly_derive_status mcp:summary Reports whether the derive feature with the given id is out of date relative to its source document (its drive state), e.g.

func (Assembly) DeriveUpdate

func (a Assembly) DeriveUpdate(id uint64) (wire.DeriveStatusResult, error)

DeriveUpdate re-syncs the derive feature with the given id to its source's current revision, clearing its out-of-date state, e.g. DeriveUpdate(featureID).

mcp:tool assembly_derive_update mcp:summary Re-syncs the derive feature with the given id to its source's current revision, clearing its out-of-date state, e.g.

func (Assembly) Ground

func (a Assembly) Ground(id uint64, grounded bool) (wire.OccurrenceResult, error)

Ground fixes or releases the occurrence in space, e.g. Ground(id, true).

mcp:tool ground_occurrence mcp:summary Fix (grounded:true) or release (grounded:false) an occurrence (id) in the assembly's space.

func (Assembly) Mirror

func (a Assembly) Mirror(args wire.MirrorComponentsArgs) (wire.NewOccurrencesResult, error)

Mirror adds a mirror of each source occurrence across the plane (origin, normal), e.g. Mirror(wire.MirrorComponentsArgs{Sources: []uint64{id}, Normal: [3]float64{1, 0, 0}}).

mcp:tool assembly_mirror mcp:summary Adds a mirror of each source occurrence across the plane (origin, normal), e.g.

func (Assembly) MirrorIntoPart

func (a Assembly) MirrorIntoPart(args wire.MirrorIntoPartArgs) (wire.NewOccurrencesResult, error)

MirrorIntoPart mirrors each source occurrence into a NEW opposite-hand part document and places it, e.g. MirrorIntoPart(wire.MirrorIntoPartArgs{Sources: []uint64{id}, Normal: [3]float64{1, 0, 0}}).

mcp:tool assembly_mirror_into_part mcp:summary Mirrors each source occurrence into a NEW opposite-hand part document and places it, e.g.

func (Assembly) Occurrences

func (a Assembly) Occurrences() (wire.OccurrencesResult, error)

Occurrences returns the active assembly's occurrence tree.

mcp:tool list_occurrences mcp:summary Read the active assembly's occurrence tree: each placed component with its id, name, 4×4 placement transform, state flags (suppressed/grounded/adaptive/substitute), and nested children. The ids address the other assembly tools.

func (Assembly) PatternCreate

func (a Assembly) PatternCreate(args wire.CreatePatternArgs) (wire.NewOccurrencesResult, error)

PatternCreate replicates the seed occurrence across an arrangement, e.g. a 4-up circular pattern: PatternCreate(wire.CreatePatternArgs{Seed: id, Kind: "circular", Axis: [3]float64{0, 0, 1}, Angle: math.Pi / 2, Count: 4}).

mcp:tool assembly_pattern_create mcp:summary Replicates the seed occurrence across an arrangement, e.g.

func (Assembly) Place

func (a Assembly) Place(args wire.PlaceOccurrenceArgs) (wire.OccurrenceResult, error)

Place places the component held by the open document (by id) into the active assembly, e.g. Place(wire.PlaceOccurrenceArgs{Document: docID, Name: "pin:1", Transform: t}).

mcp:tool place_component mcp:summary Place an open document (document: the id from list_documents — an open part or assembly) as a component in the active assembly, under name, at a row-major 4×4 transform (16 cells in assembly space; the identity [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] drops it at the origin). Returns the new occurrence. mcp:input placeComponentArg

func (Assembly) PlaceByDefinition

func (a Assembly) PlaceByDefinition(args wire.PlaceByDefinitionArgs) (wire.OccurrenceResult, error)

PlaceByDefinition places another instance of the component that the source occurrence already instances, e.g. PlaceByDefinition(wire.PlaceByDefinitionArgs{Source: occID, Name: "pin:2", Transform: t}).

mcp:tool place_component_copy mcp:summary Place another instance of the component an existing occurrence (source: its id) already instances, under name at a 16-cell row-major transform — reuses the shared component definition without re-resolving a document. mcp:input placeComponentCopyArg

func (Assembly) PlaceByDefinitionBatch

func (a Assembly) PlaceByDefinitionBatch(args wire.PlaceByDefinitionBatchArgs) (wire.PlaceByDefinitionBatchResult, error)

PlaceByDefinitionBatch places many instances of the component an existing occurrence already instances, in ONE call, e.g. PlaceByDefinitionBatch(wire.PlaceByDefinitionBatchArgs{Source: occID, Placements: []wire.BatchPlacement{{Name: "pin:2", Transform: t2}, {Name: "pin:3", Transform: t3}}}). For a large assembly this is far faster than PlaceByDefinition in a loop: a live host recomputes once for the whole batch instead of once per copy.

mcp:tool place_component_copies mcp:summary Place MANY instances of the component an existing occurrence (source: its id) already instances, in one call — placements is a list of {name, transform (16-cell row-major)}. Far faster than place_component_copy per copy for a large assembly (one recompute, not one per placement). Returns the new occurrences in order. mcp:input placeComponentCopiesArg

func (Assembly) Remove

func (a Assembly) Remove(id uint64) (wire.OccurrencesResult, error)

Remove deletes the occurrence and returns the refreshed tree, e.g. Remove(id).

mcp:tool remove_occurrence mcp:summary Delete an occurrence (id) from the active assembly. Returns the remaining occurrence tree.

func (Assembly) Replace

func (a Assembly) Replace(id, document uint64) (wire.OccurrenceResult, error)

Replace swaps the occurrence's component for the one held by the open document (by id), keeping the occurrence's id/name/transform/state, e.g. Replace(occID, docID).

mcp:tool replace_occurrence mcp:summary Swap the component of an occurrence (id) for the one held by an open document (document: its id), keeping the occurrence's id, name, transform, and state — the replace-component operation.

func (Assembly) SetFlexible

func (a Assembly) SetFlexible(id uint64, flexible bool) (wire.OccurrenceResult, error)

SetFlexible marks a subassembly occurrence flexible (it solves independently per placement) or rigid, e.g. SetFlexible(id, true).

mcp:tool set_flexible_occurrence mcp:summary Mark a subassembly occurrence (id) flexible (flexible:true — its components solve independently per placement of the shared definition) or rigid. Mutually exclusive with adaptive; only a subassembly occurrence can be flexible (M12-F06).

func (Assembly) SetFlexibleChild

func (a Assembly) SetFlexibleChild(args wire.SetFlexibleChildArgs) (wire.OccurrenceResult, error)

SetFlexibleChild positions a child component within a flexible subassembly occurrence independently of the subassembly's other placements (M12-F06 independent solve), e.g. SetFlexibleChild(wire.SetFlexibleChildArgs{Occurrence: id, Child: "arm:1", Transform: m}).

mcp:tool set_flexible_child mcp:summary Position a child component (child: its instance name) within a flexible subassembly occurrence (occurrence id) to a row-major 4×4 transform (16 cells) — independently of the subassembly's other placements. The occurrence must be flexible. Returns the occurrence's refreshed info. mcp:input setFlexibleChildArg

func (Assembly) ShrinkwrapCreate

func (a Assembly) ShrinkwrapCreate(args wire.ShrinkwrapCreateArgs) (wire.FeatureDetailResult, error)

ShrinkwrapCreate derives the open assembly document into the active part as a simplified, lightweight base body per the given removal/envelope options, e.g. ShrinkwrapCreate(wire.ShrinkwrapCreateArgs{Source: id, EnvelopeStyle: types.EnvelopeWhole}).

mcp:tool assembly_shrinkwrap_create mcp:summary Derives the open assembly document into the active part as a simplified, lightweight base body per the given removal/envelope options, e.g.

func (Assembly) Substitute

func (a Assembly) Substitute(args wire.SubstituteComponentsArgs) (wire.OccurrenceResult, error)

Substitute suppresses the source occurrences and adds one occurrence instancing the simplified component held by the open document, e.g. Substitute(wire.SubstituteComponentsArgs{Sources: ids, Document: docID, Name: "lod:1", Transform: t}).

mcp:tool assembly_substitute mcp:summary Suppresses the source occurrences and adds one occurrence instancing the simplified component held by the open document, e.g.

func (Assembly) Suppress

func (a Assembly) Suppress(id uint64, suppressed bool) (wire.OccurrenceResult, error)

Suppress excludes or restores the occurrence from the model, e.g. Suppress(id, true).

mcp:tool suppress_occurrence mcp:summary Exclude (suppressed:true) or restore (suppressed:false) an occurrence (id) from/to the model.

func (Assembly) Transform

func (a Assembly) Transform(args wire.TransformOccurrenceArgs) (wire.OccurrenceResult, error)

Transform repositions the occurrence, e.g. Transform(wire.TransformOccurrenceArgs{ID: id, Transform: t}).

mcp:tool transform_occurrence mcp:summary Reposition an occurrence (id) to a new row-major 4×4 transform (16 cells) in the assembly's space. Returns the occurrence's refreshed info. mcp:input transformOccurrenceArg

type AssemblyConstraints

AssemblyConstraints is the assembly constraint operation group (M12-F01, Oblikovati/Oblikovati#358/#363): add the relationships that position one occurrence relative to another, set their limits, delete them, solve the active assembly, and read its health and per-occurrence degrees of freedom. Each add returns the new constraint's info after the assembly re-solves; solve and health return the assembly health report.

type AssemblyConstraints struct {
// contains filtered or unexported fields
}

func (AssemblyConstraints) AddAngle

func (a AssemblyConstraints) AddAngle(args wire.AddAngleArgs) (wire.ConstraintResult, error)

AddAngle holds an angle (radians) between directions A and B, e.g. AddAngle(wire.AddAngleArgs{A: faceA, B: faceB, Angle: math.Pi / 2}).

mcp:tool add_angle_constraint mcp:summary Hold angle (radians) between two component directions. solution "undirected" (default), "directed", or "reference-vector". Solves and returns the constraint.

func (AssemblyConstraints) AddCustom

func (a AssemblyConstraints) AddCustom(args wire.AddCustomArgs) (wire.ConstraintResult, error)

AddCustom registers a relationship between A and B solved by the add-in named Kind, e.g. AddCustom(wire.AddCustomArgs{A: a, B: b, Kind: "cam-profile", Params: []float64{1, 2}}).

mcp:tool add_custom_constraint mcp:summary Register a relationship solved by an add-in (kind names it, params drive it). The built-in solver leaves it free unless that add-in solver is installed. Returns the constraint.

func (AssemblyConstraints) AddFlush

func (a AssemblyConstraints) AddFlush(args wire.AddFlushArgs) (wire.ConstraintResult, error)

AddFlush makes faces A and B co-planar at an offset, e.g. AddFlush(wire.AddFlushArgs{A: faceA, B: faceB}).

mcp:tool add_flush_constraint mcp:summary Make two component faces co-planar (normals aligned) at offset (cm). Solves and returns the constraint.

func (AssemblyConstraints) AddInsert

func (a AssemblyConstraints) AddInsert(args wire.AddInsertArgs) (wire.ConstraintResult, error)

AddInsert combines an axis mate and a plane mate at an offset (a bolt into a hole), e.g. AddInsert(wire.AddInsertArgs{A: holeA, B: shaftB, Offset: 0}).

mcp:tool add_insert_constraint mcp:summary Insert: collinear axes plus a plane mate at offset (cm) — a bolt into a hole. aligned:true uses the aligned plane sense; default is opposed. Solves and returns the constraint.

func (AssemblyConstraints) AddMate

func (a AssemblyConstraints) AddMate(args wire.AddMateArgs) (wire.ConstraintResult, error)

AddMate makes geometry A coincident with geometry B at an offset, e.g. AddMate(wire.AddMateArgs{A: faceA, B: faceB, Offset: 0}).

mcp:tool add_mate_constraint mcp:summary Mate two component geometries (each: occurrence id + entity reference key) coincident at offset (cm). solution "opposed" (default) faces normals at each other, "aligned" matches a flush. Solves and returns the constraint.

func (AssemblyConstraints) AddRotateRotate

func (a AssemblyConstraints) AddRotateRotate(args wire.AddRotateRotateArgs) (wire.ConstraintResult, error)

AddRotateRotate couples two rotations by a gear ratio, e.g. AddRotateRotate(wire.AddRotateRotateArgs{A: gearA, B: gearB, Ratio: 2}).

mcp:tool add_rotate_rotate_constraint mcp:summary Couple two rotation axes by gear ratio (revolutions of B per revolution of A). Solves and returns the constraint.

func (AssemblyConstraints) AddRotateTranslate

func (a AssemblyConstraints) AddRotateTranslate(args wire.AddRotateTranslateArgs) (wire.ConstraintResult, error)

AddRotateTranslate couples a rotation to a translation (rack and pinion), e.g. AddRotateTranslate(wire.AddRotateTranslateArgs{A: pinion, B: rack, Distance: 6.28}).

mcp:tool add_rotate_translate_constraint mcp:summary Couple a rotation axis to a translation axis by distance moved per revolution (cm) — rack and pinion. Solves and returns the constraint.

func (AssemblyConstraints) AddSymmetry

func (a AssemblyConstraints) AddSymmetry(args wire.AddSymmetryArgs) (wire.ConstraintResult, error)

AddSymmetry positions A and B symmetrically about a plane, e.g. AddSymmetry(wire.AddSymmetryArgs{A: faceA, B: faceB, Plane: mid}).

mcp:tool add_symmetry_constraint mcp:summary Position two component geometries symmetrically about a plane (a planar face or work-plane reference). Solves and returns the constraint.

func (AssemblyConstraints) AddTangent

func (a AssemblyConstraints) AddTangent(args wire.AddTangentArgs) (wire.ConstraintResult, error)

AddTangent keeps face A tangent to curved face B, e.g. AddTangent(wire.AddTangentArgs{A: planeA, B: cylB, Inside: false}).

mcp:tool add_tangent_constraint mcp:summary Keep a face tangent to a curved face. inside:true wraps B around A; false is outside tangency. Solves and returns the constraint.

func (AssemblyConstraints) AddTransitional

func (a AssemblyConstraints) AddTransitional(args wire.AddTransitionalArgs) (wire.ConstraintResult, error)

AddTransitional keeps face A in sliding contact with face B, e.g. AddTransitional(wire.AddTransitionalArgs{A: pinFace, B: slotFace}).

mcp:tool add_transitional_constraint mcp:summary Keep a face in sliding contact with a transition face as the component moves (cam/slot). Solves and returns the constraint.

func (AssemblyConstraints) AddTranslateTranslate

func (a AssemblyConstraints) AddTranslateTranslate(args wire.AddTranslateTranslateArgs) (wire.ConstraintResult, error)

AddTranslateTranslate couples two translations by a ratio, e.g. AddTranslateTranslate(wire.AddTranslateTranslateArgs{A: slideA, B: slideB, Ratio: 2}).

mcp:tool add_translate_translate_constraint mcp:summary Couple two translation axes by ratio (distance of B per unit distance of A). Solves and returns the constraint.

func (AssemblyConstraints) Delete

func (a AssemblyConstraints) Delete(id uint64) (wire.ConstraintsResult, error)

Delete removes the constraint and returns the refreshed set, e.g. Delete(id).

mcp:tool delete_assembly_constraint mcp:summary Delete an assembly constraint (id) and re-solve. Returns the remaining constraint set.

func (AssemblyConstraints) Health

func (a AssemblyConstraints) Health() (wire.AssemblyHealthResult, error)

Health returns the active assembly's constraint health and DOF report without re-solving.

mcp:tool assembly_constraint_health mcp:summary Report the active assembly's constraint health: overall status, redundant-constraint count, total remaining degrees of freedom, and the per-occurrence DOF breakdown — without re-solving.

func (AssemblyConstraints) List

func (a AssemblyConstraints) List() (wire.ConstraintsResult, error)

List returns the active assembly's constraint set in creation order.

mcp:tool list_assembly_constraints mcp:summary List the active assembly's constraints: each with id, kind, name, its two geometry inputs (occurrence id + entity reference key), driven value, solution type, limits, and health. The ids address the delete/setLimits tools.

func (AssemblyConstraints) SetLimits

func (a AssemblyConstraints) SetLimits(args wire.SetConstraintLimitsArgs) (wire.ConstraintResult, error)

SetLimits sets (or clears) the driven-value limits of a constraint, e.g. SetLimits(wire.SetConstraintLimitsArgs{ID: id, Limits: wire.ConstraintLimits{HasMax: true, Max: 1}}).

mcp:tool set_constraint_limits mcp:summary Set or clear a constraint's driven-value limits (min/max/resting). Each bound is optional via its has* flag. Returns the updated constraint.

func (AssemblyConstraints) Snap

func (a AssemblyConstraints) Snap(args wire.SnapConstraintArgs) (wire.ConstraintResult, error)

Snap is "grip snap": it infers the assembly constraint that snaps geometry A (on the component to move) onto target geometry B and re-solves, e.g. Snap(wire.SnapConstraintArgs{A: faceA, B: faceB}).

mcp:tool assembly_snap_constrain mcp:summary Grip snap: pick a geometry A on the component to move and a target B on another component; the host infers the constraint that snaps A onto B (planar faces -> mate/flush, cylinder axes -> insert, axis pair -> mate, plane+cylinder -> tangent, point -> coincident), creates it, and re-solves so the part jumps into place. prefer ("mate"|"flush"|"insert"|"tangent") overrides the inference. Returns the created constraint (its type is what was inferred).

func (AssemblyConstraints) Solve

func (a AssemblyConstraints) Solve() (wire.AssemblyHealthResult, error)

Solve re-positions the active assembly's occurrences to satisfy its constraints and returns the resulting health and DOF report.

mcp:tool solve_assembly_constraints mcp:summary Solve the active assembly: reposition occurrences to satisfy the constraints, then report overall health, redundant-constraint count, total remaining degrees of freedom, and per-occurrence DOF.

type AssemblyDrive

AssemblyDrive is the assembly drive operation group (M12-F03, Oblikovati/Oblikovati#366): sweep a joint's driven variable through a range and read back the per-step occurrence placements — the frames of a kinematic motion study. Each step re-solves the assembly with the driven variable pinned; with collision detection the sweep halts at the first interfering frame.

type AssemblyDrive struct {
// contains filtered or unexported fields
}

func (AssemblyDrive) Preview

func (a AssemblyDrive) Preview(args wire.DriveJointArgs) (wire.DriveResult, error)

Preview drives a joint through the given settings and returns the resulting frames, e.g. Preview(wire.DriveJointArgs{Joint: id, Settings: wire.DriveSettingsDTO{Start: 0, End: math.Pi, Step: math.Pi / 18}}).

mcp:tool drive_joint mcp:summary Drive a joint's variable through a range (settings: start, end, step in radians for angular / cm for linear; optional variable angular|linear, repetitionCount, repetitionStartEndStart ping-pong, collisionDetection). Re-solves each step; returns the frames (driven value + occurrence transforms), halting at the first interfering frame when collision detection is on.

type AssemblyFeatures

AssemblyFeatures is the assembly feature-program operation group (M11-F08, Oblikovati/Oblikovati#633/#725): list the machining features authored in the active assembly, add one, edit which occurrences a feature participates on, suppress them in batch, and move the end-of-features rollback marker.

type AssemblyFeatures struct {
// contains filtered or unexported fields
}

func (AssemblyFeatures) Add

func (a AssemblyFeatures) Add(args wire.AddAssemblyFeatureArgs) (wire.AssemblyFeatureResult, error)

Add adds a box-tool cut feature to the active assembly, e.g. Add(wire.AddAssemblyFeatureArgs{ToolMin: [3]float64{0, 0, 0.5}, ToolMax: [3]float64{1, 1, 2}, Operation: "difference"}).

mcp:tool assembly_features_add mcp:summary Adds a box-tool cut feature to the active assembly, e.g.

func (AssemblyFeatures) AddChamfer

func (a AssemblyFeatures) AddChamfer(args wire.AddAssemblyChamferArgs) (wire.AssemblyFeatureResult, error)

AddChamfer chamfers the given component edges by distance on every participant, e.g. AddChamfer(wire.AddAssemblyChamferArgs{Edges: []wire.AssemblyEdgeRef{{Occurrence: o, Edge: key}}, Distance: 2}).

mcp:tool assembly_features_add_chamfer mcp:summary Chamfers the given component edges by distance on every participant, e.g.

func (AssemblyFeatures) AddExtrude

func (a AssemblyFeatures) AddExtrude(args wire.AddAssemblyExtrudeArgs) (wire.AssemblyFeatureResult, error)

AddExtrude extrudes a closed sketch profile (authored on an assembly work plane) into every participant — a profiled pocket ("difference") or boss ("union"). E.g. AddExtrude(wire.AddAssemblyExtrudeArgs{SketchIndex: 0, ProfileIndex: 0, Distance: 6, Operation: "difference"}).

mcp:tool assembly_features_add_extrude mcp:summary Extrudes a closed sketch profile (authored on an assembly work plane) into every participant — a profiled pocket ("difference") or boss ("union").

func (AssemblyFeatures) AddFillet

func (a AssemblyFeatures) AddFillet(args wire.AddAssemblyFilletArgs) (wire.AssemblyFeatureResult, error)

AddFillet rounds the given component edges to radius on every participant, e.g. AddFillet(wire.AddAssemblyFilletArgs{Edges: []wire.AssemblyEdgeRef{{Occurrence: o, Edge: key}}, Radius: 1}).

mcp:tool assembly_features_add_fillet mcp:summary Rounds the given component edges to radius on every participant, e.g.

func (AssemblyFeatures) AddHole

func (a AssemblyFeatures) AddHole(args wire.AddAssemblyHoleArgs) (wire.AssemblyFeatureResult, error)

AddHole drills a hole of the given diameter and depth from center along axis through the active assembly's participants — a parametric kind needing no sketch. E.g. AddHole(wire.AddAssemblyHoleArgs{Center: [3]float64{5, 5, 0}, Axis: [3]float64{0, 0, 1}, Diameter: 6, Depth: 20}).

mcp:tool assembly_features_add_hole mcp:summary Drills a hole of the given diameter and depth from center along axis through the active assembly's participants — a parametric kind needing no sketch.

func (AssemblyFeatures) AddMoveFace

func (a AssemblyFeatures) AddMoveFace(args wire.AddAssemblyMoveFaceArgs) (wire.AssemblyFeatureResult, error)

AddMoveFace translates the given component faces by the vector on every participant, e.g. AddMoveFace(wire.AddAssemblyMoveFaceArgs{Faces: []wire.AssemblyFaceRef{{Occurrence: o, Face: key}}, Translation: [3]float64{0, 0, 1}}).

mcp:tool assembly_features_add_move_face mcp:summary Translates the given component faces by the vector on every participant, e.g.

func (AssemblyFeatures) AddProxyCut

func (a AssemblyFeatures) AddProxyCut(source uint64, operation string) (wire.AssemblyFeatureResult, error)

AddProxyCut adds a feature whose tool is the geometry of the source occurrence, supplied as an occurrence-context proxy and re-resolved each rebuild (associative), so the machining follows the source. E.g. AddProxyCut(sourceOccurrenceID, "difference").

mcp:tool assembly_features_add_proxy_cut mcp:summary Adds a feature whose tool is the geometry of the source occurrence, supplied as an occurrence-context proxy and re-resolved each rebuild (associative), so the machining follows the source.

func (AssemblyFeatures) AddRevolve

func (a AssemblyFeatures) AddRevolve(args wire.AddAssemblyRevolveArgs) (wire.AssemblyFeatureResult, error)

AddRevolve revolves a closed sketch profile (authored on an assembly work plane) about the axis line (origin + direction) into every participant — a turned groove ("difference") or boss ("union"). Angle is radians in (0,2π] (2π is a full turn). E.g. AddRevolve(wire.AddAssemblyRevolveArgs{SketchIndex: 0, ProfileIndex: 0, Origin: [3]float64{0, 0, 0}, Axis: [3]float64{0, 1, 0}, Angle: math.Pi, Operation: "difference"}).

mcp:tool assembly_features_add_revolve mcp:summary Revolves a closed sketch profile (authored on an assembly work plane) about the axis line (origin + direction) into every participant — a turned groove ("difference") or boss ("union").

func (AssemblyFeatures) AddSweep

func (a AssemblyFeatures) AddSweep(args wire.AddAssemblySweepArgs) (wire.AssemblyFeatureResult, error)

AddSweep sweeps an assembly sketch profile along the given polyline path into every participant, e.g. AddSweep(wire.AddAssemblySweepArgs{SketchIndex: 0, ProfileIndex: 0, Path: [][3]float64{{0,0,0},{0,0,1}}, Operation: "difference"}).

mcp:tool assembly_features_add_sweep mcp:summary Sweeps an assembly sketch profile along the given polyline path into every participant, e.g.

func (AssemblyFeatures) Edit

func (a AssemblyFeatures) Edit(id uint64, scalars []wire.ScalarEdit) (wire.AssemblyFeatureResult, error)

Edit sets editable scalars of assembly feature id in place and returns the refreshed feature, e.g. Edit(3, []wire.ScalarEdit{{Index: 0, Value: "8 mm"}}) to deepen a pocket. Scalar indices come from the feature's Scalars; the whole batch is validated before any is applied.

mcp:tool assembly_features_edit mcp:summary Sets editable scalars of assembly feature id in place and returns the refreshed feature, e.g.

func (AssemblyFeatures) GetEndOfFeatures

func (a AssemblyFeatures) GetEndOfFeatures() (wire.EndOfFeaturesResult, error)

GetEndOfFeatures returns the active assembly's end-of-features marker state.

mcp:tool assembly_get_end_of_features mcp:summary Returns the active assembly's end-of-features marker state.

func (AssemblyFeatures) List

func (a AssemblyFeatures) List() (wire.AssemblyFeaturesResult, error)

List returns the active assembly's feature program and rollback-marker state.

mcp:tool assembly_features_list mcp:summary Returns the active assembly's feature program and rollback-marker state.

func (AssemblyFeatures) SetEndOfFeatures

func (a AssemblyFeatures) SetEndOfFeatures(position int) (wire.AssemblyFeaturesResult, error)

SetEndOfFeatures moves the marker to position (negative restores it to the end) and returns the refreshed program, e.g. SetEndOfFeatures(1).

mcp:tool assembly_set_end_of_features mcp:summary Moves the marker to position (negative restores it to the end) and returns the refreshed program, e.g.

func (AssemblyFeatures) SetParticipantPaths

func (a AssemblyFeatures) SetParticipantPaths(id uint64, paths [][]string) (wire.AssemblyFeatureResult, error)

SetParticipantPaths restricts a feature to specific nested occurrence paths (each a sequence of instance names, root first), disambiguating a sub-assembly placed more than once; passing no paths clears the restriction. E.g. SetParticipantPaths(featureID, [][]string{{"gearbox:1", "bolt:3"}}).

mcp:tool assembly_features_set_participant_paths mcp:summary Restricts a feature to specific nested occurrence paths (each a sequence of instance names, root first), disambiguating a sub-assembly placed more than once; passing no paths clears the restriction.

func (AssemblyFeatures) SetParticipants

func (a AssemblyFeatures) SetParticipants(id uint64, participants []uint64) (wire.AssemblyFeatureResult, error)

SetParticipants replaces a feature's participation set with the occurrences named by their session ids, e.g. SetParticipants(featureID, []uint64{7, 8}).

mcp:tool assembly_features_set_participants mcp:summary Replaces a feature's participation set with the occurrences named by their session ids, e.g.

func (AssemblyFeatures) SetSuppressed

func (a AssemblyFeatures) SetSuppressed(ids []uint64, suppressed bool) (wire.AssemblyFeaturesResult, error)

SetSuppressed suppresses or unsuppresses the named features in one batch and returns the refreshed program, e.g. SetSuppressed([]uint64{3}, true).

mcp:tool assembly_features_set_suppressed mcp:summary Suppresses or unsuppresses the named features in one batch and returns the refreshed program, e.g.

type AssemblyJoints

AssemblyJoints is the assembly joint operation group (M12-F02, Oblikovati/Oblikovati#359/ #364): author the simplified joints that establish a degree-of-freedom set between two occurrences, set their limits and flip, and delete them. Joints solve together with constraints — use solve_assembly_constraints / assembly_constraint_health to position and report. Each add returns the new joint's info after the assembly re-solves.

type AssemblyJoints struct {
// contains filtered or unexported fields
}

func (AssemblyJoints) AddBall

func (a AssemblyJoints) AddBall(args wire.AddJointArgs) (wire.AssemblyJointResult, error)

AddBall allows three rotations about a common point (3 DOF).

mcp:tool add_ball_joint mcp:summary Add a ball joint — three rotations about a common point (3 DOF) — between two component joint origins. Solves and returns the joint.

func (AssemblyJoints) AddCylindrical

func (a AssemblyJoints) AddCylindrical(args wire.AddJointArgs) (wire.AssemblyJointResult, error)

AddCylindrical allows translation along and rotation about the axis (2 DOF).

mcp:tool add_cylindrical_joint mcp:summary Add a cylindrical joint — translation along and rotation about the joint axis (2 DOF) — between two component joint origins. Solves and returns the joint.

func (AssemblyJoints) AddPlanar

func (a AssemblyJoints) AddPlanar(args wire.AddJointArgs) (wire.AssemblyJointResult, error)

AddPlanar allows two in-plane translations and a rotation about the normal (3 DOF).

mcp:tool add_planar_joint mcp:summary Add a planar joint — two in-plane translations + rotation about the plane normal (3 DOF) — between two component joint origins. Solves and returns the joint.

func (AssemblyJoints) AddRigid

func (a AssemblyJoints) AddRigid(args wire.AddJointArgs) (wire.AssemblyJointResult, error)

AddRigid fixes two components together (0 DOF).

mcp:tool add_rigid_joint mcp:summary Add a rigid joint fixing two components together (0 DOF) at their joint origins (each: occurrence id + entity reference key). Solves and returns the joint.

func (AssemblyJoints) AddRotational

func (a AssemblyJoints) AddRotational(args wire.AddJointArgs) (wire.AssemblyJointResult, error)

AddRotational allows one rotation about the joint axis (1 DOF).

mcp:tool add_rotational_joint mcp:summary Add a rotational joint — one rotation about the joint axis (1 DOF), a hinge — between two component joint origins. flip reverses the facing sense. Solves and returns the joint.

func (AssemblyJoints) AddSlider

func (a AssemblyJoints) AddSlider(args wire.AddJointArgs) (wire.AssemblyJointResult, error)

AddSlider allows one translation along the joint axis (1 DOF).

mcp:tool add_slider_joint mcp:summary Add a slider joint — one translation along the joint axis (1 DOF) — between two component joint origins. Solves and returns the joint.

func (AssemblyJoints) Delete

func (a AssemblyJoints) Delete(id uint64) (wire.AssemblyJointsResult, error)

Delete removes the joint and returns the refreshed set, e.g. Delete(id).

mcp:tool delete_assembly_joint mcp:summary Delete an assembly joint (id) and re-solve. Returns the remaining joint set.

func (AssemblyJoints) List

func (a AssemblyJoints) List() (wire.AssemblyJointsResult, error)

List returns the active assembly's joint set in creation order.

mcp:tool list_assembly_joints mcp:summary List the active assembly's joints: each with id, kind, name, its two joint-origin geometry inputs (occurrence id + entity reference key), flip, free DOF, and limits.

func (AssemblyJoints) SetFlip

func (a AssemblyJoints) SetFlip(id uint64, flip bool) (wire.AssemblyJointResult, error)

SetFlip sets a joint's flip sense, e.g. SetFlip(id, true).

mcp:tool set_joint_flip mcp:summary Flip (flip:true) or unflip a joint's primary-axis sense (which way the components face). Returns the updated joint.

func (AssemblyJoints) SetLimits

func (a AssemblyJoints) SetLimits(args wire.SetJointLimitsArgs) (wire.AssemblyJointResult, error)

SetLimits sets a joint's linear/angular bounds, e.g. SetLimits(wire.SetJointLimitsArgs{ID: id, Limits: wire.JointLimits{HasAngularMax: true, AngularMax: 1.57}}).

mcp:tool set_joint_limits mcp:summary Set a joint's driven-value limits — a linear range (cm) and/or an angular range (radians); each bound optional via its has* flag. Returns the updated joint.

type Attributes

Attributes is the add-in attribute-set operation group (#155): named, typed values an add-in attaches to a document and that persist with it — the sanctioned way to store add-in data and tag the model. An attribute lives in a named set (a namespace, conventionally the add-in id).

type Attributes struct {
// contains filtered or unexported fields
}

func (Attributes) Delete

func (a Attributes) Delete(document uint64, set, name string) (wire.DeleteAttributeResult, error)

Delete removes the named document-scoped attribute in the set, or the whole set when name is empty; the result reports how many attributes were removed.

func (Attributes) DeleteOn

func (a Attributes) DeleteOn(document uint64, target, set, name string) (wire.DeleteAttributeResult, error)

DeleteOn removes the named attribute in the set on the given target (empty = the document itself), or the whole set on that target when name is empty; the result reports how many were removed.

mcp:tool delete_attribute mcp:summary Delete an attribute (or a whole set when name is empty) on a document, optionally anchored to an entity by reference key.

func (Attributes) Find

func (a Attributes) Find(set, name string) (wire.FindByAttributeResult, error)

Find locates the open documents carrying an attribute in set; restrict to a name when non-empty.

mcp:tool find_by_attribute mcp:summary Find the open documents carrying an attribute in a given set (optionally by name).

func (Attributes) Get

func (a Attributes) Get(document uint64, set, name string) (wire.AttributeResult, error)

Get reads one document-scoped attribute by set and name; Found is false when it is absent.

func (Attributes) GetOn

func (a Attributes) GetOn(document uint64, target, set, name string) (wire.AttributeResult, error)

GetOn reads one attribute by set and name on the given target (empty = the document itself); Found is false when it is absent.

mcp:tool get_attribute mcp:summary Read a stored attribute by set and name on a document (optionally anchored to an entity by reference key).

func (Attributes) List

func (a Attributes) List(document uint64, set string) (wire.ListAttributesResult, error)

List returns the document-scoped attributes, or only those in set when set is non-empty.

mcp:tool list_attributes mcp:summary List the document-scoped attributes on a document (optionally filtered to one set).

func (Attributes) ListAll

func (a Attributes) ListAll(document uint64, set string) (wire.ListAttributesResult, error)

ListAll returns every attribute on every target in the document (each result carries its own Target), optionally filtered to one set. Use it to read back all of an add-in's per-entity tags.

func (Attributes) ListOn

func (a Attributes) ListOn(document uint64, target, set string) (wire.ListAttributesResult, error)

ListOn returns the attributes anchored to the given target (empty = the document itself), optionally filtered to one set.

func (Attributes) ListSets

func (a Attributes) ListSets(document uint64) (wire.ListAttributeSetsResult, error)

ListSets returns the document's attribute set names, sorted.

mcp:tool list_attribute_sets mcp:summary List the attribute set names on a document.

func (Attributes) Set

func (a Attributes) Set(document uint64, set, name string, value types.Variant) (wire.AttributeResult, error)

Set creates or replaces the named document-scoped attribute in the set with the typed value.

func (Attributes) SetOn

func (a Attributes) SetOn(document uint64, target, set, name string, value types.Variant) (wire.AttributeResult, error)

SetOn creates or replaces the named attribute in the set on the given target (a body/face/edge reference key from body.list or model.referenceKeys; empty target = the document itself) with the typed value. Anchoring by reference key lets the tag survive recompute.

mcp:tool set_attribute mcp:summary Store a typed value under a name in a named set on a document, optionally anchored to an entity by reference key.

type Body

Body is the solid-body topology and query method group (M07-F03/F06/F07, Oblikovati/Oblikovati#293/#629/#630).

type Body struct {
// contains filtered or unexported fields
}

func (Body) BindTransientKey

func (b Body) BindTransientKey(bodyIndex int, transientKey uint64) (wire.BindTransientKeyResult, error)

BindTransientKey resolves a session transient key back to its entity.

mcp:tool body_bind_transient_key mcp:summary Resolves a session transient key back to its entity.

func (Body) CalculateFacets

func (b Body) CalculateFacets(args wire.CalculateFacetsArgs) (wire.FacetSetResult, error)

CalculateFacets facets the body at the tolerance (cached under it).

mcp:tool body_calculate_facets mcp:summary Facets the body at the tolerance (cached under it).

func (Body) CalculateStrokes

func (b Body) CalculateStrokes(bodyIndex int, tolerance float64) (wire.StrokeSetResult, error)

CalculateStrokes samples the body's edges at the tolerance (cached).

mcp:tool body_calculate_strokes mcp:summary Samples the body's edges at the tolerance (cached).

func (Body) ConvexityEdges

func (b Body) ConvexityEdges(bodyIndex int, collection types.EdgeCollectionKind) (wire.ConvexityEdgesResult, error)

ConvexityEdges returns the body's edges of the requested dihedral class.

mcp:tool body_convexity_edges mcp:summary Returns the body's edges of the requested dihedral class.

func (Body) Delete

func (b Body) Delete(index int) (wire.BodyListResult, error)

Delete removes the body at index (from List) from the active part, returning the refreshed body list (#1078).

mcp:tool body_delete mcp:summary Delete one body of the active part by index, returning the refreshed body list.

func (Body) ExistingFacets

func (b Body) ExistingFacets(bodyIndex int, tolerance float64) (wire.FacetSetResult, error)

ExistingFacets retrieves a previously calculated facet set without re-faceting (errors when no set exists at the tolerance).

mcp:tool body_existing_facets mcp:summary Retrieves a previously calculated facet set without re-faceting (errors when no set exists at the tolerance).

func (Body) ExistingStrokes

func (b Body) ExistingStrokes(bodyIndex int, tolerance float64) (wire.StrokeSetResult, error)

ExistingStrokes retrieves a previously calculated stroke set.

mcp:tool body_existing_strokes mcp:summary Retrieves a previously calculated stroke set.

func (Body) FaceCalculateFacets

func (b Body) FaceCalculateFacets(args wire.FaceFacetsArgs) (wire.FacetSetResult, error)

FaceCalculateFacets facets one face (riding the body's tolerance cache).

mcp:tool face_calculate_facets mcp:summary Facets one face (riding the body's tolerance cache).

func (Body) FaceCalculateStrokes

func (b Body) FaceCalculateStrokes(args wire.FaceFacetsArgs) (wire.StrokeSetResult, error)

FaceCalculateStrokes samples one face's boundary edges.

mcp:tool face_calculate_strokes mcp:summary Samples one face's boundary edges.

func (Body) FaceEvaluate

func (b Body) FaceEvaluate(args wire.FaceEvaluateArgs) (wire.FaceEvaluateResult, error)

FaceEvaluate batch-evaluates one face's surface (point/normal/tangents at given (u,v) parameters, or the projection of given points onto the face), addressed by reference key. The mode selects the query (see the wire.FaceEval* constants); inputs and the populated result arrays are flat and parallel. Lengths are database units (cm); normals are unit vectors. It is the out-of-process query a surface-following or point-projection toolpath uses to sample a face densely in one call.

mcp:tool body_face_evaluate mcp:summary Batch-evaluates a face's surface (point/normal/tangents by param, or point projection).

func (Body) FacetTolerances

func (b Body) FacetTolerances(bodyIndex int) (wire.FacetTolerancesResult, error)

FacetTolerances lists the tolerances facet sets are cached at, ascending.

mcp:tool body_facet_tolerances mcp:summary Lists the tolerances facet sets are cached at, ascending.

func (Body) FindUsingRay

func (b Body) FindUsingRay(args wire.FindUsingRayArgs) (wire.FindUsingRayResult, error)

FindUsingRay fires a pick ray into the body, returning hits nearest first.

mcp:tool body_find_using_ray mcp:summary Fires a pick ray into the body, returning hits nearest first.

func (Body) IsPointInside

func (b Body) IsPointInside(args wire.IsPointInsideArgs) (types.Containment, error)

IsPointInside classifies a point against the body's material (or one shell's bounded region).

mcp:tool body_is_point_inside mcp:summary Classifies a point against the body's material (or one shell's bounded region).

func (Body) List

func (b Body) List() (wire.BodyListResult, error)

List enumerates the active part's bodies.

mcp:tool body_list mcp:summary Enumerates the active part's bodies (name, solid flag, visibility, face/edge counts).

func (Body) LocateUsingPoint

func (b Body) LocateUsingPoint(bodyIndex int, point []float64, entityKind string, proximityTolerance float64) (wire.LocateUsingPointResult, error)

LocateUsingPoint finds the topology entity nearest the point within the proximity tolerance (kind empty = any of vertex/edge/face).

mcp:tool body_locate_using_point mcp:summary Finds the topology entity nearest the point within the proximity tolerance (kind empty = any of vertex/edge/face).

func (Body) MinimumDistance

func (b Body) MinimumDistance(args wire.MinimumDistanceArgs) (wire.MinimumDistanceResult, error)

MinimumDistance returns the closest approach between the body and a transient probe polyline (e.g. a CAM travel path), optionally widened by Radius (the tool cross-section). It is the out-of-process minimum-distance measurement for a transient operand; points, Radius and the result are all in database units (cm). The result is 0 when the probe (after Radius) touches or enters the body's material.

d, _ := c.Body().MinimumDistance(wire.MinimumDistanceArgs{
BodyIndex: 0, Points: []float64{0, 0, 5, 4, 0, 5}, Radius: 0.3,
})

mcp:tool body_minimum_distance mcp:summary Minimum distance between the body and a transient probe polyline (flat x,y,z list in cm); radius widens the probe into a swept-tool cylinder; returns the distance (cm), 0 when it touches or enters the body — the out-of-process projection of MeasureTools.GetMinimumDistance for a transient operand.

func (Body) OffsetPlanarWire

func (b Body) OffsetPlanarWire(args wire.OffsetPlanarWireArgs, closure types.OffsetCornerClosureType) (wire.OffsetPlanarWireResult, error)

OffsetPlanarWire offsets a planar wire by distance in the plane with the given normal, closing gap corners per closure. Set args.Handle to offset a transient body's wire (a section/silhouette result).

mcp:tool wire_offset_planar mcp:summary Offsets a planar wire by distance in the plane with the given normal, closing gap corners per closure.

func (Body) PhysicalProperties

func (b Body) PhysicalProperties(index int, densityGCm3 float64, accuracy string) (wire.MassPropertiesResult, error)

PhysicalProperties returns one body's geometry and mass properties — the per-body counterpart of Model.PhysicalProperties, which sums all bodies (#1078). DensityGCm3 0 uses the part's material density; accuracy is "low"/"medium"/"high" (empty ⇒ medium).

mcp:tool body_physical_properties mcp:summary Geometry and mass properties (volume, area, mass, centroid, inertia) of one body of the active part.

func (Body) RangeBox

func (b Body) RangeBox(args wire.BodyRangeBoxArgs) (wire.BodyRangeBoxResult, error)

RangeBox returns the body's range box (topology, precise or oriented).

mcp:tool body_range_box mcp:summary Returns the body's range box (topology, precise or oriented).

func (Body) Rename

func (b Body) Rename(index int, name string) (wire.BodyInfoResult, error)

Rename sets the display name of the body at index (from List); an empty name reverts to the "Solid{N}" default. The name is stored per body, survives recompute, and round-trips in the document (#1078).

mcp:tool body_rename mcp:summary Set the display name of one body of the active part by index (empty reverts to the default).

func (Body) SetVisible

func (b Body) SetVisible(index int, visible bool) (wire.BodyInfoResult, error)

SetVisible shows or hides the body at index (from List), for multi-body workflows (#158).

mcp:tool body_set_visible mcp:summary Show or hide one body of the active part by index.

func (Body) Shells

func (b Body) Shells(bodyIndex int) (wire.BodyShellsResult, error)

Shells lists one body's face shells (the outer skin and any cavity skins).

mcp:tool body_shells mcp:summary Lists one body's face shells (the outer skin and any cavity skins).

func (Body) StrokeTolerances

func (b Body) StrokeTolerances(bodyIndex int) (wire.FacetTolerancesResult, error)

StrokeTolerances lists the tolerances stroke sets are cached at, ascending.

mcp:tool body_stroke_tolerances mcp:summary Lists the tolerances stroke sets are cached at, ascending.

func (Body) Validate

func (b Body) Validate(bodyIndex, checkLevel int) (wire.ValidateBodyResult, error)

Validate checks the body (checkLevel 1 = topology, 2 = + self-intersection) and reports any offending entities.

mcp:tool body_validate mcp:summary Checks the body (checkLevel 1 = topology, 2 = + self-intersection) and reports any offending entities.

func (Body) Wires

func (b Body) Wires(bodyIndex int) (wire.BodyWiresResult, error)

Wires lists one body's wires (face-less edge chains).

mcp:tool body_wires mcp:summary Lists one body's wires (face-less edge chains).

type Browser

Browser is the add-in browser-pane operation group: declare a named tree shown alongside the host's Model pane and observe node interaction through [wire.BrowserNodeEvent] push events (the ClientBrowserNodeDefinition equivalent, M05-F03 #256).

type Browser struct {
// contains filtered or unexported fields
}

func (Browser) DeletePane

func (b Browser) DeletePane(id string) (wire.OKResult, error)

DeletePane removes an add-in pane.

mcp:tool browser_delete_pane mcp:summary Removes an add-in pane.

func (Browser) ListPanes

func (b Browser) ListPanes() (wire.ListBrowserPanesResult, error)

ListPanes returns every add-in pane in creation order.

mcp:tool browser_list_panes mcp:summary Returns every add-in pane in creation order.

func (Browser) SetPane

func (b Browser) SetPane(pane wire.BrowserPaneSpec) (wire.OKResult, error)

SetPane creates the pane or replaces its whole tree — declared bulk state, like the client-graphics groups.

client.Browser().SetPane(wire.BrowserPaneSpec{
ID: "sim", Title: "Simulation",
Nodes: []wire.BrowserNodeSpec{{ID: "loads", Label: "Loads", Expanded: true}},
})

mcp:tool browser_set_pane mcp:summary Creates the pane or replaces its whole tree — declared bulk state, like the client-graphics groups.

type Caller

Caller is the one dependency a client has on the host: send a JSON method request and get the JSON reply (or an error) — i.e. the transport. An add-in backs it with the host's C-ABI ObkHostCall callback (see include/oblikovati_addin.h); tests back it with a fake. The method strings are the oblikovati.org/api/wire constants.

type Caller interface {
Call(method string, req []byte) ([]byte, error)
}

type Client

Client is a typed façade over a Caller: each method marshals a wire request, calls the host, and unmarshals the wire reply, so add-ins program against Go types instead of hand-rolling JSON. Reach the operation groups via Client.Documents, Client.Parameters, Client.Model, Client.Sketch, Client.Features, Client.Commands, Client.Theme, Client.Appearances, Client.Materials.

type Client struct {
// contains filtered or unexported fields
}

func New

func New(t Caller) *Client

New wraps a transport. Calls on a Client with a nil transport fail with a clear error rather than panicking, so a half-wired add-in is diagnosable.

func (*Client) AddIns

func (c *Client) AddIns() AddIns

AddIns returns the add-in registry operation group.

func (*Client) Analysis

func (c *Client) Analysis() Analysis

Analysis returns the analysis operation group.

func (*Client) Appearances

func (c *Client) Appearances() Appearances

Appearances returns the appearance operation group.

func (*Client) Application

func (c *Client) Application() Application

Application returns the host-application info operation group.

func (*Client) Assembly

func (c *Client) Assembly() Assembly

Assembly returns the assembly derive/shrinkwrap operation group.

func (*Client) AssemblyConstraints

func (c *Client) AssemblyConstraints() AssemblyConstraints

AssemblyConstraints returns the assembly constraint operation group.

func (*Client) AssemblyDrive

func (c *Client) AssemblyDrive() AssemblyDrive

AssemblyDrive returns the assembly drive operation group.

func (*Client) AssemblyFeatures

func (c *Client) AssemblyFeatures() AssemblyFeatures

AssemblyFeatures returns the assembly feature-program operation group.

func (*Client) AssemblyJoints

func (c *Client) AssemblyJoints() AssemblyJoints

AssemblyJoints returns the assembly joint operation group.

func (*Client) Attributes

func (c *Client) Attributes() Attributes

Attributes returns the attribute-set operation group.

func (*Client) Body

func (c *Client) Body() Body

Body returns the body method group.

func (*Client) Browser

func (c *Client) Browser() Browser

Browser returns the add-in browser-pane operation group.

func (*Client) ClientApplications

func (c *Client) ClientApplications() ClientApplications

ClientApplications returns the external-client registry operation group.

func (*Client) ColorSchemes

func (c *Client) ColorSchemes() ColorSchemes

ColorSchemes returns the application color-scheme operation group.

func (*Client) Commands

func (c *Client) Commands() Commands

Commands returns the command operation group.

func (*Client) ContactSets

func (c *Client) ContactSets() ContactSets

ContactSets returns the contact-set operation group.

func (*Client) ContactSolver

func (c *Client) ContactSolver() ContactSolver

ContactSolver returns the contact-solver operation group.

func (*Client) DSJoints

func (c *Client) DSJoints() DSJoints

DSJoints returns the DS-joint operation group.

func (*Client) DesignReps

func (c *Client) DesignReps() DesignReps

DesignReps returns the design-view representation group.

func (*Client) Diagnostics

func (c *Client) Diagnostics() Diagnostics

Diagnostics returns the log/trace operation group.

func (*Client) Dialogs

func (c *Client) Dialogs() Dialogs

Dialogs returns the host-dialog operation group.

func (*Client) Display

func (c *Client) Display() Display

Display returns the display options/settings operation group.

func (*Client) DockableWindows

func (c *Client) DockableWindows() DockableWindows

DockableWindows returns the add-in dockable-window operation group.

func (*Client) Documents

func (c *Client) Documents() Documents

Documents returns the document operation group.

func (*Client) Drawing

func (c *Client) Drawing() Drawing

Drawing returns the drawing-document operation group.

func (*Client) DrawingAnnotations

func (c *Client) DrawingAnnotations() DrawingAnnotations

DrawingAnnotations returns the drawing-annotations operation group.

func (*Client) DrawingDimensions

func (c *Client) DrawingDimensions() DrawingDimensions

DrawingDimensions returns the drawing-dimensions operation group.

func (*Client) DrawingSketches

func (c *Client) DrawingSketches() DrawingSketches

DrawingSketches returns the drawing-sketches operation group.

func (*Client) DrawingStyles

func (c *Client) DrawingStyles() DrawingStyles

DrawingStyles returns the drawing-styles operation group.

func (*Client) DrawingViews

func (c *Client) DrawingViews() DrawingViews

DrawingViews returns the drawing-views operation group.

func (*Client) Environment

func (c *Client) Environment() Environment

Environment returns the image-based-lighting operation group.

func (*Client) ExportDXF

func (c *Client) ExportDXF(args wire.ExportDXFArgs) (wire.ExportDXFResult, error)

ExportDXF writes the active 2D sketch to an ASCII .dxf file.

mcp:tool export_dxf mcp:summary Export the active 2D sketch to a .dxf file at path. version selects the DXF generation ("r2000" or "r2018"; default r2000). Returns how many sketch curves were written.

func (*Client) Features

func (c *Client) Features() Features

Features returns the feature operation group.

func (*Client) Files

func (c *Client) Files() Files

Files returns the file-surface operation group.

func (*Client) FlatPattern

func (c *Client) FlatPattern() FlatPattern

FlatPattern returns the flat-pattern operation group.

func (*Client) Fonts

func (c *Client) Fonts() Fonts

Fonts returns the font operation group.

func (*Client) Freeform

func (c *Client) Freeform() Freeform

Freeform returns the freeform cage-editing operation group.

func (*Client) Graphics

func (c *Client) Graphics() Graphics

Graphics returns the client-graphics group.

func (*Client) Help

func (c *Client) Help() Help

Help returns the help-routing operation group.

func (*Client) ImportDWG

func (c *Client) ImportDWG(args wire.ImportDWGArgs) (wire.ImportDWGResult, error)

ImportDWG imports an AutoCAD .dwg file into the active part's drawing geometry.

mcp:tool import_dwg mcp:summary Import a .dwg file into the active part. A planar drawing becomes a 2D sketch on the chosen plane (plane: a name from list_work_planes, e.g. "XY Plane"; default is the first origin plane), the DWG origin mapping to the plane origin; a drawing with off-plane geometry becomes a 3D sketch. Returns whether it imported as 3D, the entity count, and any skipped-entity warnings.

func (*Client) ImportDXF

func (c *Client) ImportDXF(args wire.ImportDXFArgs) (wire.ImportDXFResult, error)

ImportDXF imports an ASCII .dxf file into the active part's drawing geometry.

mcp:tool import_dxf mcp:summary Import a .dxf file into the active part. A planar drawing becomes a 2D sketch on the chosen plane (plane: a name from list_work_planes, e.g. "XY Plane"; default is the first origin plane), the DXF origin mapping to the plane origin; a drawing with off-plane geometry becomes a 3D sketch. Returns whether it imported as 3D, the entity count, and any skipped-entity warnings.

func (*Client) ImportPDF

func (c *Client) ImportPDF(args wire.ImportPDFArgs) (wire.ImportPDFResult, error)

ImportPDF imports a vector .pdf (a CAD drawing plotted to PDF) into the active part's drawing geometry.

mcp:tool import_pdf mcp:summary Import a vector .pdf file (a CAD drawing plotted to PDF, e.g. from AutoCAD) into the active part. Each page's vector paths become a 2D sketch on the chosen plane (plane: a name from list_work_planes, e.g. "XY Plane"; default is the first origin plane), the page origin mapping to the plane origin. Text and raster images in the page are skipped. Returns the entity count and any per-page warnings.

func (*Client) Interaction

func (c *Client) Interaction() Interaction

Interaction returns the interaction-status operation group.

func (*Client) Interference

func (c *Client) Interference() Interference

Interference returns the interference-analysis operation group.

func (*Client) Keymap

func (c *Client) Keymap() Keymap

Keymap returns the keyboard-customization operation group.

func (*Client) LODReps

func (c *Client) LODReps() LODReps

LODReps returns the level-of-detail representation group.

func (*Client) Lighting

func (c *Client) Lighting() Lighting

Lighting returns the scene-lighting operation group.

func (*Client) Manipulators

func (c *Client) Manipulators() Manipulators

Manipulators returns the custom-gizmo operation group.

func (*Client) Materials

func (c *Client) Materials() Materials

Materials returns the material operation group.

func (*Client) Messages

func (c *Client) Messages() Messages

Messages returns the messaging operation group.

func (*Client) MiniToolbars

func (c *Client) MiniToolbars() MiniToolbars

MiniToolbars returns the mini-toolbar operation group.

func (*Client) Model

func (c *Client) Model() Model

Model returns the model-inspection operation group.

func (*Client) ModelStates

func (c *Client) ModelStates() ModelStates

ModelStates returns the model-state group.

func (*Client) Options

func (c *Client) Options() Options

Options returns the application-options operation group.

func (*Client) Parameters

func (c *Client) Parameters() Parameters

Parameters returns the parameter operation group.

func (*Client) PointClouds

func (c *Client) PointClouds() PointClouds

PointClouds returns the point-cloud method group.

func (*Client) PositionalReps

func (c *Client) PositionalReps() PositionalReps

PositionalReps returns the positional representation group.

func (*Client) Progress

func (c *Client) Progress() Progress

Progress returns the progress-bar operation group.

func (*Client) Ribbon

func (c *Client) Ribbon() Ribbon

Ribbon returns the ribbon operation group.

func (*Client) Scripts

func (c *Client) Scripts() Scripts

Scripts returns the scripting operation group.

func (*Client) SheetMetal

func (c *Client) SheetMetal() SheetMetal

SheetMetal returns the sheet-metal rule operation group.

func (*Client) Sketch

func (c *Client) Sketch() Sketch

Sketch returns the sketch operation group.

func (*Client) Sketch3D

func (c *Client) Sketch3D() Sketch3D

Sketch3D returns the 3D-sketch operation group.

func (*Client) Status

func (c *Client) Status() Status

Status returns the status-bar operation group.

func (*Client) Styles

func (c *Client) Styles() Styles

Styles returns the style-manager operation group.

func (*Client) TaskPanels

func (c *Client) TaskPanels() TaskPanels

TaskPanels returns the modal task-panel operation group.

func (*Client) Theme

func (c *Client) Theme() Theme

Theme returns the UI-theme operation group.

func (*Client) Threads

func (c *Client) Threads() Threads

Threads returns the thread-table operation group.

func (*Client) Transactions

func (c *Client) Transactions() Transactions

Transactions returns the undo/redo operation group.

func (*Client) TransientBRep

func (c *Client) TransientBRep() TransientBRep

TransientBRep returns the transient B-rep method group.

func (*Client) Triad

func (c *Client) Triad() Triad

Triad returns the triad operation group.

func (*Client) UI

func (c *Client) UI() UI

UI returns the shell-customization operation group.

func (*Client) Units

func (c *Client) Units() Units

Units returns the unit-of-measure service group.

func (*Client) View

func (c *Client) View() View

View returns the viewport operation group.

func (*Client) Views

func (c *Client) Views() Views

Views returns the view-collection operation group.

func (*Client) Windows

func (c *Client) Windows() Windows

Windows returns the window-management operation group.

func (*Client) WorkPlanes

func (c *Client) WorkPlanes() WorkPlanes

WorkPlanes returns the work-plane construction group.

func (*Client) WorkPoints

func (c *Client) WorkPoints() WorkPoints

WorkPoints returns the work-point construction group.

func (*Client) WorkSurfaces

func (c *Client) WorkSurfaces() WorkSurfaces

WorkSurfaces returns the construction-surface group.

type ClientApplications

ClientApplications is the external-client registry operation group: out-of-process automation drivers (an MCP client, a test harness, a companion app) announce themselves here so the session can list who is driving it — the ClientApplications equivalent, distinct from in-process add-ins.

type ClientApplications struct {
// contains filtered or unexported fields
}

func (ClientApplications) List

func (g ClientApplications) List() (wire.ListClientApplicationsResult, error)

List returns the registered external clients in registration order.

mcp:tool client_apps_list mcp:summary Returns the registered external clients in registration order.

func (ClientApplications) Register

func (g ClientApplications) Register(name string) (wire.RegisterClientApplicationResult, error)

Register announces an external client by display name and returns the session-unique id to pass to ClientApplications.Unregister on disconnect.

reg, _ := client.ClientApplications().Register("acme-pipeline")
defer client.ClientApplications().Unregister(reg.ID)

mcp:tool client_apps_register mcp:summary Announces an external client by display name and returns the session-unique id to pass to ClientApplications.Unregister on disconnect.

func (ClientApplications) Unregister

func (g ClientApplications) Unregister(id int) (wire.OKResult, error)

Unregister removes a previously registered external client.

mcp:tool client_apps_unregister mcp:summary Removes a previously registered external client.

type ColorSchemes

ColorSchemes is the application color-scheme operation group: it lets an add-in read the available named palettes and switch the active one, so an automation can drive the viewport background and the highlight/selection colors.

type ColorSchemes struct {
// contains filtered or unexported fields
}

func (ColorSchemes) Active

func (s ColorSchemes) Active() (wire.ColorSchemeView, error)

Active returns the currently active color scheme.

mcp:tool get_active_color_scheme mcp:summary Read the active color scheme (background, highlight, and selection colors).

func (ColorSchemes) List

func (s ColorSchemes) List() (wire.ColorSchemesResult, error)

List returns every color scheme, flagging the active one.

schemes, _ := client.ColorSchemes().List()

mcp:tool list_color_schemes mcp:summary List the application color schemes (the names set_color_scheme accepts).

func (ColorSchemes) SetActive

func (s ColorSchemes) SetActive(name string) (wire.ColorSchemeView, error)

SetActive activates the named color scheme, returning the now-active scheme.

client.ColorSchemes().SetActive("Presentation")

mcp:tool set_active_color_scheme mcp:summary Switch the active color scheme by name; see list_color_schemes.

type Commands

Commands is the command operation group.

type Commands struct {
// contains filtered or unexported fields
}

func (Commands) Create

func (cm Commands) Create(args wire.CreateCommandArgs) (wire.OKResult, error)

Create registers a new ribbon button so an add-in can extend the UI. The button appears in the ribbon immediately; when the user clicks it the host fires a command-ended event the add-in receives via its Notify entry point, where it runs the button's action (typically further client calls).

mcp:tool create_command mcp:summary Register a ribbon button definition: id + displayName, with optional ribbon/tab/category/environment placement. Clicking it fires a command.ended event.

func (Commands) Execute

func (cm Commands) Execute(id string) (wire.OKResult, error)

Execute runs the command with the given id (the same path a ribbon click takes).

mcp:tool execute_command mcp:summary Run a command by id (the same effect as clicking it in the ribbon). See list_commands.

func (Commands) List

func (cm Commands) List() (wire.ListCommandsResult, error)

List returns every registered command and whether it can run now.

mcp:tool list_commands mcp:summary List all Oblikovati commands and whether each is currently enabled.

func (Commands) SetState

func (cm Commands) SetState(args wire.SetCommandStateArgs) (wire.OKResult, error)

SetState updates a command's live ribbon state: Active toggles its highlighted (accent) look, and a non-empty DisplayName relabels it. Use it for stateful add-in controls.

client.Commands().SetState(wire.SetCommandStateArgs{ID: id, Active: true, DisplayName: "Presenting"})

mcp:tool commands_set_state mcp:summary Updates a command's live ribbon state: Active toggles its highlighted (accent) look, and a non-empty DisplayName relabels it.

func (Commands) SubmitLine

func (cm Commands) SubmitLine(line string) (wire.CommandLineResult, error)

SubmitLine feeds one line to the Command Window's REPL and returns what it produced: the new scrollback output, the active command's next prompt, and whether more input is awaited. Drive a command across calls — SubmitLine("LINE"), SubmitLine("0,0"), SubmitLine("10,0") — or inline it, SubmitLine("LINE 0,0 10,0"). An empty line finishes or repeats the current command. A command-line error (e.g. an unknown word) comes back in the result's Error field, not as a transport error.

mcp:tool submit_command mcp:summary Submit one line to the shell-style command window (a command/alias, or a coordinate/value/keyword for the active command's current step). Returns output, the next prompt, and whether more input is awaited.

type Constrain

Constrain is the geometric-constraint group for a sketch, reached via Sketch.Constrain. Each helper names a constraint kind; the uint64 arguments are entity ids returned by the addEntity helpers (a point id, a line id, or a circle/arc id, per the kind).

type Constrain struct {
// contains filtered or unexported fields
}

func (Constrain) Add

func (g Constrain) Add(kind types.GeometricConstraintKind, entities ...uint64) (wire.AddConstraintResult, error)

Add applies a constraint of the given kind to the referenced entities — the escape hatch covering every kind; prefer the named helpers below.

mcp:tool add_sketch_constraint mcp:summary Add a geometric constraint: {sketchIndex, kind, entities:[ids…]}. kind is coincident|horizontal|vertical|parallel|perpendicular|collinear|concentric|tangent|equalLength|equalRadius|pointOnLine|midpoint|pointOnCircle|fix|ground|symmetric|smooth. Entity arity depends on the kind.

func (Constrain) Coincident

func (g Constrain) Coincident(p1, p2 uint64) (wire.AddConstraintResult, error)

Coincident makes two points coincident.

func (Constrain) Collinear

func (g Constrain) Collinear(l1, l2 uint64) (wire.AddConstraintResult, error)

func (Constrain) Concentric

func (g Constrain) Concentric(c1, c2 uint64) (wire.AddConstraintResult, error)

Concentric / EqualRadius relate two circular curves (circles/arcs).

func (Constrain) Delete

func (g Constrain) Delete(constraintIndex int) (wire.OKResult, error)

Delete removes the geometric constraint at the given collection index.

mcp:tool delete_sketch_constraint mcp:summary Delete a geometric constraint by its index (see list_sketch_constraints).

func (Constrain) EqualLength

func (g Constrain) EqualLength(l1, l2 uint64) (wire.AddConstraintResult, error)

func (Constrain) EqualRadius

func (g Constrain) EqualRadius(c1, c2 uint64) (wire.AddConstraintResult, error)

func (Constrain) Fix

func (g Constrain) Fix(point uint64) (wire.AddConstraintResult, error)

Fix grounds a point in place.

func (Constrain) Ground

func (g Constrain) Ground(entity uint64) (wire.AddConstraintResult, error)

Ground fixes every point of an entity (the whole geometry) in place.

func (Constrain) Horizontal

func (g Constrain) Horizontal(p1, p2 uint64) (wire.AddConstraintResult, error)

Horizontal aligns two points horizontally; Vertical aligns them vertically.

func (Constrain) Midpoint

func (g Constrain) Midpoint(point, line uint64) (wire.AddConstraintResult, error)

func (Constrain) Offset

func (g Constrain) Offset(line1, line2 uint64) (wire.AddConstraintResult, error)

Offset holds two lines parallel at their current perpendicular distance.

func (Constrain) Parallel

func (g Constrain) Parallel(l1, l2 uint64) (wire.AddConstraintResult, error)

Parallel / Perpendicular / Collinear / EqualLength relate two lines.

func (g Constrain) PatternLink(seed, member uint64) (wire.AddConstraintResult, error)

PatternLink rigidly links a member point to a seed point at their current offset.

func (Constrain) Perpendicular

func (g Constrain) Perpendicular(l1, l2 uint64) (wire.AddConstraintResult, error)

func (Constrain) PointOnCircle

func (g Constrain) PointOnCircle(point, curve uint64) (wire.AddConstraintResult, error)

PointOnCircle constrains a point onto a circular curve.

func (Constrain) PointOnLine

func (g Constrain) PointOnLine(point, line uint64) (wire.AddConstraintResult, error)

PointOnLine / Midpoint constrain a point onto / to the midpoint of a line.

func (Constrain) Symmetric

func (g Constrain) Symmetric(a, b, mirrorLine uint64) (wire.AddConstraintResult, error)

Symmetric makes points a and b symmetric about a mirror line — their midpoint lies on the line and the a→b segment is perpendicular to it. Pins the mirror DOF of a profile built about a centerline (e.g. the free corner points of a symmetric tooth shoe).

func (Constrain) Tangent

func (g Constrain) Tangent(line, curve uint64) (wire.AddConstraintResult, error)

Tangent makes a line tangent to a circular curve (line ref first, curve ref second).

func (Constrain) Vertical

func (g Constrain) Vertical(p1, p2 uint64) (wire.AddConstraintResult, error)

type ContactSets

ContactSets is the contact-set operation group.

type ContactSets struct {
// contains filtered or unexported fields
}

func (ContactSets) AddMember

func (cs ContactSets) AddMember(args wire.ContactMemberArgs) (wire.ContactSetResult, error)

AddMember adds an occurrence to a contact set.

mcp:tool add_contact_member mcp:summary Add an occurrence (by id) to a contact set (set id). Returns the updated set.

func (ContactSets) Create

func (cs ContactSets) Create(name string) (wire.ContactSetResult, error)

Create adds a new contact set named name.

mcp:tool create_contact_set mcp:summary Create a contact set (a group of occurrences that resist interpenetration when the contact solver is on). Returns the set.

func (ContactSets) Delete

func (cs ContactSets) Delete(id uint64) (wire.ContactSetsResult, error)

Delete removes a contact set and returns the remaining sets.

mcp:tool delete_contact_set mcp:summary Delete a contact set (id). Returns the remaining sets.

func (ContactSets) List

func (cs ContactSets) List() (wire.ContactSetsResult, error)

List returns the assembly's contact sets.

mcp:tool list_contact_sets mcp:summary List the assembly's contact sets: each with id, name, and member occurrence ids.

func (ContactSets) RemoveMember

func (cs ContactSets) RemoveMember(args wire.ContactMemberArgs) (wire.ContactSetResult, error)

RemoveMember removes an occurrence from a contact set.

mcp:tool remove_contact_member mcp:summary Remove an occurrence (by id) from a contact set (set id). Returns the updated set.

type ContactSolver

ContactSolver is the contact-solver toggle group.

type ContactSolver struct {
// contains filtered or unexported fields
}

func (ContactSolver) SetEnabled

func (s ContactSolver) SetEnabled(enabled bool) (wire.ContactSolverResult, error)

SetEnabled enables or disables contact enforcement during a drag.

mcp:tool set_contact_solver mcp:summary Enable (enabled:true) or disable the contact solver — whether dragging a contact-set member stops at contact with another. Returns the solver state.

func (ContactSolver) Status

func (s ContactSolver) Status() (wire.ContactSolverResult, error)

Status returns whether the contact solver is enabled and how many sets it governs.

mcp:tool contact_solver_status mcp:summary Report the contact solver's state: enabled flag and the number of contact sets.

type DSJoints

DSJoints is the DS-joint (degrees-of-freedom / imposed-motion) operation group — the kinematic view of joints motion and simulation consumers read.

type DSJoints struct {
// contains filtered or unexported fields
}

func (DSJoints) Add

func (d DSJoints) Add(args wire.AddDSJointArgs) (wire.DSJointResult, error)

Add adds a DS joint of the given kind between two origins, e.g. Add(wire.AddDSJointArgs{A: a, B: b, Type: "rotational"}).

mcp:tool add_ds_joint mcp:summary Add a DS joint (type: rigid|rotational|prismatic|cylindrical|planar|spherical) between two component joint origins. Returns the joint with its degrees of freedom.

func (DSJoints) Delete

func (d DSJoints) Delete(id uint64) (wire.DSJointsResult, error)

Delete removes the DS joint and returns the refreshed set.

mcp:tool delete_ds_joint mcp:summary Delete a DS joint (id). Returns the remaining DS-joint set.

func (DSJoints) List

func (d DSJoints) List() (wire.DSJointsResult, error)

List returns the active assembly's DS-joint set.

mcp:tool list_ds_joints mcp:summary List the active assembly's DS joints: each with id, kind, name, and per-DOF imposed-motion (free/driven/locked) breakdown.

func (DSJoints) SetImposedMotion

func (d DSJoints) SetImposedMotion(args wire.SetImposedMotionArgs) (wire.DSJointResult, error)

SetImposedMotion sets the imposed motion of a DS joint's DOF, e.g. SetImposedMotion(wire.SetImposedMotionArgs{ID: id, DOFIndex: 0, ImposedMotion: "locked"}).

mcp:tool set_ds_joint_imposed_motion mcp:summary Set a DS joint DOF's imposed motion (free|driven|locked) and value (cm or radians) by dofIndex. Locked removes that DOF from the solve. Returns the updated joint.

type DesignReps

DesignReps is the design-view representation group (visibility/appearance/section/camera).

type DesignReps struct {
// contains filtered or unexported fields
}

func (DesignReps) Activate

func (d DesignReps) Activate(id uint64) (wire.DesignViewResult, error)

Activate applies a design-view representation's overrides to the scene.

mcp:tool activate_design_view mcp:summary Activate a design-view representation (id) — apply its visibility/appearance/section/camera overrides to the scene. Returns the activated representation.

func (DesignReps) AddSection

func (d DesignReps) AddSection(args wire.AddSectionArgs) (wire.DesignViewResult, error)

AddSection adds a section/clipping plane to a design-view representation.

mcp:tool add_design_view_section mcp:input addSectionArg mcp:summary Add a section/clipping plane (origin + normal as [x,y,z], optional flipped) to a design-view representation. Returns the updated representation.

func (DesignReps) Capture

func (d DesignReps) Capture(name string) (wire.DesignViewResult, error)

Capture snapshots the current visibility, appearance, sections, and camera into a new design-view representation.

mcp:tool capture_design_view mcp:summary Capture the current scene's visibility/appearance/section/camera state into a new named design-view representation. Returns the representation.

func (DesignReps) Delete

func (d DesignReps) Delete(id uint64) (wire.DesignViewsResult, error)

Delete removes a design-view representation and returns the remaining set.

mcp:tool delete_design_view mcp:summary Delete a design-view representation (id). Returns the remaining set.

func (DesignReps) List

func (d DesignReps) List() (wire.DesignViewsResult, error)

List returns the assembly's design-view representations in creation order.

mcp:tool list_design_views mcp:summary List the assembly's design-view representations: each with id, name, active flag, hidden/appearance-override counts, section planes, and captured camera.

func (DesignReps) SetAppearance

func (d DesignReps) SetAppearance(args wire.SetAppearanceArgs) (wire.DesignViewResult, error)

SetAppearance overrides (or clears) an occurrence's appearance within a design-view representation.

mcp:tool set_design_view_appearance mcp:summary Override an occurrence's appearance (appearanceId; empty clears) within a design-view representation. Returns the updated representation.

func (DesignReps) SetVisibility

func (d DesignReps) SetVisibility(args wire.SetVisibilityArgs) (wire.DesignViewResult, error)

SetVisibility hides or shows an occurrence within a design-view representation.

mcp:tool set_design_view_visibility mcp:summary Hide or show an occurrence (by id) within a design-view representation (rep id). Returns the updated representation.

type Diagnostics

Diagnostics is the operation-trace/log group: a real-time, pollable tail of the host's activity (every router call with timing + outcome, plus captured slog records). Tail with the previous result's NextSeq to fetch only new records.

type Diagnostics struct {
// contains filtered or unexported fields
}

func (Diagnostics) Tail

func (d Diagnostics) Tail(sinceSeq uint64, level string, max int) (wire.LogsResult, error)

Tail returns trace records newer than sinceSeq (0 ⇒ from the oldest retained), optionally filtered to a minimum level ("debug"|"info"|"warn"|"error", empty ⇒ all) and capped to max (0 ⇒ server default). The result's NextSeq is the cursor for the next poll.

mcp:tool tail_logs mcp:summary Tail the host operation trace in real time: records of every command (method, durationMicros, ok/error, and panic+stack for caught kernel bugs) plus structured logs. Poll with sinceSeq=<previous result's nextSeq> to get only new records; filter with level=debug|info|warn|error; cap with max. Use after operations to verify timing and surface errors/panics while stress-testing.

type Dialogs

Dialogs is the host-dialog operation group (M05-F08): the file open/save dialog and the web-view family, so add-ins never ship their own toolkit. File choices arrive as dialog.fileChosen push events (asynchronous, like prompts).

type Dialogs struct {
// contains filtered or unexported fields
}

func (Dialogs) CloseWebDialog

func (d Dialogs) CloseWebDialog(id string) (wire.OKResult, error)

CloseWebDialog dismisses a web view.

mcp:tool dialogs_close_web_dialog mcp:summary Dismisses a web view.

func (Dialogs) ListWebViews

func (d Dialogs) ListWebViews() (wire.ListWebViewsResult, error)

ListWebViews returns the presented web views in creation order.

mcp:tool dialogs_list_web_views mcp:summary Returns the presented web views in creation order.

func (Dialogs) ShowFileDialog

func (d Dialogs) ShowFileDialog(args wire.ShowFileDialogArgs) (wire.OKResult, error)

ShowFileDialog opens the host's file dialog; the user's choice arrives as a [wire.FileDialogChosenEvent] keyed by args.ID.

client.Dialogs().ShowFileDialog(wire.ShowFileDialogArgs{
ID: "sim.report", Save: true, Title: "Save report", Filter: "HTML (*.html)|*.html",
})

mcp:tool dialogs_show_file_dialog mcp:summary Opens the host's file dialog; the user's choice arrives as a [wire.FileDialogChosenEvent] keyed by args.ID.

func (Dialogs) ShowWebDialog

func (d Dialogs) ShowWebDialog(spec wire.WebDialogSpec) (wire.OKResult, error)

ShowWebDialog presents a web view: floating (modal or not), or docked when the spec carries a docking state.

mcp:tool dialogs_show_web_dialog mcp:summary Presents a web view: floating (modal or not), or docked when the spec carries a docking state.

type Dimension

Dimension is the dimensional-constraint group for a sketch, reached via Sketch.Dimension. Each helper names a dimension kind; the uint64 arguments are entity ids and the expression is unit-bearing ("40 mm", "30 deg").

type Dimension struct {
// contains filtered or unexported fields
}

func (Dimension) Add

func (g Dimension) Add(kind types.DimensionConstraintKind, expression string, entities ...uint64) (wire.AddDimensionResult, error)

Add applies a dimension of the given kind — the escape hatch; prefer the named helpers.

mcp:tool add_sketch_dimension mcp:summary Add a dimensional constraint: {sketchIndex, kind, entities:[ids…], expression}. kind is distance|radius|diameter|angle|arcLength|offset; expression carries units, e.g. "40 mm".

func (Dimension) Angle

func (g Dimension) Angle(l1, l2 uint64, expression string) (wire.AddDimensionResult, error)

Angle dimensions the angle between two lines.

func (Dimension) ArcLength

func (g Dimension) ArcLength(arc uint64, expression string) (wire.AddDimensionResult, error)

ArcLength dimensions an arc's length.

func (Dimension) Diameter

func (g Dimension) Diameter(circle uint64, expression string) (wire.AddDimensionResult, error)

func (Dimension) Distance

func (g Dimension) Distance(p1, p2 uint64, expression string) (wire.AddDimensionResult, error)

Distance dimensions the distance between two points.

func (Dimension) Drive

func (g Dimension) Drive(dimensionIndex int, expression string) (wire.OKResult, error)

Drive edits a dimension's value (a unit-bearing expression; empty leaves it unchanged).

func (Dimension) EllipseRadius

func (g Dimension) EllipseRadius(ellipse uint64, expression string) (wire.AddDimensionResult, error)

EllipseRadius dimensions an ellipse's major radius.

func (Dimension) Offset

func (g Dimension) Offset(point, line uint64, expression string) (wire.AddDimensionResult, error)

Offset dimensions the perpendicular distance from a point to a line.

func (Dimension) Radius

func (g Dimension) Radius(circle uint64, expression string) (wire.AddDimensionResult, error)

Radius / Diameter dimension a circle.

func (Dimension) SetDriven

func (g Dimension) SetDriven(dimensionIndex int, driven bool) (wire.OKResult, error)

SetDriven flips a dimension between driving (constrains) and driven (reports).

func (Dimension) SetLimits

func (g Dimension) SetLimits(dimensionIndex int, min, max float64) (wire.OKResult, error)

SetLimits clamps a dimension's value to [min, max] (model units) when driven.

func (Dimension) ThreePointAngle

func (g Dimension) ThreePointAngle(vertex, a, b uint64, expression string) (wire.AddDimensionResult, error)

ThreePointAngle dimensions the angle a–vertex–b.

type Display

Display is the display options/settings operation group: it lets an add-in read and tune the application display options and a document's per-document display settings (background, edge color, ground plane, shadows) — the objects that parameterize the display modes.

type Display struct {
// contains filtered or unexported fields
}

func (Display) Options

func (d Display) Options() (wire.DisplayModeOptionsView, error)

Options returns the application-level display options.

o, _ := client.Display().Options()

mcp:tool get_display_options mcp:summary Read the application display options (quality, transition time, edges, ray tracing).

func (Display) SetOptions

func (d Display) SetOptions(v wire.DisplayModeOptionsView) (wire.DisplayModeOptionsView, error)

SetOptions applies the application-level display options, returning the stored result.

mcp:tool set_display_options mcp:summary Set the application display options; see get_display_options for the shape.

func (Display) SetSettings

func (d Display) SetSettings(v wire.DisplaySettingsView) (wire.DisplaySettingsView, error)

SetSettings applies the active document's per-document display settings.

mcp:tool set_display_settings mcp:summary Set a document's display settings; see get_display_settings for the shape.

func (Display) Settings

func (d Display) Settings() (wire.DisplaySettingsView, error)

Settings returns the active document's per-document display settings.

s, _ := client.Display().Settings()

mcp:tool get_display_settings mcp:summary Read a document's display settings (background, edge color, ground plane, shadows).

type DockableWindows

DockableWindows is the add-in dockable-window operation group: declare a titled panel the host docks into its layout, with declarative content the host renders (M05-F03, #247). Visibility changes come back as [wire.DockableWindowChangedEvent] push events; button clicks arrive as ordinary command-ended events for the command each button names.

type DockableWindows struct {
// contains filtered or unexported fields
}

func (DockableWindows) Delete

func (d DockableWindows) Delete(id string) (wire.OKResult, error)

Delete removes the window entirely.

mcp:tool dockable_windows_delete mcp:summary Removes the window entirely.

func (DockableWindows) List

func (d DockableWindows) List() (wire.ListDockableWindowsResult, error)

List returns every add-in dockable window in creation order.

mcp:tool dockable_windows_list mcp:summary Returns every add-in dockable window in creation order.

func (DockableWindows) Set

func (d DockableWindows) Set(w wire.DockableWindowSpec) (wire.OKResult, error)

Set creates the window or replaces its title/content if it exists.

client.DockableWindows().Set(wire.DockableWindowSpec{
ID: "sim.panel", Title: "Simulation", Dock: types.DockRight, Visible: true,
Controls: []wire.PanelControlSpec{
{Kind: types.PanelLabel, Text: "Mesh: 12k elements"},
{Kind: types.PanelButton, Text: "Run", CommandID: "Sim.Run"},
},
})

mcp:tool dockable_windows_set mcp:summary Creates the window or replaces its title/content if it exists.

func (DockableWindows) SetReferences

func (d DockableWindows) SetReferences(windowID, controlID string, refs []string) (wire.OKResult, error)

SetReferences replaces a referenceList control's rows exactly as an Add-from-selection would: the host updates the stored rows and notifies the owning add-in with a wire.PanelReferencesChangedEvent. Refs is the full new set.

mcp:tool set_panel_references mcp:summary Replace a reference-list control's rows (as Add-from-selection would), notifying the add-in.

func (DockableWindows) SetValue

func (d DockableWindows) SetValue(windowID, controlID, value string) (wire.OKResult, error)

SetValue drives one editable control of the window to a value, exactly as a user edit would: the host updates the stored control and notifies the owning add-in, which may react (e.g. switch a view and re-render). Value is the control's string form — the option text for a dropdown/combo, "true"/"false" for a checkbox, the number for a value editor/slider, the text for a text box.

mcp:tool set_panel_value mcp:summary Set one editable control of an add-in dockable window to a value (as a user edit would), notifying the add-in.

func (DockableWindows) SetVisible

func (d DockableWindows) SetVisible(id string, visible bool) (wire.OKResult, error)

SetVisible shows or hides the window without touching its content.

mcp:tool dockable_windows_set_visible mcp:summary Shows or hides the window without touching its content.

type Documents

Documents is the document-management operation group.

type Documents struct {
// contains filtered or unexported fields
}

func (Documents) Activate

func (d Documents) Activate(id uint64) (wire.OKResult, error)

Activate makes the document with the given session id active.

mcp:tool activate_document mcp:summary Make the document with the given id active.

func (Documents) AddAttachment

func (d Documents) AddAttachment(args wire.AddAttachmentArgs) (wire.AttachmentInfo, error)

AddAttachment attaches an external file to a document under a unique name, returning the resolved record.

rec, err := c.Documents().AddAttachment(wire.AddAttachmentArgs{
Document: doc.ID, Name: "loads", Kind: types.AttachmentLinked, FullFileName: "/w/loads.csv",
})

mcp:tool documents_add_attachment mcp:summary Attaches an external file to a document under a unique name, returning the resolved record.

func (Documents) AddInterest

func (d Documents) AddInterest(id uint64, record types.DocumentInterestRecord) (wire.OKResult, error)

AddInterest registers (or updates) an interest record on a document.

c.Documents().AddInterest(doc.ID, types.DocumentInterestRecord{
ClientID: "com.x.toolpaths", Name: "toolpath-recipes",
InterestType: types.Interested, DataVersion: 2,
})

mcp:tool documents_add_interest mcp:summary Registers (or updates) an interest record on a document.

func (Documents) Attachments

func (d Documents) Attachments(id uint64) (wire.ListAttachmentsResult, error)

Attachments returns a document's attachment records.

mcp:tool documents_list_attachments mcp:summary Returns a document's attachment records.

func (Documents) BatchSave

func (d Documents) BatchSave(args wire.BatchSaveArgs) (wire.BatchSaveResult, error)

BatchSave executes one save operation over several documents, continuing past per-item failures and returning per-file outcomes (M03-F09).

mcp:tool documents_batch_save mcp:summary Executes one save operation over several documents, continuing past per-item failures and returning per-file outcomes (M03-F09).

func (Documents) Close

func (d Documents) Close(id uint64, force bool) (wire.CloseDocumentsResult, error)

Close closes the document with the given session id; force discards unsaved changes instead of saving them first.

closed, err := c.Documents().Close(doc.ID, false)

mcp:tool close_document mcp:summary Close the document with the given id. Set force:true to discard unsaved changes.

func (Documents) CloseAll

func (d Documents) CloseAll(force bool) (wire.CloseDocumentsResult, error)

CloseAll closes every open document; force discards unsaved changes (the usual choice to reset to a clean session).

closed, err := c.Documents().CloseAll(true)

mcp:tool close_all_documents mcp:summary Close every open document to start a clean session. Set force:true to discard unsaved changes.

func (Documents) Create

func (d Documents) Create(args wire.CreateDocumentArgs) (wire.DocumentInfo, error)

Create makes a new document of the given kind active and returns it.

mcp:tool create_document mcp:summary Create a new document (type: part|assembly|drawing|presentation) and make it active.

func (Documents) Export

func (d Documents) Export(req wire.ExportRequest) (wire.ExportResponse, error)

Export writes the active part's bodies to a foreign mesh file at the requested resolution, returning the triangle count written and any warnings.

Example:

resp, err := c.Documents().Export(wire.ExportRequest{Path: "p.stl", Format: "stl", Resolution: "high"})

mcp:tool documents_export mcp:summary Writes the active part's bodies to a foreign mesh file at the requested resolution, returning the triangle count written and any warnings.

func (Documents) FileReferences

func (d Documents) FileReferences(id uint64) (wire.ListDocumentFileReferencesResult, error)

FileReferences returns the document-side view of a document's file references: status plus the bridge to the resolved document (M03-F07).

mcp:tool documents_list_file_references mcp:summary Returns the document-side view of a document's file references: status plus the bridge to the resolved document (M03-F07).

func (Documents) GetEndOfPart

func (d Documents) GetEndOfPart() (wire.EndOfPartResult, error)

GetEndOfPart returns the active part's end-of-part rollback marker: its feature-index position (-1 at the end) and whether the part is currently rolled back (#141).

eop, err := c.Documents().GetEndOfPart()

mcp:tool documents_get_end_of_part mcp:summary Returns the active part's end-of-part marker position (-1 at the end) and whether it is rolled back (#141).

func (Documents) GetProperty

func (d Documents) GetProperty(id uint64, set, name string) (wire.PropertyResult, error)

GetProperty returns one document property addressed by its set and name (#156).

mcp:tool documents_get_property mcp:summary Returns one document property addressed by its set and name (#156).

func (Documents) GetSketchSettings

func (d Documents) GetSketchSettings(id uint64) (wire.SketchSettingsResult, error)

GetSketchSettings returns the document's persisted sketch-authoring defaults — the constraint- inference toggles and family priority the sketch tools read (#147).

s, err := c.Documents().GetSketchSettings(doc.ID)

mcp:tool documents_get_sketch_settings mcp:summary Returns the document's persisted sketch settings (constraint inference toggles and priority) (#147).

func (Documents) GetUnits

func (d Documents) GetUnits() (wire.DocumentUnitsInfo, error)

GetUnits returns the active document's display-unit preferences and precision.

mcp:tool get_document_units mcp:summary Returns the active document's display-unit preferences and precision.

func (Documents) HasInterest

func (d Documents) HasInterest(id uint64, client string) (wire.HasDocumentInterestResult, error)

HasInterest reports whether any interest record's client id or name matches client — discovery without enumerating.

mcp:tool documents_has_interest mcp:summary Reports whether any interest record's client id or name matches client — discovery without enumerating.

func (Documents) Import

func (d Documents) Import(req wire.ImportRequest) (wire.ImportResponse, error)

Import reads a foreign mesh file (STL/OBJ/3MF) into the active part as an imported-body feature, returning how many bodies came in, whether the first is a watertight solid, and any warnings.

Example:

resp, err := c.Documents().Import(wire.ImportRequest{Path: "bolt.stl", Format: "stl"})

mcp:tool import_file mcp:summary Import a CAD file into the active part as an imported-body feature. Format: step|stl|obj|3mf. Path is on the host filesystem (e.g. "/path/EDF.STEP"). Returns the body count and whether the first body came in as a watertight solid. Pair with capture_viewport to SEE the imported geometry.

func (Documents) Interests

func (d Documents) Interests(id uint64) (wire.ListDocumentInterestsResult, error)

Interests returns a document's registered interest records.

mcp:tool documents_list_interests mcp:summary Returns a document's registered interest records.

func (Documents) List

func (d Documents) List() (wire.ListDocumentsResult, error)

List returns every open document and which one is active.

mcp:tool list_documents mcp:summary List open documents and which one is active.

func (Documents) ListProperties

func (d Documents) ListProperties(id uint64) (wire.ListPropertiesResult, error)

ListProperties returns every iProperty of the document, across all its sets (#156).

props, err := c.Documents().ListProperties(doc.ID)

mcp:tool documents_list_properties mcp:summary Returns every iProperty of the document, across all its sets (#156).

func (Documents) Open

func (d Documents) Open(args wire.OpenDocumentArgs) (wire.DocumentInfo, error)

Open loads the document at the given full document name (or returns the already-open one) and makes it active (#138).

info, err := c.Documents().Open(wire.OpenDocumentArgs{FullDocumentName: "/w/bracket.obk", Visible: true})

mcp:tool documents_open mcp:summary Loads the document at the given full document name (or returns the already-open one) and makes it active (#138).

func (Documents) Rebuild

func (d Documents) Rebuild(acceptErrorsAndContinue bool) (wire.UpdateDocumentResult, error)

Rebuild recomputes the active document's entire feature program as if all entities were dirtied (#139) — the full parametric rebuild.

mcp:tool rebuild_document mcp:summary Recompute the active document's entire feature program (full rebuild).

func (Documents) RegisterSubType

func (d Documents) RegisterSubType(args wire.RegisterDocumentSubTypeArgs) (wire.OKResult, error)

RegisterSubType declares a flavored document subtype over a base type; the flavor's lifecycle reaches the owner as client.operation push events (M05-F15).

client.Documents().RegisterSubType(wire.RegisterDocumentSubTypeArgs{
ID: "com.x.sim.study", BaseType: "part", DisplayName: "Simulation Study",
})

mcp:tool documents_register_sub_type mcp:summary Declares a flavored document subtype over a base type; the flavor's lifecycle reaches the owner as client.operation push events (M05-F15).

func (Documents) RemoveAttachment

func (d Documents) RemoveAttachment(id uint64, name string) (wire.OKResult, error)

RemoveAttachment deletes a document's named attachment record (and an embedded payload with it).

mcp:tool documents_remove_attachment mcp:summary Deletes a document's named attachment record (and an embedded payload with it).

func (Documents) RemoveInterest

func (d Documents) RemoveInterest(id uint64, clientID, name string) (wire.OKResult, error)

RemoveInterest deletes the (clientID, name) interest record.

mcp:tool documents_remove_interest mcp:summary Deletes the (clientID, name) interest record.

func (Documents) RequiresUpdate

func (d Documents) RequiresUpdate() (wire.RequiresUpdateResult, error)

RequiresUpdate reports whether the active document has out-of-date features a recompute would change (#139) — the read-only "needs update" flag.

mcp:tool document_requires_update mcp:summary Report whether the active document has out-of-date features needing a recompute.

func (Documents) Save

func (d Documents) Save(id uint64) (wire.SaveDocumentResult, error)

Save writes the document at its current file binding (#138).

mcp:tool documents_save mcp:summary Writes the document at its current file binding (#138).

func (Documents) SaveAs

func (d Documents) SaveAs(id uint64, newFullDocumentName string) (wire.SaveDocumentResult, error)

SaveAs writes the document under a new full document name, which becomes its identity (#138).

mcp:tool documents_save_as mcp:summary Writes the document under a new full document name, which becomes its identity (#138).

func (Documents) SaveCopyAs

func (d Documents) SaveCopyAs(args wire.SaveCopyAsArgs) (wire.SaveDocumentResult, error)

SaveCopyAs writes a copy of the document to a target file without retargeting the in-memory document (M03-F09).

mcp:tool documents_save_copy_as mcp:summary Writes a copy of the document to a target file without retargeting the in-memory document (M03-F09).

func (Documents) SetEndOfPart

func (d Documents) SetEndOfPart(position int) (wire.EndOfPartResult, error)

SetEndOfPart moves the active part's end-of-part marker to the feature index position (a negative index restores it to the end, re-including every feature), returning the marker's new state (#141).

c.Documents().SetEndOfPart(2) // roll back so features after index 2 are suppressed

mcp:tool documents_set_end_of_part mcp:summary Moves the active part's end-of-part marker to a feature index (negative restores it to the end), returning its new state (#141).

func (Documents) SetProperty

func (d Documents) SetProperty(id uint64, set, name string, value types.Variant) (wire.PropertyResult, error)

SetProperty creates or replaces a document property's typed value, returning its new state (#156).

c.Documents().SetProperty(doc.ID, "Design Tracking Properties", "Part Number",
types.StringVariant("BRK-001"))

mcp:tool documents_set_property mcp:summary Creates or replaces a document property's typed value, returning its new state (#156).

func (Documents) SetSketchSettings

func (d Documents) SetSketchSettings(id uint64, settings types.SketchSettings) (wire.SketchSettingsResult, error)

SetSketchSettings replaces the document's sketch settings, returning their new state (#147).

c.Documents().SetSketchSettings(doc.ID, types.SketchSettings{
InferConstraints: true, AutoApplyConstraints: false,
ConstraintPriority: types.PriorityHorizontalVertical})

mcp:tool documents_set_sketch_settings mcp:summary Replaces the document's sketch settings (constraint inference toggles and priority), returning their new state (#147).

func (Documents) SetUnits

func (d Documents) SetUnits(args wire.SetDocumentUnitsArgs) (wire.DocumentUnitsInfo, error)

SetUnits applies the non-nil unit/precision preferences and returns the updated units.

mcp:tool set_document_units mcp:summary Applies the non-nil document unit/precision preferences and returns the updated units.

func (Documents) SubTypes

func (d Documents) SubTypes() (wire.ListDocumentSubTypesResult, error)

SubTypes returns the registered flavored subtypes.

mcp:tool documents_list_sub_types mcp:summary Returns the registered flavored subtypes.

func (Documents) Update

func (d Documents) Update(acceptErrorsAndContinue bool) (wire.UpdateDocumentResult, error)

Update recomputes the active document's out-of-date features (#139). With acceptErrorsAndContinue it succeeds and reports sick features; otherwise a sick feature fails.

mcp:tool update_document mcp:summary Recompute the active document's out-of-date features; reports sick features.

type Drawing

Drawing is the drawing-document operation group.

type Drawing struct {
// contains filtered or unexported fields
}

func (Drawing) AddSheet

func (d Drawing) AddSheet(args wire.AddSheetArgs) (wire.SheetResult, error)

AddSheet adds a sheet of the given standard size (or a custom width×height) and orientation, and makes it active.

mcp:tool drawing_add_sheet mcp:summary Add a sheet to the active drawing (size = a0..a4|ansiA..ansiE|custom, orientation = portrait|landscape; for custom give widthMm/heightMm); an empty name auto-assigns. Becomes the active sheet.

func (Drawing) ExportDXF

func (d Drawing) ExportDXF(args wire.ExportDrawingDXFArgs) (wire.ExportDrawingDXFResult, error)

ExportDXF writes the active sheet to a DXF file — its views' visible/hidden edges, border and title block on named layers.

mcp:tool drawing_export_dxf mcp:summary Export the active drawing sheet to a DXF file (path, version r2000|r2018): view edges on Visible/Hidden layers, the border, and the title-block grid + field text.

func (Drawing) ListSheets

func (d Drawing) ListSheets() (wire.ListSheetsResult, error)

ListSheets returns the active drawing's sheets (the active one flagged) and its primary referenced model, if set.

mcp:tool drawing_list_sheets mcp:summary List the active drawing document's sheets (name, size, orientation, width/height in mm, border/title-block presence; the active sheet is flagged) and the primary referenced model.

func (Drawing) RemoveSheet

func (d Drawing) RemoveSheet(args wire.RemoveSheetArgs) (wire.ListSheetsResult, error)

RemoveSheet deletes the named sheet (a drawing must keep at least one sheet).

mcp:tool drawing_remove_sheet mcp:summary Remove the named sheet from the active drawing (a drawing must keep at least one sheet).

func (Drawing) SetActiveSheet

func (d Drawing) SetActiveSheet(args wire.SetActiveSheetArgs) (wire.SheetResult, error)

SetActiveSheet makes the named sheet the active sheet.

mcp:tool drawing_set_active_sheet mcp:summary Make the named sheet the active sheet of the active drawing.

func (Drawing) SetModelReference

func (d Drawing) SetModelReference(args wire.SetModelReferenceArgs) (wire.SetModelReferenceResult, error)

SetModelReference points the drawing at the model it documents; its title-block fields resolve against that model's iProperties. An empty name clears the reference.

mcp:tool drawing_set_model_reference mcp:summary Set the drawing's primary referenced model by full document name (its iProperties feed the title block); an empty name clears the reference.

func (Drawing) TitleBlockFields

func (d Drawing) TitleBlockFields(args wire.TitleBlockFieldsArgs) (wire.TitleBlockFieldsResult, error)

TitleBlockFields returns a sheet's title-block definition name and resolved field values (an empty Sheet uses the active sheet).

mcp:tool drawing_title_block_fields mcp:summary Read a sheet's title-block resolved fields (name, value, and source iProperty token); an empty sheet uses the active sheet. Fields are empty when the sheet has no title block.

type DrawingAnnotations

DrawingAnnotations is the drawing-annotations operation group.

type DrawingAnnotations struct {
// contains filtered or unexported fields
}

func (DrawingAnnotations) AddBalloon

func (d DrawingAnnotations) AddBalloon(args wire.AddBalloonArgs) (wire.AnnotationResult, error)

AddBalloon adds a balloon (a circled parts-list item number with an optional leader) at a sheet point.

mcp:tool drawing_add_balloon mcp:summary Add a balloon at a sheet point (xmm/ymm = circle centre): a circle holding the parts-list item number, with an optional leader to the component it tags (leaderXmm/leaderYmm). Balloons reference parts-list items.

func (DrawingAnnotations) AddCenterMarks

func (d DrawingAnnotations) AddCenterMarks(args wire.AddCenterMarksArgs) (wire.CenterMarksResult, error)

AddCenterMarks adds a centre mark (crosshair) at every circular model edge's centre in a view.

mcp:tool drawing_add_center_marks mcp:summary Add a centre mark (crosshair) at the centre of every circular model edge in a drawing view (the auto centre-mark-all-holes action). Each mark attaches to its edge and re-projects when the model changes.

func (DrawingAnnotations) AddCenterlines

func (d DrawingAnnotations) AddCenterlines(args wire.AddCenterlinesArgs) (wire.AnnotationResult, error)

AddCenterlines adds the horizontal+vertical symmetry centerlines through a view's centre.

mcp:tool drawing_add_centerlines mcp:summary Add the horizontal and vertical dash-dot symmetry centerlines through a drawing view's centre, spanning its extent. The lines re-derive from the view's bounds, so they track the model.

func (DrawingAnnotations) AddCoGMarker

func (d DrawingAnnotations) AddCoGMarker(args wire.AddCoGMarkerArgs) (wire.AnnotationResult, error)

AddCoGMarker adds a centre-of-gravity marker on a view, positioned at the model's centre of mass.

mcp:tool drawing_add_cog_marker mcp:summary Add a centre-of-gravity marker on a drawing view (viewName); it is placed at the referenced model's centre of mass projected into that view and updates with the model.

func (DrawingAnnotations) AddCustomTable

func (d DrawingAnnotations) AddCustomTable(args wire.AddCustomTableArgs) (wire.AnnotationResult, error)

AddCustomTable adds a general-purpose table (arbitrary headers + rows) at a sheet point.

mcp:tool drawing_add_custom_table mcp:summary Add a general-purpose table at a sheet point (xmm/ymm = top-left) with the given column headers and rows (each row's cells align to the headers). The rowCount in the result is the data-row count.

func (DrawingAnnotations) AddDatumFeature

func (d DrawingAnnotations) AddDatumFeature(args wire.AddDatumFeatureArgs) (wire.AnnotationResult, error)

AddDatumFeature adds a GD&T datum feature symbol (a lettered box + datum triangle) at a sheet point.

mcp:tool drawing_add_datum_feature mcp:summary Add a GD&T datum feature symbol at a sheet point (xmm/ymm): the datum letter (e.g. "A") in a box with a filled datum triangle, marking a datum that feature control frames reference.

func (DrawingAnnotations) AddFeatureControlFrame

func (d DrawingAnnotations) AddFeatureControlFrame(args wire.AddFeatureControlFrameArgs) (wire.AnnotationResult, error)

AddFeatureControlFrame adds a GD&T feature control frame at a sheet point.

mcp:tool drawing_add_feature_control_frame mcp:summary Add a GD&T feature control frame at a sheet point (xmm/ymm): a boxed geometric-tolerance callout with a characteristic (types.GeometricCharacteristic wire spelling, e.g. position|flatness|perpendicularity|parallelism|straightness|circularity), a tolerance value, and ordered datum reference letters.

func (DrawingAnnotations) AddHoleNotes

func (d DrawingAnnotations) AddHoleNotes(args wire.AddHoleNotesArgs) (wire.AnnotationResult, error)

AddHoleNotes adds a feature note on each hole in a base view: a leadered diameter callout.

mcp:tool drawing_add_hole_notes mcp:summary Add hole notes to a base view (viewName): a leadered Ø-diameter callout computed from each hole's circular edge and re-resolved when the model changes. quantity "combined" groups holes by diameter into one "<n>x Ø<d>" callout per size (default "perHole" = one per hole). Optional format template with {d} (diameter) and {n} (count) placeholders, e.g. "Ø{d} THRU". The rowCount in the result is the callout count.

func (DrawingAnnotations) AddHoleTable

func (d DrawingAnnotations) AddHoleTable(args wire.AddHoleTableArgs) (wire.AnnotationResult, error)

AddHoleTable adds a hole table for a base view's circular edges at a sheet point.

mcp:tool drawing_add_hole_table mcp:summary Add a hole table at a sheet point (xmm/ymm = top-left) listing every circular edge in a base view: HOLE / X / Y (from the view's datum origin) / ⌀ (diameter). The rowCount in the result is the hole count; the table updates with the model.

func (DrawingAnnotations) AddNote

func (d DrawingAnnotations) AddNote(args wire.AddDrawingNoteArgs) (wire.AnnotationResult, error)

AddNote adds a free text note (with an optional leader) at a sheet point.

mcp:tool drawing_add_note mcp:summary Add a free text note anchored at a sheet point (xmm/ymm); if leaderXmm/leaderYmm are given, a leader is drawn from the note to that point.

func (DrawingAnnotations) AddPartsList

func (d DrawingAnnotations) AddPartsList(args wire.AddPartsListArgs) (wire.AnnotationResult, error)

AddPartsList adds a parts list table sourced from the referenced assembly's BOM at a sheet point.

mcp:tool drawing_add_parts_list mcp:summary Add a parts list table at a sheet point (xmm/ymm = top-left): a grid sourced from the referenced assembly's parts-only BOM (item number, part number, description, quantity). The rowCount in the result is the number of BOM items; the table updates with the assembly.

func (DrawingAnnotations) AddRevisionCloud

func (d DrawingAnnotations) AddRevisionCloud(args wire.AddRevisionCloudArgs) (wire.AnnotationResult, error)

AddRevisionCloud adds a scalloped revision cloud over a sheet region.

mcp:tool drawing_add_revision_cloud mcp:summary Add a revision cloud (scalloped markup) over the sheet rectangle xmm/ymm/widthMm/heightMm, with an optional revision tag.

func (DrawingAnnotations) AddRevisionTable

func (d DrawingAnnotations) AddRevisionTable(args wire.AddRevisionTableArgs) (wire.AnnotationResult, error)

AddRevisionTable adds a revision table (revision/date/description rows) at a sheet point.

mcp:tool drawing_add_revision_table mcp:summary Add a revision table at a sheet point (xmm/ymm = top-left) with rows of {revision, date, description}, recording the drawing's change history. The rowCount in the result is the revision count.

func (DrawingAnnotations) AddRevisionTag

func (d DrawingAnnotations) AddRevisionTag(args wire.AddRevisionTagArgs) (wire.AnnotationResult, error)

AddRevisionTag adds a revision tag (a triangle holding a revision letter) at a sheet point.

mcp:tool drawing_add_revision_tag mcp:summary Add a revision tag (a triangle holding the revision letter) centred at a sheet point (xmm/ymm), flagging where that revision changed the drawing.

func (DrawingAnnotations) AddSurfaceTexture

func (d DrawingAnnotations) AddSurfaceTexture(args wire.AddSurfaceTextureArgs) (wire.AnnotationResult, error)

AddSurfaceTexture adds an ISO 1302 surface texture symbol (a roughness checkmark) at a sheet point.

mcp:tool drawing_add_surface_texture mcp:summary Add an ISO 1302 surface texture symbol at a sheet point (xmm/ymm): the roughness checkmark glyph with a finish value (roughness, e.g. "1.6"). materialRemoval = any (basic, default) | required (machined, with bar) | prohibited (as-cast, with vertex circle).

func (DrawingAnnotations) Delete

func (d DrawingAnnotations) Delete(args wire.DeleteAnnotationArgs) (wire.ListDrawingAnnotationsResult, error)

Delete removes the named annotation.

mcp:tool drawing_delete_annotation mcp:summary Delete a drawing annotation by name.

func (DrawingAnnotations) List

func (d DrawingAnnotations) List() (wire.ListDrawingAnnotationsResult, error)

List returns the active sheet's annotations.

mcp:tool drawing_list_annotations mcp:summary List the active sheet's drawing annotations (name, kind = cog|revisionCloud, the view a CoG marker is on, a revision cloud's tag, and curve count).

type DrawingDimensions

DrawingDimensions is the drawing-dimensions operation group.

type DrawingDimensions struct {
// contains filtered or unexported fields
}

func (DrawingDimensions) AddAngular

func (d DrawingDimensions) AddAngular(args wire.AddAngularDimensionArgs) (wire.DimensionResult, error)

AddAngular adds an angular dimension between the two straight edges nearest two pick points.

mcp:tool drawing_add_angular_dimension mcp:summary Add an angular dimension on a drawing view between the two straight model edges nearest the pick points (x1,y1,x2,y2 sheet mm). The measured angle (degrees) is reported in valueDeg and updates with the model.

func (DrawingDimensions) AddArcLength

func (d DrawingDimensions) AddArcLength(args wire.AddArcLengthDimensionArgs) (wire.DimensionResult, error)

AddArcLength adds an arc-length dimension on the circular/arc edge nearest a pick point.

mcp:tool drawing_add_arc_length_dimension mcp:summary Add an arc-length dimension on a drawing view, attached to the circular/arc model edge nearest the pick point (pickXmm/pickYmm sheet mm). It measures the edge's swept length (a full circle's circumference) with the dimension line following the arc. The value is the true model size and updates with the model.

func (DrawingDimensions) AddBaseline

func (d DrawingDimensions) AddBaseline(args wire.AddDimensionSetArgs) (wire.DimensionSetResult, error)

AddBaseline adds a baseline set: linear dimensions from the first pick point to each of the others, stacked.

mcp:tool drawing_add_baseline_dimensions mcp:summary Add a baseline dimension set on a drawing view: linear dimensions from the first pick point to each of the other points (each [x,y] sheet mm, snapped to model vertices), stacked. type = aligned|horizontal|vertical. The values update with the model.

func (DrawingDimensions) AddChain

func (d DrawingDimensions) AddChain(args wire.AddDimensionSetArgs) (wire.DimensionSetResult, error)

AddChain adds a chain set: linear dimensions between consecutive pick points, in a line.

mcp:tool drawing_add_chain_dimensions mcp:summary Add a chain dimension set on a drawing view: linear dimensions between consecutive pick points (each [x,y] sheet mm, snapped to model vertices), running in a line. type = aligned|horizontal|vertical. The values update with the model.

func (DrawingDimensions) AddLinear

func (d DrawingDimensions) AddLinear(args wire.AddLinearDimensionArgs) (wire.DimensionResult, error)

AddLinear adds a linear dimension on a view between two pick points.

mcp:tool drawing_add_linear_dimension mcp:summary Add a linear dimension on a drawing view between two pick points (x1,y1,x2,y2 in sheet mm, each snapped to the nearest projected model vertex). type = aligned (true distance, default) | horizontal | vertical; offsetMm stands the dimension line off the points. The measured value is the true model size and updates with the model.

func (DrawingDimensions) AddOrdinate

func (d DrawingDimensions) AddOrdinate(args wire.AddOrdinateDimensionsArgs) (wire.DimensionSetResult, error)

AddOrdinate adds an ordinate set: one leader-to-value dimension per point, each measuring that point's offset from a common datum along one axis.

mcp:tool drawing_add_ordinate_dimensions mcp:summary Add an ordinate dimension set on a drawing view: one dimension per point measuring its offset from a common datum ([x,y] sheet mm, snapped to model vertices) along axis = horizontal (view-X, default) | vertical (view-Y). Each is drawn as a leader to its value with no dimension line; the values update with the model.

func (DrawingDimensions) AddRadial

func (d DrawingDimensions) AddRadial(args wire.AddRadialDimensionArgs) (wire.DimensionResult, error)

AddRadial adds a radius or diameter dimension on the circular edge nearest a pick point.

mcp:tool drawing_add_radial_dimension mcp:summary Add a radius or diameter dimension on a drawing view, attached to the circular model edge nearest the pick point (pickXmm/pickYmm sheet mm). type = radius (default) | diameter. The value is the true model size and updates with the model.

func (DrawingDimensions) Delete

func (d DrawingDimensions) Delete(args wire.DeleteDimensionArgs) (wire.ListDrawingDimensionsResult, error)

Delete removes the named dimension.

mcp:tool drawing_delete_dimension mcp:summary Delete a drawing dimension by name.

func (DrawingDimensions) List

func (d DrawingDimensions) List() (wire.ListDrawingDimensionsResult, error)

List returns the active sheet's dimensions.

mcp:tool drawing_list_dimensions mcp:summary List the active sheet's drawing dimensions (name, type = aligned|horizontal|vertical, the view, measured value in mm, displayed text, curve count).

type DrawingSketches

DrawingSketches is the drawing-sketches operation group.

type DrawingSketches struct {
// contains filtered or unexported fields
}

func (DrawingSketches) Add

func (d DrawingSketches) Add(args wire.AddDrawingSketchArgs) (wire.DrawingSketchResult, error)

Add creates a new empty drawing sketch on the active sheet.

mcp:tool drawing_add_sketch mcp:summary Add a new empty 2D sketch to the active sheet (sheet-millimetre space); add geometry to it with drawing_add_sketch_entity.

func (DrawingSketches) AddEntity

func (d DrawingSketches) AddEntity(args wire.AddDrawingSketchEntityArgs) (wire.DrawingSketchResult, error)

AddEntity adds one entity (line, circle or rectangle) to a drawing sketch.

mcp:tool drawing_add_sketch_entity mcp:summary Add an entity to a drawing sketch (sketchName): kind line|circle|rectangle, points = sheet-mm [x,y] pairs (2 for line endpoints / rectangle corners, 1 for a circle centre with radiusMm).

func (DrawingSketches) AddHatchRegion

func (d DrawingSketches) AddHatchRegion(args wire.AddHatchRegionArgs) (wire.DrawingSketchResult, error)

AddHatchRegion fills a rectangular region with a hatch pattern, on a drawing sketch.

mcp:tool drawing_add_hatch_region mcp:summary Fill a rectangle (xmm/ymm/widthMm/heightMm, sheet mm) with a hatch pattern (general|cross|ansi31) on a drawing sketch; scaleMm overrides the line spacing. The region's fill lines render as sketch curves.

func (DrawingSketches) List

func (d DrawingSketches) List() (wire.ListDrawingSketchesResult, error)

List returns the active sheet's drawing sketches.

mcp:tool drawing_list_sketches mcp:summary List the active sheet's drawing sketches (name, entity count, curve count).

type DrawingStyles

DrawingStyles is the drawing-styles operation group.

type DrawingStyles struct {
// contains filtered or unexported fields
}

func (DrawingStyles) GetActiveStyle

func (d DrawingStyles) GetActiveStyle() (wire.StandardStyleResult, error)

GetActiveStyle returns the active standard's resolved dimension/text/line style preset.

mcp:tool drawing_get_active_style mcp:summary Read the active drawing standard's style preset — dimension (text/arrow size, decimals, unit, line weight), text (font, height) and line (weight) styles.

func (DrawingStyles) ListStandards

func (d DrawingStyles) ListStandards() (wire.ListStandardsResult, error)

ListStandards returns the available drafting standards and the active one.

mcp:tool drawing_list_standards mcp:summary List the active drawing's available drafting standards (iso, ansi) and which is active.

func (DrawingStyles) SetStandard

func (d DrawingStyles) SetStandard(args wire.SetStandardArgs) (wire.StandardStyleResult, error)

SetStandard makes the named drafting standard active and returns its style preset; every annotation re-renders to it.

mcp:tool drawing_set_standard mcp:summary Switch the active drawing's drafting standard (iso|ansi); returns the new active style preset (dimension/text/line), so the appearance change is visible in one call.

type DrawingViews

DrawingViews is the drawing-views operation group.

type DrawingViews struct {
// contains filtered or unexported fields
}

func (DrawingViews) AddAuxiliary

func (d DrawingViews) AddAuxiliary(args wire.AddAuxiliaryViewArgs) (wire.ViewResult, error)

AddAuxiliary adds a view projected perpendicular to a fold line on a parent view.

mcp:tool drawing_add_auxiliary_view mcp:summary Add an auxiliary view off a parent view: projected perpendicular to a fold line at foldAngleDeg (0 folds down like a top view, 90 folds to the side), inheriting the parent's scale/style; placed at centerXmm/centerYmm. Shows an inclined face true-size.

func (DrawingViews) AddBase

func (d DrawingViews) AddBase(args wire.AddBaseViewArgs) (wire.ViewResult, error)

AddBase adds a base view of the referenced model at the given orientation/scale/style, centred on the active sheet, and computes its hidden-line curves.

mcp:tool drawing_add_base_view mcp:summary Add a base view of the drawing's referenced model (orientation = front|top|right|back|left|bottom|iso, style = hiddenLine|wireframe|shaded, scale e.g. 0.5 for 1:2) centred at centerXmm/centerYmm; computes visible/hidden edges.

func (DrawingViews) AddBreak

func (d DrawingViews) AddBreak(args wire.AddBreakViewArgs) (wire.ViewResult, error)

AddBreak adds a break view: the parent compressed by removing a band along an axis.

mcp:tool drawing_add_break_view mcp:summary Add a break view: the parent view compressed by removing a band (orientation = horizontal removes a vertical band, vertical removes a horizontal one) between gapStartMm and gapEndMm on the parent (sheet mm), with break lines at the cut; placed at centerXmm/centerYmm.

func (DrawingViews) AddBreakout

func (d DrawingViews) AddBreakout(args wire.AddBreakoutViewArgs) (wire.ViewResult, error)

AddBreakout adds a breakout view: a parent copy with the interior revealed in a bounded region.

mcp:tool drawing_add_breakout_view mcp:summary Add a breakout view off a parent: a local cut-away revealing the interior inside the circular region (boundaryXmm/boundaryYmm/radiusMm on the parent, sheet mm); placed at centerXmm/centerYmm.

func (DrawingViews) AddDetail

func (d DrawingViews) AddDetail(args wire.AddDetailViewArgs) (wire.ViewResult, error)

AddDetail adds a magnified detail view of a circular region of a parent view.

mcp:tool drawing_add_detail_view mcp:summary Add a detail view: a magnified circular region (boundaryXmm/boundaryYmm/radiusMm on the parent, sheet mm) of a parent view, at the larger scale, placed at centerXmm/centerYmm.

func (DrawingViews) AddDraft

func (d DrawingViews) AddDraft(args wire.AddDraftViewArgs) (wire.ViewResult, error)

AddDraft adds a model-less framed draft view for manual 2D geometry.

mcp:tool drawing_add_draft_view mcp:summary Add a draft view: a model-less framed container (widthMm × heightMm, sheet mm) at centerXmm/centerYmm for manually-drawn 2D geometry.

func (DrawingViews) AddProjected

func (d DrawingViews) AddProjected(args wire.AddProjectedViewArgs) (wire.ViewResult, error)

AddProjected adds a view projected from a base view in the given direction.

mcp:tool drawing_add_projected_view mcp:summary Add a projected view off a base view (direction = right|left|up|down), inheriting the base's scale/style; placed at centerXmm/centerYmm.

func (DrawingViews) AddSection

func (d DrawingViews) AddSection(args wire.AddSectionViewArgs) (wire.ViewResult, error)

AddSection adds a section view cutting the parent's model along a section line.

mcp:tool drawing_add_section_view mcp:summary Add a section view off a parent view: the model is cut by the plane through the section line (x1,y1)-(x2,y2) drawn on the parent (sheet mm), the near half removed, the cut outline drawn bold and the exposed faces hatched; placed at centerXmm/centerYmm.

func (DrawingViews) AddSlice

func (d DrawingViews) AddSlice(args wire.AddSliceViewArgs) (wire.ViewResult, error)

AddSlice adds a slice view: only the zero-thickness cut outline at a section line on the parent.

mcp:tool drawing_add_slice_view mcp:summary Add a slice view off a parent: only the zero-thickness slice outline at the section line (x1,y1)-(x2,y2) on the parent (sheet mm), with nothing projected behind it; placed at centerXmm/centerYmm.

func (DrawingViews) Curves

func (d DrawingViews) Curves(args wire.ViewCurvesArgs) (wire.ViewCurvesResult, error)

Curves returns a view's drawing curves — the projected edge segments classified visible (solid) or hidden (dashed), in sheet millimetres.

mcp:tool drawing_view_curves mcp:summary Read a view's hidden-line drawing curves: 2D segments (sheet mm) flagged visible (solid) or hidden (dashed), each carrying the source model edge's reference key.

func (DrawingViews) Delete

func (d DrawingViews) Delete(args wire.DeleteViewArgs) (wire.ListDrawingViewsResult, error)

Delete removes the named view (and any views projected from it).

mcp:tool drawing_delete_view mcp:summary Delete a drawing view by name (deleting a base view also removes views projected from it).

func (DrawingViews) List

func (d DrawingViews) List() (wire.ListDrawingViewsResult, error)

List returns the active sheet's views.

mcp:tool drawing_list_views mcp:summary List the active sheet's drawing views (name, base/projected, orientation, scale, style, sheet centre, and visible/hidden curve counts).

type EllipticalArc

EllipticalArc is the shape of a 2D elliptical arc for Sketch.AddEllipticalArc: a center [x,y] (cm) and major-axis direction [x,y], unit-bearing major/minor radii ("20 mm"), and unit-bearing start/end angles ("0 deg", "90 deg") in the ellipse's major/minor frame. Grouped into a struct so the call stays under the parameter limit and reads by field at the call site.

type EllipticalArc struct {
Center, Axis []float64
MajorRadius, MinorRadius string
StartAngle, EndAngle string
Construction bool
}

type EllipticalArc3D

EllipticalArc3D is the shape of a 3D elliptical arc for Sketch3D.AddEllipticalArc: a center [x,y,z] (cm), plane normal Axis [x,y,z] (empty ⇒ +Z), in-plane MajorAxis direction (empty ⇒ +X), unit-bearing major/minor radii, and unit-bearing start/sweep angles spanning StartAngle..StartAngle+SweepAngle. Grouped into a struct so the call stays under the parameter limit and reads by field at the call site.

type EllipticalArc3D struct {
Center, Axis, MajorAxis []float64
MajorRadius, MinorRadius string
StartAngle, SweepAngle string
Construction bool
}

type Environment

Environment is the image-based-lighting operation group: it lets an add-in read, switch, and load the HDR environment the scene reflects.

type Environment struct {
// contains filtered or unexported fields
}

func (Environment) Get

func (e Environment) Get() (wire.EnvironmentView, error)

Get returns the active environment.

mcp:tool get_environment mcp:summary Read the HDR/IBL environment (sky preset or loaded image, rotation, intensity, background).

func (Environment) ListPresets

func (e Environment) ListPresets() (wire.EnvironmentPresetListResult, error)

ListPresets returns every built-in environment, flagging the active one.

mcp:tool list_environment_presets mcp:summary List the built-in environment (sky/IBL) presets.

func (Environment) LoadImage

func (e Environment) LoadImage(filePath string) (wire.EnvironmentView, error)

LoadImage loads an equirectangular HDR file (.hdr) as the environment.

mcp:tool load_environment_image mcp:summary Load an HDR/EXR image as the lighting environment (image-based lighting) by reference.

func (Environment) Set

func (e Environment) Set(args wire.SetEnvironmentArgs) (wire.EnvironmentView, error)

Set activates the named built-in preset with the given display parameters.

client.Environment().Set(wire.SetEnvironmentArgs{Preset: "Studio", Intensity: 1, ShowImage: true})

mcp:tool set_environment mcp:summary Set the environment: choose a preset or tune rotation/intensity/background visibility.

type EventDispatcher

EventDispatcher routes the JSON an add-in's Notify entry point receives to typed callbacks, so subscribers program against the wire DTOs instead of hand-decoding event JSON (M04-F05, Oblikovati/Oblikovati#613). Register callbacks with the On* helpers, then feed every incoming event into Dispatch:

events := client.NewEventDispatcher()
events.OnTransaction(func(e wire.TransactionEventPayload) { cache.Invalidate(e.Document) })
// in the add-in's Notify entry point:
events.Dispatch(eventJSON)

It is not safe for concurrent registration after dispatching begins; wire the callbacks up during add-in activation.

type EventDispatcher struct {
// contains filtered or unexported fields
}

func NewEventDispatcher

func NewEventDispatcher() *EventDispatcher

NewEventDispatcher returns a dispatcher with no callbacks registered.

func (*EventDispatcher) Dispatch

func (d *EventDispatcher) Dispatch(eventJSON []byte) bool

Dispatch decodes one Notify event and fires the matching callbacks, reporting whether the event's type tag is one this dispatcher understands (false lets the caller route other event families elsewhere). Malformed JSON is false.

func (*EventDispatcher) OnAssemblyFeatures

func (d *EventDispatcher) OnAssemblyFeatures(fn func(wire.AssemblyFeaturesChangedEvent))

OnAssemblyFeatures subscribes to assemblyFeatures.changed: the active assembly's machining-feature program was re-evaluated (the payload carries each feature's resulting health; re-read detail with assemblyFeatures.list) (M11-F08).

func (*EventDispatcher) OnFeature

func (d *EventDispatcher) OnFeature(fn func(wire.FeatureLifecycleEvent))

OnFeature subscribes to the three feature-lifecycle events (feature.added/.edited/.deleted); the payload's Type says which fired and carries the affected feature's identity (#148).

func (*EventDispatcher) OnFileDialogHook

func (d *EventDispatcher) OnFileDialogHook(fn func(wire.FileDialogHookPayload))

OnFileDialogHook subscribes to the file-UI hook events (file.new, the new/open/save-as dialog hooks, file.openFromMRU, file.populateMetadata); the payload's Type says which fired.

func (*EventDispatcher) OnFileDirty

func (d *EventDispatcher) OnFileDirty(fn func(wire.FileDirtyEventPayload))

OnFileDirty subscribes to file.dirty: a document's clean→dirty transition.

func (*EventDispatcher) OnFileResolution

func (d *EventDispatcher) OnFileResolution(fn func(wire.FileResolutionEventPayload))

OnFileResolution subscribes to file.resolution: a referenced document name failed to resolve (ResolvedName carries the substitute, if any).

func (*EventDispatcher) OnObjectRenamed

func (d *EventDispatcher) OnObjectRenamed(fn func(wire.ObjectRenamedEvent))

OnObjectRenamed subscribes to object.renamed: a body/sketch/feature/occurrence/document was renamed; the payload carries the object kind, its reference key, and the old and new names (#1644).

func (*EventDispatcher) OnOccurrence

func (d *EventDispatcher) OnOccurrence(fn func(wire.OccurrenceEventPayload))

OnOccurrence subscribes to the five assembly occurrence-lifecycle events (occurrence.added/.deleted/.replaced/.transformed/.suppressed); the payload's Type says which fired and carries the affected occurrence's identity (M11-F07).

func (*EventDispatcher) OnPropertyChanged

func (d *EventDispatcher) OnPropertyChanged(fn func(wire.PropertyChangedEvent))

OnPropertyChanged subscribes to property.changed: an object's property (suppression, a sketch setting) changed; the payload carries the object identity, the property name, and old/new values (#1644).

func (*EventDispatcher) OnSketchEdit

func (d *EventDispatcher) OnSketchEdit(fn func(wire.SketchEditEvent))

OnSketchEdit subscribes to the sketch-edit-mode events (sketch.editEntered/.editExited); the payload's Type says which fired and carries the sketch's identity (#148).

func (*EventDispatcher) OnTransaction

func (d *EventDispatcher) OnTransaction(fn func(wire.TransactionEventPayload))

OnTransaction subscribes to the five transaction lifecycle events (transaction.committed/.undone/.redone/.aborted/.deleted); the payload's Type says which fired.

type Features

Features is the feature-creation operation group for the active part.

type Features struct {
// contains filtered or unexported fields
}

func (Features) Add

func (f Features) Add(args wire.AddFeatureArgs) (json.RawMessage, error)

Add applies a feature operation. The result shape is operation-specific (see the kind's schema from List), so it is returned as raw JSON for the caller to decode.

mcp:tool add_feature mcp:summary Create a feature on the active part. Get the kind and its args schema from list_feature_kinds. mcp:input addFeatureArg

func (Features) Delete

func (f Features) Delete(id uint64) (wire.DeleteFeatureResult, error)

Delete removes a placed feature from the history and recomputes, e.g. Delete(7).

mcp:tool features_delete mcp:summary Removes a placed feature from the history and recomputes, e.g.

func (Features) Edit

func (f Features) Edit(args wire.EditFeatureArgs) (wire.FeatureDetailResult, error)

Edit edits a placed feature in place and recomputes: set editable scalars and/or re-pick its geometric references (a fillet's edges, an extrude's profile, a mirror's plane). E.g. Edit(wire.EditFeatureArgs{ID: 7, Scalars: []wire.ScalarEdit{{Index: 0, Value: "5 mm"}}}) or Edit(wire.EditFeatureArgs{ID: 7, Repick: []wire.FeatureRepick{{Slot: 0, Ref: edgeKey}}}).

mcp:tool features_edit mcp:summary Edit a placed feature in place — set scalars and/or re-pick its geometric references (edges/faces/profile/plane) — then recompute.

func (Features) Get

func (f Features) Get(id uint64) (wire.FeatureDetailResult, error)

Get returns one placed feature's state and editable scalars by its stable id (from model.tree), e.g. Get(7).

mcp:tool features_get mcp:summary Returns one placed feature's state and editable scalars by its stable id (from model.tree), e.g.

func (Features) List

func (f Features) List() (wire.ListFeatureKindsResult, error)

List returns every feature operation Add can create, each with its args schema.

mcp:tool list_feature_kinds mcp:summary List the feature operations add_feature can create, each with its JSON args schema.

func (Features) MirrorFeatures

func (f Features) MirrorFeatures(args wire.MirrorFeatureArgs) (json.RawMessage, error)

MirrorFeatures mirrors features across a plane (#189).

mcp:tool mirror_features mcp:summary Mirror existing features across a plane. {sourceFeatures:[names], normal:[x,y,z], origin?}.

func (Features) PatternCircular

func (f Features) PatternCircular(args wire.CircularPatternFeatureArgs) (json.RawMessage, error)

PatternCircular replicates one or more existing features in a circular array about an axis (#189) — the typed form of an add_feature call with kind patternCircular. The count may be a parameter expression (args.CountExpr, e.g. "slots"), enabling the canonical parametric workflow: model one slot, cut it, then circular-pattern it N = slots.

mcp:tool pattern_circular mcp:summary Circular-pattern existing features about an axis. {sourceFeatures:[names], count or countExpr, angle:"360 deg", axisPoint?, axisDir?}.

func (Features) PatternRectangular

func (f Features) PatternRectangular(args wire.RectangularPatternFeatureArgs) (json.RawMessage, error)

PatternRectangular replicates features on a rectangular grid (#189); CountX/CountY may be given as parameter expressions (CountXExpr/CountYExpr).

mcp:tool pattern_rectangular mcp:summary Rectangular-pattern existing features on a grid. {sourceFeatures:[names], countX/countY or *Expr, stepX:[x,y,z] cm, stepY?}.

func (Features) Rename

func (f Features) Rename(id uint64, name string) (wire.FeatureDetailResult, error)

Rename sets a feature's display name (the id stays stable), e.g. Rename(7, "Boss").

mcp:tool features_rename mcp:summary Sets a feature's display name (the id stays stable), e.g.

func (Features) Reorder

func (f Features) Reorder(id uint64, newIndex int) (wire.FeatureDetailResult, error)

Reorder moves a feature to a new history index and recomputes, e.g. Reorder(7, 0).

mcp:tool features_reorder mcp:summary Moves a feature to a new history index and recomputes, e.g.

func (Features) SetSuppressed

func (f Features) SetSuppressed(id uint64, suppressed bool) (wire.FeatureDetailResult, error)

SetSuppressed sets explicit suppression and recomputes, e.g. SetSuppressed(7, true).

mcp:tool features_set_suppressed mcp:summary Sets explicit suppression and recomputes, e.g.

type Files

Files is the file-surface operation group (M03-F07): file identity, the persisted file-to-file reference records, and reference repair.

type Files struct {
// contains filtered or unexported fields
}

func (Files) Get

func (f Files) Get(fullFileName string) (wire.FileInfo, error)

Get returns one open file's identity and load state.

info, err := client.Files().Get("/work/bracket.obk")

mcp:tool files_get mcp:summary Returns one open file's identity and load state.

func (Files) References

func (f Files) References(fullFileName string) (wire.ListFileReferencesResult, error)

References returns the file's persisted file-to-file reference records.

mcp:tool files_list_references mcp:summary Returns the file's persisted file-to-file reference records.

func (Files) ReplaceReference

func (f Files) ReplaceReference(args wire.ReplaceFileReferenceArgs) (wire.FileReferenceInfo, error)

ReplaceReference re-points one reference of a file at a new target (the broken-reference repair), returning the updated record.

mcp:tool files_replace_reference mcp:summary Re-points one reference of a file at a new target (the broken-reference repair), returning the updated record.

type FlatPattern

FlatPattern is the flat-pattern operation group.

type FlatPattern struct {
// contains filtered or unexported fields
}

func (FlatPattern) ActivateOrientation

func (f FlatPattern) ActivateOrientation(args wire.ActivateOrientationArgs) (wire.OrientationResult, error)

ActivateOrientation makes the named orientation current (it frames the flat and drives length/width).

mcp:tool flat_pattern_activate_orientation mcp:summary Activate a flat-pattern orientation by name; it frames the flat for export/drawing and drives the reported length/width.

func (FlatPattern) AddCenterline

func (f FlatPattern) AddCenterline(args wire.AddCenterlineArgs) (wire.CenterlinesResult, error)

AddCenterline adds a cosmetic centerline (a manufacturing annotation line) to the flat.

mcp:tool flat_pattern_add_centerline mcp:summary Add a cosmetic centerline (an annotation line from start to end, in flat 2D coordinates) to the flat pattern. Returns all centerlines.

func (FlatPattern) AddOrientation

func (f FlatPattern) AddOrientation(args wire.AddOrientationArgs) (wire.OrientationResult, error)

AddOrientation creates a named orientation (optionally activating it).

mcp:tool flat_pattern_add_orientation mcp:summary Add a named flat-pattern orientation (alignment type horizontal|vertical, alignment rotation in degrees, optional alignment-axis reference key, flip flags); set activate to make it current.

func (FlatPattern) DeleteCenterline

func (f FlatPattern) DeleteCenterline(args wire.DeleteCenterlineArgs) (wire.CenterlinesResult, error)

DeleteCenterline removes the cosmetic centerline at the given index.

mcp:tool flat_pattern_delete_centerline mcp:summary Delete the flat pattern's cosmetic centerline at the given index. Returns the remaining centerlines.

func (FlatPattern) DeleteOrientation

func (f FlatPattern) DeleteOrientation(args wire.DeleteOrientationArgs) (wire.OrientationsResult, error)

DeleteOrientation removes the named orientation (the default orientation cannot be deleted).

mcp:tool flat_pattern_delete_orientation mcp:summary Delete a flat-pattern orientation by name (the default orientation cannot be deleted).

func (FlatPattern) EdgesOfType

func (f FlatPattern) EdgesOfType(args wire.EdgesOfTypeArgs) (wire.EdgesResult, error)

EdgesOfType returns the developed flat's classified fold/tangent edges, optionally filtered to one type (bendUp/bendDown/tangent).

mcp:tool flat_pattern_edges_of_type mcp:summary List the developed flat's classified edges (bend-up/bend-down fold lines, tangent lines), optionally filtered to one type — the bend layer of a flat-pattern drawing/export.

func (FlatPattern) Faces

func (f FlatPattern) Faces() (wire.FacesResult, error)

Faces returns the developed flat's classified faces (front/back) with their areas.

mcp:tool flat_pattern_faces mcp:summary Report the developed flat's classified faces — the front (top) and back (bottom) faces and their developed areas.

func (FlatPattern) GetSettings

func (f FlatPattern) GetSettings() (wire.SettingsResult, error)

GetSettings returns the part's flat-pattern settings.

mcp:tool flat_pattern_get_settings mcp:summary Report the active sheet-metal part's flat-pattern settings (deferUpdate: whether the flat only recomputes on demand).

func (FlatPattern) ListBendOrder

func (f FlatPattern) ListBendOrder() (wire.BendOrderResult, error)

ListBendOrder returns the part's bends in their press-brake sequence (each with its 1-based order, angle and radius).

mcp:tool flat_pattern_list_bend_order mcp:summary List the sheet-metal part's bends in press-brake sequence order (feature, 1-based order, angle, radius) — the bend-order annotation shown on the flat pattern.

func (FlatPattern) ListCenterlines

func (f FlatPattern) ListCenterlines() (wire.CenterlinesResult, error)

ListCenterlines returns the flat's cosmetic centerlines.

mcp:tool flat_pattern_list_centerlines mcp:summary List the flat pattern's cosmetic centerlines (each an index and a start→end line segment in flat 2D coordinates).

func (FlatPattern) ListOrientations

func (f FlatPattern) ListOrientations() (wire.OrientationsResult, error)

ListOrientations returns the active part's flat-pattern orientations, the active one flagged.

mcp:tool flat_pattern_list_orientations mcp:summary List the active sheet-metal part's flat-pattern orientations (name, alignment, flips, and the flat's length/width under each); the active orientation is flagged.

func (FlatPattern) ListPlates

func (f FlatPattern) ListPlates() (wire.PlatesResult, error)

ListPlates returns the developed flat's plates — one per connected flat region — with each plate's extents/area under the active orientation.

mcp:tool flat_pattern_list_plates mcp:summary List the developed flat's plates (one per connected flat region of the sheet-metal part) with each plate's length/width/area under the active orientation.

func (FlatPattern) MapEntity

func (f FlatPattern) MapEntity(args wire.MapEntityArgs) (wire.MapEntityResult, error)

MapEntity maps a topology entity between the folded model and the developed flat by reference key (folded→flat when ToFlat, else flat→folded), so a drawing dimension or selection survives recompute.

mcp:tool flat_pattern_map_entity mcp:summary Map a topology entity (by reference key) between the folded sheet-metal model and its developed flat pattern (set toFlat for folded→flat, else flat→folded). Face-level: top/bottom faces map to the flat front/back face.

func (FlatPattern) SetBendOrder

func (f FlatPattern) SetBendOrder(args wire.SetBendOrderArgs) (wire.BendOrderResult, error)

SetBendOrder sets the bend sequence: Order lists the bend features by name; omitted bends keep their natural order after the listed ones (an empty Order resets to natural).

mcp:tool flat_pattern_set_bend_order mcp:summary Set the press-brake bend sequence by listing the bend features in order (omitted bends keep natural order after them; empty resets to creation order). Returns the new order.

func (FlatPattern) SetSettings

func (f FlatPattern) SetSettings(args wire.SetSettingsArgs) (wire.SettingsResult, error)

SetSettings edits the part's flat-pattern settings.

mcp:tool flat_pattern_set_settings mcp:summary Edit the flat-pattern settings (deferUpdate: suppress the automatic flat recompute so a heavy flat develops only on demand). Returns the updated settings.

type Fonts

Fonts is the font operation group: it lists the faces a text/emboss can use — the host's bundled faces plus the OS-installed fonts (ADR-0031).

type Fonts struct {
// contains filtered or unexported fields
}

func (Fonts) List

func (f Fonts) List() (wire.ListFontsResult, error)

List returns every selectable face (bundled "embedded" + host "system"); a system face carries the file path whose bytes are embedded into the document when it is chosen.

faces, _ := client.Fonts().List()

mcp:tool fonts_list mcp:summary Returns every selectable face (bundled "embedded" + host "system"); a system face carries the file path whose bytes are embedded into the document when it is chosen.

type Freeform

Freeform is the freeform (sub-D) cage-editing operation group (M10-F03 PBI-114, Oblikovati#699). Every edit recomputes the part and returns the refreshed feature detail.

type Freeform struct {
// contains filtered or unexported fields
}

func (Freeform) CreaseEdges

func (f Freeform) CreaseEdges(args wire.CreaseFreeformEdgesArgs) (wire.FeatureDetailResult, error)

CreaseEdges sets the crease sharpness (0 smooth … 1 fully sharp) on the selected cage edges, each addressed by its two cage vertex indices, e.g. CreaseEdges(wire.CreaseFreeformEdgesArgs{ID: 7, Edges: [][2]int{{0, 1}}, Sharpness: 1}).

mcp:tool freeform_crease_edges mcp:summary Sets the crease sharpness (0 smooth … 1 fully sharp) on the selected cage edges, each addressed by its two cage vertex indices, e.g.

func (Freeform) MoveVertices

func (f Freeform) MoveVertices(args wire.MoveFreeformVerticesArgs) (wire.FeatureDetailResult, error)

MoveVertices translates the selected cage vertices (by cage index) by [dx,dy,dz] in document units, e.g. MoveVertices(wire.MoveFreeformVerticesArgs{ID: 7, Vertices: []int{0}, Translation: [3]float64{1, 0, 0}}).

mcp:tool freeform_move_vertices mcp:summary Translates the selected cage vertices (by cage index) by [dx,dy,dz] in document units, e.g.

func (Freeform) SetLevel

func (f Freeform) SetLevel(id uint64, level int) (wire.FeatureDetailResult, error)

SetLevel changes the subdivision level a placed freeform feature's cage is evaluated at, e.g. SetLevel(7, 2).

mcp:tool freeform_set_level mcp:summary Changes the subdivision level a placed freeform feature's cage is evaluated at, e.g.

type Graphics

Graphics is the client/interaction-graphics group: it lets an add-in draw its own geometry — meshes, heatmaps, lines, point markers, and labels — into the 3D view. Set/List/Delete/SetVisible manage persistent (document-owned) graphics; the typed helpers (AddMesh, AddHeatmap, AddLines, AddPoints, AddLabel) wrap the common cases; Interaction reaches the transient command-preview lanes.

Geometry travels as flat arrays: coords/normals are xyz triples, colors rgba quads in 0..1, indices are 0-based into the primitive's own vertices.

type Graphics struct {
// contains filtered or unexported fields
}

func (Graphics) AddBodyOverlay

func (g Graphics) AddBodyOverlay(clientID, bodyKey string, color []float32) (wire.SetClientGraphicsResult, error)

AddBodyOverlay renders an existing B-rep body/face (by its persistent reference key) as a persistent overlay in an override color — the geometry stays host-side (no mesh shipped).

mcp:tool add_body_overlay mcp:summary Overlay an existing B-rep body/face (by reference key) in an override color, rendered host-side.

func (Graphics) AddFloodPlot

func (g Graphics) AddFloodPlot(clientID string, coords []float64, indices []int, scalars []float64, mapper wire.GraphicsColorMapper, opacity float32) (wire.SetClientGraphicsResult, error)

AddFloodPlot submits a scalar-mapped triangle mesh as an FEA-style flood plot drawn ON TOP of the model (depth test disabled) at the given opacity, so the field projects over the analyzed geometry instead of being occluded by it — the canonical way an FEA add-in shows a result field over its part/assembly. opacity is 0..1 (e.g. 0.6 lets the part edges read through the field); coords are xyz triples, scalars one per vertex.

Unlike AddHeatmap (a persistent, depth-tested overlay for coloring a 3D surface that has its own normals), a flood plot is a flat data layer with no surface normals, so it is rendered unlit and over the geometry.

func (Graphics) AddHeatmap

func (g Graphics) AddHeatmap(clientID string, coords []float64, indices []int, scalars []float64, mapper wire.GraphicsColorMapper) (wire.SetClientGraphicsResult, error)

AddHeatmap submits a triangle mesh colored per vertex from scalar values through a color mapper — the FEA/simulation-result case (coords xyz triples, indices triangle corners, scalars one per vertex).

func (Graphics) AddImage

func (g Graphics) AddImage(clientID, imagePath string, anchor []float64, width, height float64) (wire.SetClientGraphicsResult, error)

AddImage submits a world-anchored image billboard (a textured quad) sized in model units.

mcp:tool add_image_overlay mcp:summary Place an image billboard (textured quad) at a world point in the viewport.

func (Graphics) AddLabel

func (g Graphics) AddLabel(clientID, text string, anchor []float64, color []float32) (wire.SetClientGraphicsResult, error)

AddLabel submits a single world-anchored text label (anchor is the xyz world point).

func (Graphics) AddLines

func (g Graphics) AddLines(clientID string, coords []float64, indices []int, color []float32) (wire.SetClientGraphicsResult, error)

AddLines submits an indexed line list (coords xyz triples, indices segment-endpoint pairs) in one color as a persistent group.

func (Graphics) AddMesh

func (g Graphics) AddMesh(clientID string, coords []float64, indices []int, color []float32) (wire.SetClientGraphicsResult, error)

AddMesh submits a single-color triangle mesh as a persistent group (coords xyz triples, indices 0-based triangle corners, color rgba 0..1).

func (Graphics) AddPoints

func (g Graphics) AddPoints(clientID string, coords []float64, style types.GraphicsPointStyle, color []float32) (wire.SetClientGraphicsResult, error)

AddPoints submits point markers drawn with the given glyph style (coords xyz triples).

func (Graphics) AddStripMesh

func (g Graphics) AddStripMesh(clientID string, coords []float64, color []float32) (wire.SetClientGraphicsResult, error)

AddStripMesh submits a triangle-strip mesh in one color (coords xyz triples in strip order) — the compact encoding for terrain/ribbon overlays.

mcp:tool add_strip_mesh mcp:summary Draw a triangle-strip mesh overlay in one color (vertices in strip order).

func (Graphics) ColorMappers

func (g Graphics) ColorMappers() (wire.ColorMappersResult, error)

ColorMappers lists the registered named color mappers.

mcp:tool list_color_mappers mcp:summary List the registered named color mappers.

func (Graphics) Delete

func (g Graphics) Delete(clientID string) error

Delete removes the named graphics group.

mcp:tool delete_client_graphics mcp:summary Delete a client-graphics overlay by id.

func (Graphics) Interaction

func (g Graphics) Interaction() InteractionGraphics

Interaction returns the transient command-preview graphics group.

func (Graphics) List

func (g Graphics) List() (wire.ListClientGraphicsResult, error)

List enumerates the live graphics groups across all lanes.

mcp:tool list_client_graphics mcp:summary List the add-in's client-graphics overlays (id, visibility).

func (Graphics) RegisterColorMapper

func (g Graphics) RegisterColorMapper(name string, mapper wire.GraphicsColorMapper) error

RegisterColorMapper stores a named, reusable color mapper that heatmap primitives reference by name (via the MapperName field) instead of carrying an inline legend.

mcp:tool register_color_mapper mcp:summary Register a named, reusable heatmap color mapper shared across overlays.

func (Graphics) Set

func (g Graphics) Set(args wire.SetClientGraphicsArgs) (wire.SetClientGraphicsResult, error)

Set submits or replaces the whole named graphics group (idempotent by ClientId).

mcp:tool set_client_graphics mcp:summary Create or replace a named client-graphics overlay (declarative nodes/primitives drawn in the viewport, e.g. sim results).

func (Graphics) SetNodeSelectable

func (g Graphics) SetNodeSelectable(clientID, nodeID string, selectable bool) error

SetNodeSelectable toggles whether one node's primitives participate in picking.

mcp:tool set_graphics_node_selectable mcp:summary Toggle whether one client-graphics node (by id) is pickable.

func (Graphics) SetNodeTransform

func (g Graphics) SetNodeTransform(clientID, nodeID string, transform []float64) error

SetNodeTransform moves one node within a group without resubmitting its geometry (transform is a 16-element row-major matrix; empty resets to identity).

mcp:tool set_graphics_node_transform mcp:summary Move one client-graphics node (by id) without resending its mesh.

func (Graphics) SetNodeVisible

func (g Graphics) SetNodeVisible(clientID, nodeID string, visible bool) error

SetNodeVisible toggles one node's visibility within a group without resubmitting geometry.

mcp:tool set_graphics_node_visible mcp:summary Show or hide one client-graphics node (by id) without resending its mesh.

func (Graphics) SetVisible

func (g Graphics) SetVisible(clientID string, visible bool) error

SetVisible toggles a group's visibility without resubmitting its geometry.

mcp:tool set_client_graphics_visible mcp:summary Show or hide a client-graphics overlay by id.

type Help

Help is the help-routing operation group (M05-F14): register your add-in's help source and open topics through the host, so add-in help behaves like product help. Language reports the host locale.

type Help struct {
// contains filtered or unexported fields
}

func (Help) Display

func (h Help) Display(source, topic string) (wire.OKResult, error)

Display opens a topic of a registered source ("" ⇒ the host's documentation).

mcp:tool help_display mcp:summary Opens a topic of a registered source ("" ⇒ the host's documentation).

func (Help) LanguageInfo

func (h Help) LanguageInfo() (wire.LanguageInfoResult, error)

LanguageInfo returns the host's locale as a BCP-47 tag.

mcp:tool language_info mcp:summary Returns the host's locale as a BCP-47 tag.

func (Help) Path

func (h Help) Path(source string) (wire.HelpPathResult, error)

Path returns a source's registered base.

mcp:tool help_path mcp:summary Returns a source's registered base.

func (Help) RegisterContext

func (h Help) RegisterContext(source, base string) (wire.OKResult, error)

RegisterContext declares a help source: a URL prefix or local directory topics resolve against.

client.Help().RegisterContext("com.x.sim", "https://docs.example.org/sim/")

mcp:tool help_register_context mcp:summary Declares a help source: a URL prefix or local directory topics resolve against.

type Interaction

Interaction is the operation group for the host's current interaction status: whether the local user is mid-action. A collaboration add-in queries it to gate incoming remote edits — buffering them while the local user is busy (oblikovati-meeting ADR-0005).

type Interaction struct {
// contains filtered or unexported fields
}

func (Interaction) SetNotice

func (i Interaction) SetNotice(message string) (wire.OKResult, error)

SetNotice shows a short, transient message in the host status bar (the host clears it on the next user input). An add-in uses it to surface state the user can't otherwise see — e.g. connection progress or failure.

client.Interaction().SetNotice("Meeting: connection failed")

mcp:tool interaction_set_notice mcp:summary Shows a short, transient message in the host status bar (the host clears it on the next user input).

func (Interaction) State

func (i Interaction) State() (wire.InteractionState, error)

State reports whether an interactive tool/command is active or a transaction is open.

if st, _ := client.Interaction().State(); st.Busy { /* buffer remote edits */ }

mcp:tool interaction_state mcp:summary Reports whether an interactive tool/command is active or a transaction is open.

type InteractionGraphics

InteractionGraphics is the command-scoped preview/overlay surface: Update replaces a transient lane's nodes (rubber-band/manipulator feedback on mouse move) and Clear removes them — both vanish when the command ends.

type InteractionGraphics struct {
// contains filtered or unexported fields
}

func (InteractionGraphics) Clear

func (i InteractionGraphics) Clear() error

Clear removes all transient interaction graphics (both lanes).

mcp:tool clear_interaction_graphics mcp:summary Clear the transient interaction-graphics overlay.

func (InteractionGraphics) Update

func (i InteractionGraphics) Update(lane types.GraphicsLane, nodes []wire.GraphicsNode) error

Update replaces the nodes of one interaction lane (overlay draws on top of the scene; preview draws depth-tested with it).

mcp:tool update_interaction_graphics mcp:summary Set the transient interaction-graphics overlay (a short-lived preview/highlight pass, replaced each call).

type Interference

Interference is the static interference-analysis group.

type Interference struct {
// contains filtered or unexported fields
}

func (Interference) Analyze

func (i Interference) Analyze(args wire.AnalyzeInterferenceArgs) (wire.InterferenceResultsResult, error)

Analyze runs a static interference analysis and returns the overlapping pairs and volumes, e.g. Analyze(wire.AnalyzeInterferenceArgs{}) for the whole assembly.

mcp:tool analyze_interference mcp:summary Run a static interference analysis over the active assembly (or the occurrences subset). Returns each overlapping pair (occurrence ids + overlap volume + a representative point) and the total overlap volume.

type Keymap

Keymap is the command alias & keyboard-shortcut customization group (M05-F17): the catalog of bindable actions and the operations to rebind shortcuts, set aliases, reset to defaults, and import/export the whole customization. Chords are passed as typed [types.KeyChord] values and travel as their canonical string form.

type Keymap struct {
// contains filtered or unexported fields
}

func (Keymap) Export

func (k Keymap) Export() (wire.KeymapExport, error)

Export returns the user's full customization delta, portable across installs.

mcp:tool keymap_export mcp:summary Exports the user's keyboard customization as a portable delta.

func (Keymap) Import

func (k Keymap) Import(exp wire.KeymapExport) (wire.OKResult, error)

Import replaces the current customization with the given delta.

mcp:tool keymap_import mcp:summary Replaces the keyboard customization with an imported delta.

func (Keymap) List

func (k Keymap) List() (wire.ListBindingsResult, error)

List returns the full keymap catalog: every command and built-in action with its effective and default shortcut and any alias.

mcp:tool keymap_list mcp:summary Returns the full catalog of bindable commands with their shortcuts and aliases.

func (Keymap) Reset

func (k Keymap) Reset(actionID types.ActionID) (wire.OKResult, error)

Reset restores one action's shortcut and alias to their defaults.

mcp:tool keymap_reset mcp:summary Restores one command's shortcut and alias to their defaults.

func (Keymap) ResetAll

func (k Keymap) ResetAll() (wire.OKResult, error)

ResetAll restores every binding to its default, discarding all customization.

mcp:tool keymap_reset_all mcp:summary Restores every keyboard shortcut and alias to its default.

func (Keymap) SetAlias

func (k Keymap) SetAlias(actionID types.ActionID, alias string) (wire.OKResult, error)

SetAlias sets one action's typed command alias. An empty alias clears it; the host rejects an alias already bound to another action.

mcp:tool keymap_set_alias mcp:summary Sets a command's typed alias.

func (Keymap) SetChord

func (k Keymap) SetChord(actionID types.ActionID, chord types.KeyChord) (wire.OKResult, error)

SetChord rebinds one action's keyboard shortcut. A zero chord clears the binding; the host rejects a chord already bound to another action.

client.Keymap().SetChord("Feature.Extrude", types.KeyChord{Key: "E", Ctrl: true})

mcp:tool keymap_set_chord mcp:summary Rebinds a command's keyboard shortcut.

type LODReps

LODReps is the level-of-detail representation group (occurrence suppression).

type LODReps struct {
// contains filtered or unexported fields
}

func (LODReps) Activate

func (l LODReps) Activate(id uint64) (wire.LODResult, error)

Activate applies a level-of-detail representation's suppression set.

mcp:tool activate_lod mcp:summary Activate a level-of-detail representation (id) — apply its occurrence-suppression set. Returns the representation.

func (LODReps) Capture

func (l LODReps) Capture(name string) (wire.LODResult, error)

Capture snapshots the current suppression state into a new level-of-detail representation.

mcp:tool capture_lod mcp:summary Capture the current occurrence-suppression state into a new named level-of-detail representation. Returns the representation.

func (LODReps) Delete

func (l LODReps) Delete(id uint64) (wire.LODsResult, error)

Delete removes a level-of-detail representation and returns the remaining set.

mcp:tool delete_lod mcp:summary Delete a level-of-detail representation (id). Returns the remaining set.

func (LODReps) List

func (l LODReps) List() (wire.LODsResult, error)

List returns the assembly's level-of-detail representations in creation order.

mcp:tool list_lods mcp:summary List the assembly's level-of-detail representations: each with id, name, active flag, and suppressed-occurrence count.

func (LODReps) SetSuppressed

func (l LODReps) SetSuppressed(args wire.SetSuppressedArgs) (wire.LODResult, error)

SetSuppressed suppresses or restores an occurrence within a level-of-detail representation.

mcp:tool set_lod_suppressed mcp:summary Suppress or restore an occurrence (by id) within a level-of-detail representation. Returns the updated representation.

type Lighting

Lighting is the scene-lighting operation group: it lets an add-in read and switch the active lighting style and read/edit the discrete lights, so automations can drive how the model is illuminated.

type Lighting struct {
// contains filtered or unexported fields
}

func (Lighting) AddLight

func (l Lighting) AddLight(def types.LightDefinitionTypeEnum) (wire.LightInfo, error)

AddLight adds a light of the given emission shape with neutral defaults, returning it.

mcp:tool add_light mcp:summary Add a light to the active lighting style (type directional|point|spot, with direction/position, color, intensity).

func (Lighting) Lights

func (l Lighting) Lights() (wire.LightListResult, error)

Lights returns the active style's discrete lights.

mcp:tool list_lights mcp:summary List the lights in the active lighting style (id, type, direction/position, intensity, color).

func (Lighting) ListStyles

func (l Lighting) ListStyles() (wire.LightingStyleListResult, error)

ListStyles returns every selectable lighting style, flagging the active one.

mcp:tool list_lighting_styles mcp:summary List the available lighting styles (the ids set_lighting_style accepts).

func (Lighting) SetLight

func (l Lighting) SetLight(index int, light wire.LightInfo) (wire.LightInfo, error)

SetLight replaces the state of the light at index, returning the resulting light.

mcp:tool set_light mcp:summary Update a light's properties by id (direction/position, color, intensity, on/off).

func (Lighting) SetStyle

func (l Lighting) SetStyle(name string) (wire.LightingStyleView, error)

SetStyle activates the named lighting style, returning the resulting style.

client.Lighting().SetStyle("Outdoors")

mcp:tool set_lighting_style mcp:summary Switch to a lighting style by id; see list_lighting_styles.

func (Lighting) Style

func (l Lighting) Style() (wire.LightingStyleView, error)

Style returns the active lighting style's global controls.

s, _ := client.Lighting().Style()
_ = s.Exposure

mcp:tool get_lighting_style mcp:summary Read the active lighting style (the named set of lights + exposure).

type Manipulators

Manipulators is the custom-gizmo operation group (M05-F13): declare drag handles (world hotspots over your client graphics); gestures stream back as manipulator.drag push events.

type Manipulators struct {
// contains filtered or unexported fields
}

func (Manipulators) Remove

func (m Manipulators) Remove(id string) (wire.OKResult, error)

Remove dismisses a gizmo's handles.

mcp:tool manipulators_remove mcp:summary Dismisses a gizmo's handles.

func (Manipulators) Set

func (m Manipulators) Set(id string, handles []wire.ManipulatorHandleSpec) (wire.OKResult, error)

Set replaces one gizmo's handle set.

mcp:tool manipulators_set mcp:summary Replaces one gizmo's handle set.

type Materials

Materials is the material operation group: list/read materials, create/edit custom ones, assign them to bodies, and read a part's physical properties.

type Materials struct {
// contains filtered or unexported fields
}

func (Materials) Assign

func (m Materials) Assign(args wire.AssignMaterialArgs) (wire.OKResult, error)

Assign sets a body's material (or the part default when BodyKey is empty).

mcp:tool assign_material mcp:summary Assign a material to the active part (or a selected body).

func (Materials) Create

func (m Materials) Create(args wire.DuplicateAssetArgs) (wire.MaterialInfo, error)

Create duplicates an existing material into a new editable one under name.

mcp:tool create_material mcp:summary Duplicate an existing material into a new editable one under a name.

func (Materials) Get

func (m Materials) Get(id string) (wire.MaterialInfo, error)

Get returns one material by id.

mcp:tool get_material mcp:summary Get one material by id.

func (Materials) List

func (m Materials) List() (wire.ListMaterialsResult, error)

List returns every material available to the active document.

mcp:tool list_materials mcp:summary List the document's materials. mcp:digest summarizeMaterials

func (Materials) PhysicalProperties

func (m Materials) PhysicalProperties() (types.PhysicalProperties, error)

PhysicalProperties returns the active part's computed mass/volume/area/centroid.

mcp:tool get_physical_properties mcp:summary Read the active part's physical properties (mass, volume, area, center of mass).

func (Materials) Update

func (m Materials) Update(info wire.MaterialInfo) (wire.MaterialInfo, error)

Update writes the editable fields of a material (by its id) and returns the result.

mcp:tool update_material mcp:summary Update a material's editable fields (identified by its id).

type Messages

Messages is the notification + prompt + message-center operation group (M05-F09): balloon tips, declarative prompts with remembered answers, and the error manager's sectioned message tree.

type Messages struct {
// contains filtered or unexported fields
}

func (Messages) AddMessage

func (m Messages) AddMessage(args wire.AddErrorMessageArgs) (wire.OKResult, error)

AddMessage reports into the message center under the innermost open section.

mcp:tool errors_add_message mcp:summary Reports into the message center under the innermost open section.

func (Messages) BeginSection

func (m Messages) BeginSection(title string) (wire.BeginMessageSectionResult, error)

BeginSection groups the following messages under a titled, nestable section.

mcp:tool errors_begin_section mcp:summary Groups the following messages under a titled, nestable section.

func (Messages) Clear

func (m Messages) Clear() (wire.OKResult, error)

Clear empties the message center.

mcp:tool errors_clear mcp:summary Empties the message center.

func (Messages) EndSection

func (m Messages) EndSection(section int) (wire.OKResult, error)

EndSection closes a section opened by BeginSection.

mcp:tool errors_end_section mcp:summary Closes a section opened by BeginSection.

func (Messages) List

func (m Messages) List() (wire.ListErrorsResult, error)

List returns the message tree and the aggregate error/warning flags.

mcp:tool errors_list mcp:summary Returns the message tree and the aggregate error/warning flags.

func (Messages) RegisterBalloonTip

func (m Messages) RegisterBalloonTip(args wire.RegisterBalloonTipArgs) (wire.OKResult, error)

RegisterBalloonTip declares a named notification balloon (stable id ⇒ the user's "don't show again" suppression survives sessions).

mcp:tool balloon_tip_register mcp:summary Declares a named notification balloon (stable id ⇒ the user's "don't show again" suppression survives sessions).

func (Messages) Show

func (m Messages) Show() (wire.OKResult, error)

Show opens the host's message-center panel.

mcp:tool errors_show mcp:summary Opens the host's message-center panel.

func (Messages) ShowBalloonTip

func (m Messages) ShowBalloonTip(id string) (wire.ShowBalloonTipResult, error)

ShowBalloonTip displays a registered balloon; Shown is false when suppressed.

mcp:tool balloon_tip_show mcp:summary Displays a registered balloon; Shown is false when suppressed.

func (Messages) ShowPrompt

func (m Messages) ShowPrompt(args wire.ShowPromptArgs) (wire.ShowPromptResult, error)

ShowPrompt queues a declarative prompt: a remembered prompt resolves in the reply, otherwise the user's answer arrives as a prompt.answered push event.

mcp:tool prompts_show mcp:summary Queues a declarative prompt: a remembered prompt resolves in the reply, otherwise the user's answer arrives as a prompt.answered push event.

type MiniToolbars

MiniToolbars is the in-canvas mini-toolbar operation group (M05-F07): declare a floating toolbar near the work, stream the user's edits back as miniToolbar.changed events and the OK/Apply/Cancel as miniToolbar.committed.

type MiniToolbars struct {
// contains filtered or unexported fields
}

func (MiniToolbars) List

func (m MiniToolbars) List() (wire.ListMiniToolbarsResult, error)

List returns the declared toolbars in creation order.

mcp:tool mini_toolbar_list mcp:summary Returns the declared toolbars in creation order.

func (MiniToolbars) Remove

func (m MiniToolbars) Remove(id string) (wire.OKResult, error)

Remove dismisses the toolbar.

mcp:tool mini_toolbar_remove mcp:summary Dismisses the toolbar.

func (MiniToolbars) Set

func (m MiniToolbars) Set(tb wire.MiniToolbarSpec) (wire.OKResult, error)

Set creates the toolbar or replaces it entirely.

client.MiniToolbars().Set(wire.MiniToolbarSpec{
ID: "sim.probe", Visible: true, HeadsUpText: "Probe the result",
ShowOK: true, ShowCancel: true,
Controls: []wire.MiniToolbarControlSpec{
{Kind: types.MiniToolbarValueEditor, ID: "depth", Label: "Depth", Value: "10 mm"},
},
})

mcp:tool mini_toolbar_set mcp:summary Creates the toolbar or replaces it entirely.

func (MiniToolbars) Update

func (m MiniToolbars) Update(id string, controls []wire.MiniToolbarControlSpec) (wire.OKResult, error)

Update merges the given controls' values into the toolbar by control id.

mcp:tool mini_toolbar_update mcp:summary Merges the given controls' values into the toolbar by control id.

type Model

Model is the read-only model-inspection operation group.

type Model struct {
// contains filtered or unexported fields
}

func (Model) AddHighlightItems

func (m Model) AddHighlightItems(name string, refs []string) (wire.HighlightSetInfo, error)

AddHighlightItems adds model references (from ReferenceKeys) to a highlight set (#157).

mcp:tool add_highlight_items mcp:summary Add model references to a highlight set.

func (Model) ClearSelection

func (m Model) ClearSelection() (wire.SelectionResult, error)

ClearSelection clears the whole selection. Returns the now-empty selection.

mcp:tool clear_selection mcp:summary Clear the current selection.

func (Model) CreateHighlightSet

func (m Model) CreateHighlightSet(name, color string) (wire.HighlightSetInfo, error)

CreateHighlightSet adds a named, colored emphasis group (#157) the viewport outlines without selecting; add references with AddHighlightItems.

mcp:tool create_highlight_set mcp:summary Create a named, colored highlight set (emphasis group) the viewport outlines without selecting.

func (Model) DeleteHighlightSet

func (m Model) DeleteHighlightSet(name string) (wire.OKResult, error)

DeleteHighlightSet removes a highlight set (#157).

mcp:tool delete_highlight_set mcp:summary Delete a highlight set.

func (Model) Deselect

func (m Model) Deselect(refs []string) (wire.SelectionResult, error)

Deselect removes the named entities from the current selection. Returns the new selection.

mcp:tool deselect_entities mcp:summary Remove model entities (by reference string) from the current selection.

func (Model) HighlightSets

func (m Model) HighlightSets() (wire.ListHighlightSetsResult, error)

HighlightSets lists the active session's highlight sets (#157).

mcp:tool list_highlight_sets mcp:summary List the session's highlight sets (name, colour, item count).

func (Model) ReferenceKeys

func (m Model) ReferenceKeys() (wire.ReferenceKeysResult, error)

ReferenceKeys returns the active part's topology (faces/edges/vertices) with their persistent reference keys — the keys consumed by Include / AddSurfaceCurve / Project / attributes. It is how an add-in obtains a key without a viewport pick.

mcp:tool get_reference_keys mcp:summary List the active part's persistent topology reference keys (stable ids for faces/edges/vertices) — the refs project_geometry, include, and work planes consume.

func (Model) Select

func (m Model) Select(refs []string, mode string) (wire.SelectionResult, error)

Select selects the entities named by their reference strings (from a SelectionResult). Mode "add" extends the current selection; "replace" (or empty) replaces it. Returns the new selection.

mcp:tool select_entities mcp:summary Select model entities by their reference strings (mode add|replace).

func (Model) Selection

func (m Model) Selection() (wire.SelectionResult, error)

Selection returns the current selection summary.

mcp:tool get_selection mcp:summary Read the current selection.

func (Model) SetHighlightSetColor

func (m Model) SetHighlightSetColor(name, color string) (wire.HighlightSetInfo, error)

SetHighlightSetColor re-colours a highlight set to a "#rrggbb" colour (#157).

mcp:tool set_highlight_set_color mcp:summary Re-colour a highlight set.

func (Model) Tree

func (m Model) Tree() (wire.ModelTreeResult, error)

Tree returns a read-only snapshot of the active part's structure.

mcp:tool get_model_tree mcp:summary Read the active part's structure: parameters, sketches, features, body count.

type ModelStates

ModelStates is the model-state group — a model state selects one representation of each family and activating it switches all three together.

type ModelStates struct {
// contains filtered or unexported fields
}

func (ModelStates) Activate

func (m ModelStates) Activate(id uint64) (wire.ModelStateResult, error)

Activate switches the assembly to a model state — activating its three representations together.

mcp:tool activate_model_state mcp:summary Activate a model state (id) — switch the assembly's design-view, positional, and level-of-detail representations together. Returns the model state.

func (ModelStates) Create

func (m ModelStates) Create(args wire.CreateModelStateArgs) (wire.ModelStateResult, error)

Create makes a model state selecting one representation of each family by name.

mcp:tool create_model_state mcp:summary Create a model state selecting one representation of each family by name (designView/positional/levelOfDetail; empty leaves a family unchanged). Returns the model state.

func (ModelStates) Delete

func (m ModelStates) Delete(id uint64) (wire.ModelStatesResult, error)

Delete removes a model state and returns the remaining set.

mcp:tool delete_model_state mcp:summary Delete a model state (id). Returns the remaining set.

func (ModelStates) List

func (m ModelStates) List() (wire.ModelStatesResult, error)

List returns the assembly's model states in creation order.

mcp:tool list_model_states mcp:summary List the assembly's model states: each with id, name, the selected representation names, and active flag.

type NameValueMap

NameValueMap is the ordered string→variant options bag. Its JSON form is the canonical [wire.NameValueMap] entry list.

type NameValueMap struct {
// contains filtered or unexported fields
}

func (*NameValueMap) Clear

func (m *NameValueMap) Clear()

Clear removes every entry.

func (*NameValueMap) Count

func (m *NameValueMap) Count() int

Count returns the number of entries.

func (*NameValueMap) Entries

func (m *NameValueMap) Entries() wire.NameValueMap

Entries returns the canonical wire form (a copy; mutating it is safe).

func (*NameValueMap) Insert

func (m *NameValueMap) Insert(name string, value types.Variant, targetIndex int, before bool) error

Insert places a new entry before (or after) the entry at targetIndex, erroring when the name already exists or the index is out of range.

func (*NameValueMap) MarshalJSON

func (m *NameValueMap) MarshalJSON() ([]byte, error)

MarshalJSON encodes the canonical entry list.

func (*NameValueMap) NameAt

func (m *NameValueMap) NameAt(index int) (string, error)

NameAt returns the name at the 0-based index, erroring out of range.

func (*NameValueMap) Names

func (m *NameValueMap) Names() []string

Names returns the entry names in order.

func (*NameValueMap) Remove

func (m *NameValueMap) Remove(name string) bool

Remove deletes the named entry, reporting whether it existed.

func (*NameValueMap) Set

func (m *NameValueMap) Set(name string, value types.Variant)

Set adds the entry, or replaces the value when name already exists.

func (*NameValueMap) UnmarshalJSON

func (m *NameValueMap) UnmarshalJSON(b []byte) error

UnmarshalJSON decodes the canonical entry list.

func (*NameValueMap) Value

func (m *NameValueMap) Value(name string) (types.Variant, bool)

Value returns the value for name, ok=false when absent.

func (*NameValueMap) ValueAt

func (m *NameValueMap) ValueAt(index int) (types.Variant, error)

ValueAt returns the value at the 0-based index, erroring out of range.

type ObjectCollection

ObjectCollection is the ordered, mutable object-reference collection. Its JSON form is the canonical [wire.ObjectRefList].

type ObjectCollection struct {
// contains filtered or unexported fields
}

func (*ObjectCollection) Add

func (c *ObjectCollection) Add(ref types.ObjectRef)

Add appends a reference (duplicates are allowed, as in the reference).

func (*ObjectCollection) At

func (c *ObjectCollection) At(index int) (types.ObjectRef, error)

At returns the reference at the 0-based index, erroring out of range.

func (*ObjectCollection) Clear

func (c *ObjectCollection) Clear()

Clear removes every reference.

func (*ObjectCollection) Count

func (c *ObjectCollection) Count() int

Count returns the number of references.

func (*ObjectCollection) MarshalJSON

func (c *ObjectCollection) MarshalJSON() ([]byte, error)

MarshalJSON encodes the canonical reference list.

func (*ObjectCollection) Refs

func (c *ObjectCollection) Refs() []types.ObjectRef

Refs returns the references in order (a copy; mutating it is safe).

func (*ObjectCollection) RemoveAt

func (c *ObjectCollection) RemoveAt(index int) error

RemoveAt deletes the entry at the 0-based index, erroring out of range.

func (*ObjectCollection) RemoveRef

func (c *ObjectCollection) RemoveRef(ref types.ObjectRef) bool

RemoveRef deletes the first entry equal to ref, reporting whether one existed.

func (*ObjectCollection) UnmarshalJSON

func (c *ObjectCollection) UnmarshalJSON(b []byte) error

UnmarshalJSON decodes the canonical reference list.

type ObjectCollectionByVariant

ObjectCollectionByVariant is the ordered, string-keyed object-reference collection (M00-F05, #601). Keys are unique. Its JSON form is the canonical [wire.KeyedObjectRefList].

type ObjectCollectionByVariant struct {
// contains filtered or unexported fields
}

func (*ObjectCollectionByVariant) Add

func (c *ObjectCollectionByVariant) Add(key string, ref types.ObjectRef) error

Add appends a keyed reference, erroring when the key already exists.

func (*ObjectCollectionByVariant) At

func (c *ObjectCollectionByVariant) At(index int) (types.ObjectRef, error)

At returns the reference at the 0-based index, erroring out of range.

func (*ObjectCollectionByVariant) ByKey

func (c *ObjectCollectionByVariant) ByKey(key string) (types.ObjectRef, bool)

ByKey returns the reference for key, ok=false when absent.

func (*ObjectCollectionByVariant) Clear

func (c *ObjectCollectionByVariant) Clear()

Clear removes every entry.

func (*ObjectCollectionByVariant) Count

func (c *ObjectCollectionByVariant) Count() int

Count returns the number of entries.

func (*ObjectCollectionByVariant) Entries

func (c *ObjectCollectionByVariant) Entries() wire.KeyedObjectRefList

Entries returns the canonical wire form (a copy; mutating it is safe).

func (*ObjectCollectionByVariant) KeyAt

func (c *ObjectCollectionByVariant) KeyAt(index int) (string, error)

KeyAt returns the key at the 0-based index, erroring out of range.

func (*ObjectCollectionByVariant) MarshalJSON

func (c *ObjectCollectionByVariant) MarshalJSON() ([]byte, error)

MarshalJSON encodes the canonical keyed-reference list.

func (*ObjectCollectionByVariant) Remove

func (c *ObjectCollectionByVariant) Remove(key string) bool

Remove deletes the keyed entry, reporting whether it existed.

func (*ObjectCollectionByVariant) RemoveAt

func (c *ObjectCollectionByVariant) RemoveAt(index int) error

RemoveAt deletes the entry at the 0-based index, erroring out of range.

func (*ObjectCollectionByVariant) UnmarshalJSON

func (c *ObjectCollectionByVariant) UnmarshalJSON(b []byte) error

UnmarshalJSON decodes the canonical keyed-reference list.

type Options

Options is the application-options operation group (M05-F11): typed per-user option groups — general (startup), display (color scheme + ViewCube), sketch (grid/snapping), part (modeling defaults) — read and written as whole groups.

type Options struct {
// contains filtered or unexported fields
}

func (Options) Display

func (o Options) Display() (wire.DisplayOptionsView, error)

Display returns the display options (color scheme + ViewCube).

func (Options) General

func (o Options) General() (wire.GeneralOptionsView, error)

General returns the general options (startup behavior).

func (Options) Groups

func (o Options) Groups() (wire.ListOptionGroupsResult, error)

Groups returns the available option group names.

mcp:tool options_list_groups mcp:summary Returns the available option group names.

func (Options) Part

func (o Options) Part() (wire.PartOptionsView, error)

Part returns the part-modeling defaults.

func (Options) Save

func (o Options) Save() (wire.SaveOptionsView, error)

Save returns the save policy (thumbnail capture, dependents, old-version retention) (M03-F09).

func (Options) SetDisplay

func (o Options) SetDisplay(v wire.DisplayOptionsView) (wire.OKResult, error)

SetDisplay writes the display options.

mcp:tool options_set_group mcp:summary Writes the display options.

func (Options) SetGeneral

func (o Options) SetGeneral(v wire.GeneralOptionsView) (wire.OKResult, error)

SetGeneral writes the general options.

client.Options().SetGeneral(wire.GeneralOptionsView{StartupAction: types.StartupEmptyWorkspace})

mcp:tool options_set_group mcp:summary Writes the display options.

func (Options) SetPart

func (o Options) SetPart(v wire.PartOptionsView) (wire.OKResult, error)

SetPart writes the part-modeling defaults.

mcp:tool options_set_group mcp:summary Writes the display options.

func (Options) SetSave

func (o Options) SetSave(v wire.SaveOptionsView) (wire.OKResult, error)

SetSave writes the save policy; the host rejects capture modes it cannot perform rather than persisting a dead setting.

mcp:tool options_set_group mcp:summary Writes the display options.

func (Options) SetSketch

func (o Options) SetSketch(v wire.SketchOptionsView) (wire.OKResult, error)

SetSketch writes the sketch options.

mcp:tool options_set_group mcp:summary Writes the display options.

func (Options) Sketch

func (o Options) Sketch() (wire.SketchOptionsView, error)

Sketch returns the sketch options (grid + snapping).

type Parameters

Parameters is the parameter operation group for the active document — a part OR an assembly (both are parameter holders).

type Parameters struct {
// contains filtered or unexported fields
}

func (Parameters) Add

func (p Parameters) Add(args wire.ParameterSetArgs) (wire.ParameterInfo, error)

Add creates a new user parameter from a name and a unit-bearing expression.

mcp:tool add_parameter mcp:summary Add a user parameter, e.g. name="height" expression="3 cm".

func (Parameters) AddDerivedTable

func (p Parameters) AddDerivedTable(args wire.DerivedParameterTableAddArgs) (wire.DerivedParameterTableInfo, error)

AddDerivedTable links parameters from another document into this one, returning the created table.

mcp:tool parameters_derived_tables_add mcp:summary Links parameters from another document into this one, returning the created table.

func (Parameters) AddGroup

func (p Parameters) AddGroup(args wire.ParameterGroupAddArgs) (wire.ParameterGroupInfo, error)

AddGroup creates an empty custom group keyed by an immutable internal name; an empty display name defaults to it.

mcp:tool parameters_groups_add mcp:summary Creates an empty custom group keyed by an immutable internal name; an empty display name defaults to it.

func (Parameters) AddGroupMember

func (p Parameters) AddGroupMember(args wire.ParameterGroupMemberArgs) (wire.ParameterGroupInfo, error)

AddGroupMember adds a parameter to a group (membership in other groups is untouched) and returns the updated group.

mcp:tool parameters_groups_add_member mcp:summary Adds a parameter to a group (membership in other groups is untouched) and returns the updated group.

func (Parameters) Delete

func (p Parameters) Delete(name string) error

Delete removes a parameter by name. The host rejects the call (naming the offending dependents) while the parameter is in use.

mcp:tool parameters_delete mcp:summary Removes a parameter by name.

func (Parameters) DeleteDerivedTable

func (p Parameters) DeleteDerivedTable(id int) error

DeleteDerivedTable removes a table and its derived parameters. A table owned by a derived component cannot be deleted directly.

mcp:tool parameters_derived_tables_delete mcp:summary Removes a table and its derived parameters.

func (Parameters) DeleteGroup

func (p Parameters) DeleteGroup(args wire.ParameterGroupDeleteArgs) error

DeleteGroup removes a group; args.DeleteParameters opts into also deleting the member parameters (otherwise the members stay, only the group goes).

mcp:tool parameters_groups_delete mcp:summary Removes a group; args.DeleteParameters opts into also deleting the member parameters (otherwise the members stay, only the group goes).

func (Parameters) Dependents

func (p Parameters) Dependents(name string) (wire.ParameterNamesResult, error)

Dependents returns the names of the parameters whose expressions read this one.

mcp:tool parameters_dependents mcp:summary Returns the names of the parameters whose expressions read this one.

func (Parameters) DrivenBy

func (p Parameters) DrivenBy(name string) (wire.ParameterNamesResult, error)

DrivenBy returns the names of the parameters this parameter's expression reads.

mcp:tool parameters_driven_by mcp:summary Returns the names of the parameters this parameter's expression reads.

func (Parameters) Export

func (p Parameters) Export() (wire.ParameterExportResult, error)

Export returns the document's user parameters as the documented parameter-set XML for exchange with spreadsheet/PDM tooling.

mcp:tool parameters_export mcp:summary Returns the document's user parameters as the documented parameter-set XML for exchange with spreadsheet/PDM tooling.

func (Parameters) Get

func (p Parameters) Get(name string) (wire.ParameterInfo, error)

Get returns one parameter by name.

mcp:tool get_parameter mcp:summary Get one parameter of the active document (part or assembly) by name.

func (Parameters) GetDetail

func (p Parameters) GetDetail(name string) (wire.ParameterDetail, error)

GetDetail returns the full member-level view of one parameter: units, presentation, tolerance, expression list, custom-property exposure and the dependency neighborhood.

mcp:tool parameters_get_detail mcp:summary Returns the full member-level view of one parameter: units, presentation, tolerance, expression list, custom-property exposure and the dependency neighborhood.

func (Parameters) GetSettings

func (p Parameters) GetSettings() (wire.ParameterSettingsInfo, error)

GetSettings returns the document's parameter settings.

mcp:tool parameters_get_settings mcp:summary Returns the document's parameter settings.

func (Parameters) Import

func (p Parameters) Import(xml string) (wire.ParameterImportResult, error)

Import applies a parameter-set XML document: new names are created, known names updated. The whole set is validated first; a bad entry rejects the import naming the offending value.

mcp:tool parameters_import mcp:summary Applies a parameter-set XML document: new names are created, known names updated.

func (Parameters) List

func (p Parameters) List() (wire.ListParametersResult, error)

List returns the active document's parameters (part or assembly).

mcp:tool list_parameters mcp:summary List the active document's parameters (expression + evaluated value).

func (Parameters) ListDerivedTables

func (p Parameters) ListDerivedTables() (wire.ListDerivedParameterTablesResult, error)

ListDerivedTables returns the active document's derived parameter tables (part or assembly) with their links, candidates, and health.

mcp:tool parameters_derived_tables_list mcp:summary Returns the active document's derived parameter tables (part or assembly) with their links, candidates, and health.

func (Parameters) ListGroups

func (p Parameters) ListGroups() (wire.ListParameterGroupsResult, error)

ListGroups returns the active document's custom parameter groups (part or assembly) with their members, in creation order.

mcp:tool parameters_groups_list mcp:summary Returns the active document's custom parameter groups (part or assembly) with their members, in creation order.

func (Parameters) RemoveGroupMember

func (p Parameters) RemoveGroupMember(args wire.ParameterGroupMemberArgs) (wire.ParameterGroupInfo, error)

RemoveGroupMember detaches a parameter from a group — the parameter itself is kept — and returns the updated group.

mcp:tool parameters_groups_remove_member mcp:summary Detaches a parameter from a group — the parameter itself is kept — and returns the updated group.

func (Parameters) Set

func (p Parameters) Set(args wire.ParameterSetArgs) (wire.ParameterInfo, error)

Set changes an existing parameter's expression and recomputes the model.

mcp:tool set_parameter mcp:summary Change a parameter's expression and recompute the model.

func (Parameters) SetAllModelValueType

func (p Parameters) SetAllModelValueType(modelValueType string) (wire.ParameterSweepResult, error)

SetAllModelValueType drives every toleranced parameter's model-value selection to one bound (nominal/lower/upper/median) in a single undo step, for limit-stack studies.

mcp:tool parameters_set_all_model_value_type mcp:summary Drives every toleranced parameter's model-value selection to one bound (nominal/lower/upper/median) in a single undo step, for limit-stack studies.

func (Parameters) SetDerivedTableLinked

func (p Parameters) SetDerivedTableLinked(args wire.DerivedParameterTableSetLinkedArgs) (wire.DerivedParameterTableInfo, error)

SetDerivedTableLinked replaces a table's linked subset — newly linked names gain derived parameters, unlinked ones lose theirs — and returns the updated table.

mcp:tool parameters_derived_tables_set_linked mcp:summary Replaces a table's linked subset — newly linked names gain derived parameters, unlinked ones lose theirs — and returns the updated table.

func (Parameters) SetExpressionList

func (p Parameters) SetExpressionList(args wire.ParameterExpressionListArgs) (wire.ParameterDetail, error)

SetExpressionList replaces the parameter's multi-value choices (empty expressions clear the list) and returns the updated detail.

mcp:tool parameters_set_expression_list mcp:summary Replaces the parameter's multi-value choices (empty expressions clear the list) and returns the updated detail.

func (Parameters) SetGroupDisplayName

func (p Parameters) SetGroupDisplayName(args wire.ParameterGroupDisplayNameArgs) (wire.ParameterGroupInfo, error)

SetGroupDisplayName edits a group's display name (the internal name can never change) and returns the updated group.

mcp:tool parameters_groups_set_display_name mcp:summary Edits a group's display name (the internal name can never change) and returns the updated group.

func (Parameters) SetSettings

func (p Parameters) SetSettings(args wire.ParameterSettingsUpdateArgs) (wire.ParameterSettingsInfo, error)

SetSettings applies the non-nil settings mutations and returns the updated settings.

mcp:tool parameters_set_settings mcp:summary Applies the non-nil settings mutations and returns the updated settings.

func (Parameters) SetTolerance

func (p Parameters) SetTolerance(args wire.ParameterToleranceArgs) (wire.ParameterDetail, error)

SetTolerance sets the parameter's engineering tolerance (see wire.ParameterToleranceArgs for the modes) and returns the updated detail.

mcp:tool parameters_set_tolerance mcp:summary Sets the parameter's engineering tolerance (see wire.ParameterToleranceArgs for the modes) and returns the updated detail.

func (Parameters) Update

func (p Parameters) Update(args wire.ParameterUpdateArgs) (wire.ParameterDetail, error)

Update applies the non-nil presentation/exposure mutations and returns the updated detail.

mcp:tool parameters_update mcp:summary Applies the non-nil presentation/exposure mutations and returns the updated detail.

type Pattern

Pattern is the sketch-pattern group, reached via Sketch.Pattern.

type Pattern struct {
// contains filtered or unexported fields
}

func (Pattern) Circular

func (p Pattern) Circular(entities []uint64, center []float64, count int, angle string) (wire.AddSketchPatternResult, error)

Circular duplicates the seed entities into count instances spread over the unit-bearing angle about center ([x,y] cm); returns the created copy ids.

mcp:tool add_sketch_pattern mcp:summary Pattern selected entities: {sketchIndex, kind:"rectangular"|"circular", entities, …} with counts and spacing/angle expressions.

func (Pattern) Rectangular

func (p Pattern) Rectangular(entities []uint64, count1, count2 int, spacing1, spacing2 string) (wire.AddSketchPatternResult, error)

Rectangular duplicates the seed entities on a count1×count2 grid stepped by the unit-bearing spacings along the default axes; returns the created copy ids.

mcp:tool add_sketch_pattern mcp:summary Pattern selected entities: {sketchIndex, kind:"rectangular"|"circular", entities, …} with counts and spacing/angle expressions.

type PointClouds

PointClouds is the attached-scan method group (M17-F06, Oblikovati/Oblikovati#645): attach, query, place, and budget laser-scan / photogrammetry clouds on the active part.

type PointClouds struct {
// contains filtered or unexported fields
}

func (PointClouds) AddCrop

func (p PointClouds) AddCrop(cloud string, min, max types.Point) (wire.PointCloudCropInfo, error)

AddCrop adds an active crop over the model-space box [min, max] on the named cloud, limiting its display to points inside (the host mints the crop name).

mcp:tool point_clouds_add_crop mcp:summary Add a crop volume that limits a point cloud's display to a model-space box.

func (PointClouds) Attach

func (p PointClouds) Attach(name, fullFileName string) (wire.PointCloudInfo, error)

Attach reads the scan file at fullFileName and attaches it to the active part. An empty name lets the host mint one (Cloud1, Cloud2, …).

mcp:tool point_clouds_attach mcp:summary Attach a laser-scan / photogrammetry file (.xyz/.pts) to the active part as a referenced point cloud.

func (PointClouds) Delete

func (p PointClouds) Delete(name string) (wire.DeletePointCloudResult, error)

Delete removes the named cloud from the active part.

mcp:tool point_clouds_delete mcp:summary Remove an attached point cloud from the active part by name.

func (PointClouds) DeleteCrop

func (p PointClouds) DeleteCrop(cloud, crop string) (wire.DeletePointCloudCropResult, error)

DeleteCrop removes a named crop from a cloud.

mcp:tool point_clouds_delete_crop mcp:summary Remove a crop volume from a point cloud by name.

func (PointClouds) FitPlane

func (p PointClouds) FitPlane(cloud string) (wire.FitPointCloudPlaneResult, error)

FitPlane fits a least-squares work plane to the named cloud's displayed points (those passing its active crops) and returns the new work plane's name with the fitted origin (centroid) and unit normal. Crop to a planar region first to control what the plane is fitted to.

mcp:tool point_clouds_fit_plane mcp:summary Fit a work plane to a point cloud's displayed points (least-squares).

func (PointClouds) FromModelSpace

func (p PointClouds) FromModelSpace(name string, point types.Point) (wire.PointCloudSpaceResult, error)

FromModelSpace maps a model-space point into the named cloud's local space (OK is false when the placement is non-invertible).

mcp:tool point_clouds_from_model_space mcp:summary Map a model-space point into a cloud's local space.

func (PointClouds) Get

func (p PointClouds) Get(name string) (wire.PointCloudInfo, error)

Get returns one attached cloud's state by name.

mcp:tool point_clouds_get mcp:summary Return one attached point cloud's state (placement, scale, point counts) by name.

func (PointClouds) List

func (p PointClouds) List() (wire.ListPointCloudsResult, error)

List enumerates the active part's attached clouds.

mcp:tool point_clouds_list mcp:summary Enumerate the active part's attached point clouds (name, point counts, scale, visibility).

func (PointClouds) ListCrops

func (p PointClouds) ListCrops(cloud string) (wire.ListPointCloudCropsResult, error)

ListCrops enumerates the named cloud's crop volumes.

mcp:tool point_clouds_list_crops mcp:summary Enumerate a point cloud's crop volumes (name, active, box).

func (PointClouds) NearestPoint

func (p PointClouds) NearestPoint(cloud string, point types.Point) (wire.NearestPointResult, error)

NearestPoint snaps the model-space point onto the named cloud, returning its scan point nearest the query and the distance to it (Found is false only for an empty cloud). Compose with WorkPoints.Create to anchor a datum on the as-built scan data.

mcp:tool point_clouds_nearest_point mcp:summary Find a point cloud's scan point nearest a model-space query (snap).

func (PointClouds) SetCropActive

func (p PointClouds) SetCropActive(cloud, crop string, active bool) (wire.PointCloudCropInfo, error)

SetCropActive toggles whether a named crop limits the cloud's display.

mcp:tool point_clouds_set_crop_active mcp:summary Toggle whether a point cloud crop volume limits display.

func (PointClouds) SetDensity

func (p PointClouds) SetDensity(name string, maximumPointCount int) (wire.PointCloudInfo, error)

SetDensity sets the named cloud's display budget (MaximumPointCount); 0 shows every point.

mcp:tool point_clouds_set_density mcp:summary Set an attached point cloud's display point budget by name (0 = show all).

func (PointClouds) SetScale

func (p PointClouds) SetScale(name string, scale float64) (wire.PointCloudInfo, error)

SetScale sets the named cloud's uniform cloud→model scale (must be positive).

mcp:tool point_clouds_set_scale mcp:summary Set an attached point cloud's uniform scale by name (must be positive).

func (PointClouds) SetTransform

func (p PointClouds) SetTransform(name string, transform types.Matrix) (wire.PointCloudInfo, error)

SetTransform sets the named cloud's cloud→model placement.

mcp:tool point_clouds_set_transform mcp:summary Set an attached point cloud's placement transform by name.

func (PointClouds) SetVisible

func (p PointClouds) SetVisible(name string, visible bool) (wire.PointCloudInfo, error)

SetVisible shows or hides the named cloud.

mcp:tool point_clouds_set_visible mcp:summary Show or hide an attached point cloud by name.

func (PointClouds) ToModelSpace

func (p PointClouds) ToModelSpace(name string, point types.Point) (wire.PointCloudSpaceResult, error)

ToModelSpace maps a point from the named cloud's local space into model space.

mcp:tool point_clouds_to_model_space mcp:summary Map a point from a cloud's local space into model space.

type PositionalReps

PositionalReps is the positional representation group (constraint/joint value overrides).

type PositionalReps struct {
// contains filtered or unexported fields
}

func (PositionalReps) Activate

func (p PositionalReps) Activate(id uint64) (wire.PositionalResult, error)

Activate applies a positional representation's value overrides and re-solves the assembly.

mcp:tool activate_positional mcp:summary Activate a positional representation (id) — apply its constraint/joint value overrides and re-solve the assembly to that position. Returns the representation.

func (PositionalReps) Capture

func (p PositionalReps) Capture(name string) (wire.PositionalResult, error)

Capture snapshots the current constraint/joint values into a new positional representation.

mcp:tool capture_positional mcp:summary Capture the current constraint/joint values into a new named positional representation. Returns the representation.

func (PositionalReps) Delete

func (p PositionalReps) Delete(id uint64) (wire.PositionalsResult, error)

Delete removes a positional representation and returns the remaining set.

mcp:tool delete_positional mcp:summary Delete a positional representation (id). Returns the remaining set.

func (PositionalReps) List

func (p PositionalReps) List() (wire.PositionalsResult, error)

List returns the assembly's positional representations in creation order.

mcp:tool list_positionals mcp:summary List the assembly's positional representations: each with id, name, active flag, and override count.

func (PositionalReps) SetFlexible

func (p PositionalReps) SetFlexible(args wire.SetFlexibleArgs) (wire.PositionalResult, error)

SetFlexible sets a subassembly occurrence's flexibility within a positional representation.

mcp:tool set_positional_flexible mcp:summary Set a subassembly occurrence's flexibility within a positional representation. Returns the updated representation.

func (PositionalReps) SetOverride

func (p PositionalReps) SetOverride(args wire.SetPositionalOverrideArgs) (wire.PositionalResult, error)

SetOverride overrides a constraint's or joint's value within a positional representation.

mcp:tool set_positional_override mcp:summary Override a constraint's (or joint's, isJoint:true) value within a positional representation. Returns the updated representation.

type Progress

Progress is the progress-bar operation group (M05-F09): begin a bar for a long operation, advance it step by step, and end it. Cancellation arrives both in each update's reply and as a progress.cancelled push event.

type Progress struct {
// contains filtered or unexported fields
}

func (Progress) Begin

func (p Progress) Begin(steps int, message string) (wire.BeginProgressResult, error)

Begin starts a bar of steps steps and returns its id.

bar, _ := client.Progress().Begin(100, "Meshing…")
for i := 1; i <= 100; i++ {
if r, _ := client.Progress().Update(bar.ID, i, ""); r.Cancelled { break }
}
client.Progress().End(bar.ID)

mcp:tool progress_begin mcp:summary Starts a bar of steps steps and returns its id.

func (Progress) End

func (p Progress) End(id int) (wire.OKResult, error)

End removes the bar.

mcp:tool progress_end mcp:summary Removes the bar.

func (Progress) Update

func (p Progress) Update(id, step int, message string) (wire.UpdateProgressResult, error)

Update advances the bar to step, optionally replacing its message; the reply's Cancelled reports the user pressed cancel.

mcp:tool progress_update mcp:summary Advances the bar to step, optionally replacing its message; the reply's Cancelled reports the user pressed cancel.

type Ribbon

Ribbon is the ribbon operation group — discovery of the active ribbon's structure, so an add-in knows the tab/panel internal names to place its controls into. Placement itself is done with Commands().Create (the Ribbon/Tab/Category/Environment fields).

type Ribbon struct {
// contains filtered or unexported fields
}

func (Ribbon) Environments

func (rb Ribbon) Environments() (wire.ListEnvironmentsResult, error)

Environments returns the UI environments the command framework scopes by (base, sketch, …), flagging the active one — so an add-in placing contextual commands knows which contexts exist (add-in-created environments: Oblikovati#667).

mcp:tool ui_list_environments mcp:summary Returns the UI environments the command framework scopes by (base, sketch, …), flagging the active one — so an add-in placing contextual commands knows which contexts exist (add-in-created environments: Oblikovati#667).

func (Ribbon) List

func (rb Ribbon) List() (wire.ListRibbonResult, error)

List returns the ribbon currently shown for the active document (ZeroDoc when none is open), with its tabs, panels, and controls — the discovery surface for inserting add-in buttons.

mcp:tool get_ribbon mcp:summary Read the ribbon shown for the active document (ZeroDoc when none open): its tabs, panels, and controls — the names to place add-in buttons into.

type Scripts

Scripts is the operation group for running a Lua program against the live model in one call (the sandboxed runtime of ADR-0028). An MCP/LLM client uses it to submit a whole automation program instead of issuing many individual method calls.

type Scripts struct {
// contains filtered or unexported fields
}

func (Scripts) Run

func (s Scripts) Run(source string, wallMs int) (wire.ScriptRunResult, error)

Run executes a Lua source against the host and returns its captured output, any script error (reported in the result, not as a transport error), and timing. wallMs is an optional per-run wall-clock budget in milliseconds (0 ⇒ the host default).

res, _ := client.Scripts().Run(`oblikovati.documents.create{ type="part" }`, 0)
if res.Error != "" { log.Print(res.Error) }

mcp:tool run_script mcp:summary Run a whole sandboxed Lua program against the model in one call (instead of many tool calls). Drive the model with oblikovati.call("method", {args}) or the typed sugar oblikovati.<group>.<method>{args} (e.g. oblikovati.documents.create{type="part"}, oblikovati.parameters.add{name="h",expression="3 cm"}); print(...) for output. Returns {output, error, durationMs}. Optional wallMs bounds the run (default 10s, max 60s).

type SheetMetal

SheetMetal is the sheet-metal rule operation group.

type SheetMetal struct {
// contains filtered or unexported fields
}

func (SheetMetal) BendAllowance

func (s SheetMetal) BendAllowance(args wire.BendAllowanceArgs) (wire.BendAllowanceResult, error)

BendAllowance previews the developed flat length of one bend under the active rule.

mcp:tool sheet_metal_bend_allowance mcp:summary Preview the developed flat length (bend allowance) and bend deduction of a single bend at a given angle (and optional radius) under the active sheet-metal unfold method.

func (SheetMetal) Bends

func (s SheetMetal) Bends() (wire.BendsResult, error)

Bends reports the folded part's bend lineage — every bend the wall/bend features introduced, with the unfold values the flat pattern develops it by — and the total developed length added by all bends. It is the flat pattern's prerequisite.

mcp:tool sheet_metal_bends mcp:summary List the bends in the active sheet-metal part (feature, angle, radius, bend allowance and deduction per bend, plus the summed allowance) — the bend lineage the flat pattern develops from.

func (SheetMetal) GetStyle

func (s SheetMetal) GetStyle() (wire.SheetMetalStyleResult, error)

GetStyle returns the active sheet-metal rule.

mcp:tool get_sheet_metal_style mcp:summary Report the active sheet-metal part's rule: thickness, bend radius, relief shape/size, minimum gap, unfold method and K-factor.

func (SheetMetal) SetStyle

func (s SheetMetal) SetStyle(args wire.SetSheetMetalStyleArgs) (wire.SheetMetalStyleResult, error)

SetStyle edits the active sheet-metal rule and recomputes. Each field is optional; an empty value leaves that property unchanged.

mcp:tool set_sheet_metal_style mcp:summary Edit the active sheet-metal rule (any of thickness, bendRadius, reliefShape, reliefWidth, reliefDepth, minimumGap, unfoldMethod, kFactor) and recompute. Returns the updated rule.

func (SheetMetal) Unfold

func (s SheetMetal) Unfold() (wire.UnfoldResult, error)

Unfold develops the active part into its flat pattern and reports the flat: 2D extents, gauge, developed area and fold lines. The flat is derived from the folded model and the rule, so a thickness or K-factor edit changes its extents through the bend allowance.

mcp:tool sheet_metal_unfold mcp:summary Develop the active sheet-metal part into its flat pattern and report the flat: its 2D extents, thickness, developed area and the fold lines (with bend angles).

type Sketch

Sketch is the sketch-authoring operation group for the active part.

type Sketch struct {
// contains filtered or unexported fields
}

func (Sketch) AddArcByCenterStartEnd

func (s Sketch) AddArcByCenterStartEnd(index int, center, start, end []float64, ccw, construction bool) (wire.AddSketchEntityResult, error)

AddArcByCenterStartEnd adds an arc from a center, start, and end point; ccw orients it.

func (Sketch) AddArcByCenterStartEndExpr

func (s Sketch) AddArcByCenterStartEndExpr(index int, center, start, end []string, ccw, construction bool) (wire.AddSketchEntityResult, error)

AddArcByCenterStartEndExpr adds a center-start-end arc whose three points are parameter expressions (each ["x-expr","y-expr"]); ccw orients it. The expression form lets a generated arc's center and endpoints track parameters (a magnet arc on a rotor) (#189).

func (Sketch) AddArcByThreePoints

func (s Sketch) AddArcByThreePoints(index int, a, b, c []float64, construction bool) (wire.AddSketchEntityResult, error)

AddArcByThreePoints adds the arc through three points (start, mid, end).

func (Sketch) AddBlockInstance

func (s Sketch) AddBlockInstance(args wire.AddSketchBlockArgs) (wire.AddSketchBlockResult, error)

AddBlockInstance places an instance of a block definition in a sketch.

mcp:tool sketch_add_block_instance mcp:summary Places an instance of a block definition in a sketch.

func (Sketch) AddChamfer

func (s Sketch) AddChamfer(index int, line1, line2 uint64, d1, d2 string) (wire.AddSketchEntityResult, error)

AddChamfer bevels the corner between two existing lines with distances d1 and d2 (each unit-bearing); pass an empty d2 for an equal-distance chamfer.

func (Sketch) AddCircleByCenterRadius

func (s Sketch) AddCircleByCenterRadius(index int, center []float64, radius string, construction bool) (wire.AddSketchEntityResult, error)

AddCircleByCenterRadius adds a circle from a center [x,y] (cm) and a unit-bearing radius ("10 mm").

func (Sketch) AddCircleByThreePoints

func (s Sketch) AddCircleByThreePoints(index int, a, b, c []float64, construction bool) (wire.AddSketchEntityResult, error)

AddCircleByThreePoints adds the circle through three points (the circumcircle).

func (Sketch) AddEllipse

func (s Sketch) AddEllipse(index int, center, axis []float64, majorR, minorR string, construction bool) (wire.AddSketchEntityResult, error)

AddEllipse adds a full ellipse from a center [x,y] (cm), a major-axis direction [x,y], and unit-bearing major/minor radii ("20 mm").

func (Sketch) AddEllipticalArc

func (s Sketch) AddEllipticalArc(index int, spec EllipticalArc) (wire.AddSketchEntityResult, error)

AddEllipticalArc adds an elliptical arc described by spec.

func (Sketch) AddEntity

func (s Sketch) AddEntity(args wire.AddSketchEntityArgs) (wire.AddSketchEntityResult, error)

AddEntity is the general entity constructor — the escape hatch covering every kind and variant; prefer the typed helpers below for the common constructors.

mcp:tool add_sketch_entity mcp:summary Add a 2D primitive to a sketch: {sketchIndex, kind, points:[[x,y],…]} with kind one of line|circle|arc|rectangle|slot|polygon|polyline|ellipse|spline|point. Optional variant (e.g. "threePoint","centerPoint"), radius (unit expr), ccw, construction. For kind "polyline" pass points:[[x,y],…] and optional closed:true (an arbitrary outline; closed ⇒ one closed profile). Coordinates are cm in sketch space.

func (Sketch) AddEquationCurve

func (s Sketch) AddEquationCurve(index int, xExpr, yExpr string, t0, t1 float64) (wire.AddSketchEntityResult, error)

AddEquationCurve adds a parametric curve x(t)/y(t) over t ∈ [t0, t1] (t unitless).

func (Sketch) AddFillRegion

func (s Sketch) AddFillRegion(index int, seed []float64, style string) (wire.AddEntityIDResult, error)

AddFillRegion fills the closed region containing seed ([x,y] cm) with the named style.

mcp:tool add_fill_region mcp:summary Add a fill/hatch region to a sketch, seeded at a point [x,y] inside a closed loop.

func (Sketch) AddFillet

func (s Sketch) AddFillet(index int, line1, line2 uint64, radius string) (wire.AddSketchEntityResult, error)

AddFillet rounds the corner between two existing lines (by entity id) with a tangent arc of the given unit-bearing radius, trimming both lines.

func (Sketch) AddFixedSpline

func (s Sketch) AddFixedSpline(index int, points [][]float64) (wire.AddSketchEntityResult, error)

AddFixedSpline adds an immutable spline through the given fixed points ([x,y] cm each).

func (Sketch) AddImage

func (s Sketch) AddImage(index int, ref string, anchor []float64, width, height, rotation string, opacity float64) (wire.AddSketchImageResult, error)

AddImage places a raster image (ref is a package-store reference) anchored at [x,y] cm with unit-bearing width/height; rotation and opacity are optional ("" / 0).

mcp:tool add_sketch_image mcp:summary Place a raster image into a sketch (reference, anchor, size, rotation, opacity).

func (Sketch) AddLine

func (s Sketch) AddLine(index int, a, b []float64, construction bool) (wire.AddSketchEntityResult, error)

AddLine adds a line between two points (each [x,y] in cm).

func (Sketch) AddLineExpr

func (s Sketch) AddLineExpr(index int, a, b []string, construction bool) (wire.AddSketchEntityResult, error)

AddLineExpr adds a line whose endpoints are parameter expressions (#189): a and b are each ["x-expr","y-expr"] evaluated through the document's parameter engine ("bore_r", "slot_w/2 + 1 mm"), so the line is parametric at construction. Use this over Sketch.AddLine when a generated profile's vertices must track parameters (a stator slot, a linkage).

func (Sketch) AddOffsetSpline

func (s Sketch) AddOffsetSpline(index int, parentSpline uint64, distance string) (wire.AddSketchEntityResult, error)

AddOffsetSpline adds the offset of a parent spline (by id) at a unit-bearing distance.

func (Sketch) AddPoint

func (s Sketch) AddPoint(index int, p []float64) (wire.AddSketchEntityResult, error)

AddPoint adds a standalone sketch point at [x,y] (cm).

func (Sketch) AddPointExpr

func (s Sketch) AddPointExpr(index int, p []string) (wire.AddSketchEntityResult, error)

AddPointExpr adds a standalone sketch point whose coordinates are parameter expressions (p is ["x-expr","y-expr"]); see Sketch.AddLineExpr (#189).

func (Sketch) AddPolygon

func (s Sketch) AddPolygon(index int, center, through []float64, sides int, variant string, construction bool) (wire.AddSketchEntityResult, error)

AddPolygon adds a regular polygon with the given side count, centered at center with a vertex (inscribed) or edge-midpoint (when variant is "circumscribed") at through.

func (Sketch) AddRectangle

func (s Sketch) AddRectangle(index int, corner, opposite []float64, construction bool) (wire.AddSketchEntityResult, error)

AddRectangle adds an axis-aligned rectangle from two opposite corners (each [x,y] cm).

func (Sketch) AddSlot

func (s Sketch) AddSlot(index int, c0, c1 []float64, width string, construction bool) (wire.AddSketchEntityResult, error)

AddSlot adds a center-to-center straight slot of the given unit-bearing width.

func (Sketch) AddSpline

func (s Sketch) AddSpline(index int, variant string, points [][]float64, closed, construction bool) (wire.AddSketchEntityResult, error)

AddSpline adds a spline through fit points (default) or as a control-point spline when variant is "controlPoint". Points are [x,y] in cm; closed makes a closed loop.

func (Sketch) AddText

func (s Sketch) AddText(index int, anchor []float64, text, height, rotation, justify string) (wire.AddEntityIDResult, error)

AddText places sketch text at anchor ([x,y] cm) with a unit-bearing height; rotation and justify ("left"|"center"|"right") are optional.

mcp:tool add_sketch_text mcp:summary Add a text box to a sketch at an anchor [x,y] with a string, height and optional rotation/justify.

func (Sketch) AddTextWith

func (s Sketch) AddTextWith(args wire.AddTextArgs) (wire.AddEntityIDResult, error)

AddTextWith places sketch text with the full field set (font family/size + vertical alignment), so the text can be embossed/extruded by reference.

mcp:tool add_sketch_text mcp:summary Add a text box to a sketch at an anchor [x,y] with a string, height and optional rotation/justify.

func (Sketch) AutoDimension

func (s Sketch) AutoDimension(index int) (wire.AutoDimensionResult, error)

AutoDimension fully constrains the sketch (grounds free geometry to 0 DOF), returning the number of constraints added and the resulting DOF.

mcp:tool auto_dimension_sketch mcp:summary Fully constrain a sketch automatically with dimensions and constraints; reports any remaining DOF.

func (Sketch) BlockDefinitions

func (s Sketch) BlockDefinitions() (wire.ListBlockDefinitionsResult, error)

BlockDefinitions enumerates the part's block definitions.

mcp:tool sketch_block_definitions_list mcp:summary Enumerates the part's block definitions.

func (Sketch) BlockInstances

func (s Sketch) BlockInstances(index int) (wire.ListBlockInstancesResult, error)

BlockInstances enumerates a sketch's placed block instances.

mcp:tool sketch_block_instances mcp:summary Enumerates a sketch's placed block instances.

func (Sketch) Constrain

func (s Sketch) Constrain(index int) Constrain

Constrain returns the geometric-constraint group for the sketch at index.

func (Sketch) ConstraintStatus

func (s Sketch) ConstraintStatus(index int) (wire.ConstraintStatusResult, error)

ConstraintStatus reports the sketch's DOF/over-under-constraint state without solving.

mcp:tool get_sketch_constraint_status mcp:summary Report a sketch's constraint state and remaining degrees of freedom WITHOUT moving geometry (non-mutating DOF analysis).

func (Sketch) Constraints

func (s Sketch) Constraints(index int) (wire.ListConstraintsResult, error)

Constraints enumerates the sketch's geometric constraints.

mcp:tool list_sketch_constraints mcp:summary Enumerate a sketch's geometric constraints (index, kind, related entity ids). mcp:digest summarizeConstraints

func (Sketch) Copy

func (s Sketch) Copy(index int, entities []uint64, dx, dy float64) (wire.TransformSketchResult, error)

Copy duplicates a selection offset by [dx,dy] (cm), returning the new entity ids.

func (Sketch) CopyTo

func (s Sketch) CopyTo(args wire.CopySketchArgs) (wire.CopySketchResult, error)

CopyTo copies geometry from one sketch into another (#151) — reuse a profile across planes. Empty EntityIDs copies the whole sketch; Position offsets the copies in the target plane.

mcp:tool sketch_copy_to mcp:summary Copy geometry from one 2D sketch into another (optionally a subset, optionally offset).

func (Sketch) Create

func (s Sketch) Create(args wire.CreateSketchArgs) (wire.CreateSketchResult, error)

Create adds a sketch on an origin plane and returns its index.

mcp:tool create_sketch mcp:summary Create a sketch and return its sketchIndex. Default is an origin plane (plane: XY|XZ|YZ, default XY); set workPlaneIndex to sketch on a user work plane instead — the way to sketch on a plane built on a feature-created face (see create_work_plane + get_reference_keys) so later features reference earlier geometry.

func (Sketch) CreateBlockDefinition

func (s Sketch) CreateBlockDefinition(args wire.CreateBlockDefinitionArgs) (wire.SketchBlockDefinitionInfo, error)

CreateBlockDefinition creates a named block definition. With a source sketch and entity ids, the selection moves into the definition and one instance replaces it in place; without them, an empty definition is created.

mcp:tool sketch_block_definitions_create mcp:summary Creates a named block definition.

func (Sketch) Delete

func (s Sketch) Delete(index int) (wire.OKResult, error)

Delete removes the sketch (only valid when no feature consumes it).

mcp:tool delete_sketch mcp:summary Delete a sketch by sketchIndex.

func (Sketch) DeleteBlockDefinition

func (s Sketch) DeleteBlockDefinition(name string) (wire.OKResult, error)

DeleteBlockDefinition removes a block definition by name. A definition that still has instances is rejected; the error names the consuming sketches.

mcp:tool sketch_block_definitions_delete mcp:summary Removes a block definition by name.

func (Sketch) Dependents

func (s Sketch) Dependents(index int) (wire.SketchDependentsResult, error)

Dependents lists the features that consume the sketch (#154) — the impact of deleting or editing it. Empty when nothing uses the sketch (then it is safe to delete).

mcp:tool sketch_dependents mcp:summary List the features that consume a sketch — what a delete/edit would affect.

func (Sketch) Dimension

func (s Sketch) Dimension(index int) Dimension

Dimension returns the dimensional-constraint group for the sketch at index.

func (Sketch) Dimensions

func (s Sketch) Dimensions(index int) (wire.ListDimensionsResult, error)

Dimensions enumerates the sketch's dimensional constraints.

mcp:tool list_sketch_dimensions mcp:summary Enumerate a sketch's dimensional constraints (index, kind, backing parameter, expression, value, driven flag). mcp:digest summarizeDimensions

func (Sketch) Edit

func (s Sketch) Edit(index int) (wire.EditSketchResult, error)

Edit opens the sketch for geometry editing (enters edit mode).

mcp:tool edit_sketch mcp:summary Open a sketch for editing (enter its sketch environment).

func (Sketch) EditText

func (s Sketch) EditText(args wire.EditTextArgs) (wire.SketchTextResult, error)

EditText applies a partial edit to an existing sketch text entity (only the set fields), returning the entity's resolved style. Editing re-derives the text's geometry, so any emboss referencing it recomputes.

mcp:tool sketch_edit_text mcp:summary Applies a partial edit to an existing sketch text entity (only the set fields), returning the entity's resolved style.

func (Sketch) Entities

func (s Sketch) Entities(index int) (wire.EnumerateEntitiesResult, error)

Entities enumerates the sketch's geometry (kind, construction flag, points, radius).

mcp:tool list_sketch_entities mcp:summary Enumerate a sketch's geometry (each entity's index, session id, kind, construction flag) — the ids constraints/dimensions/transform reference. mcp:digest summarizeEntities

func (Sketch) ExitEdit

func (s Sketch) ExitEdit(index int) (wire.EditSketchResult, error)

ExitEdit leaves edit mode, returning to the previous environment.

mcp:tool exit_sketch mcp:summary Leave the sketch environment and update the part.

func (Sketch) Extend

func (s Sketch) Extend(index int, line uint64, pick []float64) (wire.TransformSketchResult, error)

Extend lengthens the end of a line nearest the pick point ([x,y] cm) to the next crossing.

func (Sketch) Get

func (s Sketch) Get(index int) (wire.SketchInfo, error)

Get returns a single sketch's info by index.

mcp:tool get_sketch mcp:summary Get one 2D sketch's properties by sketchIndex (name, plane, visibility, entity count, DOF).

func (Sketch) GetCustomLineType

func (s Sketch) GetCustomLineType(index int) (wire.SketchCustomLineTypeResult, error)

GetCustomLineType returns the sketch's loaded custom line-type definition, if any.

lt, err := c.Sketch().GetCustomLineType(0)

mcp:tool sketch_get_custom_line_type mcp:summary Returns the sketch's loaded custom line-type definition, if any.

func (Sketch) GetText

func (s Sketch) GetText(index int, entity uint64) (wire.SketchTextResult, error)

GetText reads back a sketch text entity's style.

mcp:tool sketch_get_text mcp:summary Reads back a sketch text entity's style.

func (Sketch) Include

func (s Sketch) Include(index int, refs []string) (wire.ProjectGeometryResult, error)

Include projects part topology as ordinary sketch geometry (a convenience for Project with mode "include").

func (Sketch) InferenceOptions

func (s Sketch) InferenceOptions() (wire.InferenceOptionsView, error)

InferenceOptions reads the current sketch inference configuration.

mcp:tool sketch_get_inference_options mcp:summary Reads the current sketch inference configuration.

func (Sketch) List

func (s Sketch) List() (wire.ListSketchesResult, error)

List enumerates the active part's sketches with their identity, DOF, and health.

mcp:tool list_sketches mcp:summary List the active part's 2D sketches (index, name, plane, entity count, remaining DOF). mcp:digest summarizeSketches

func (Sketch) Mirror

func (s Sketch) Mirror(index int, entities []uint64, mirrorLine uint64) (wire.TransformSketchResult, error)

Mirror reflects a selection across the line entity mirrorLine, returning the copies.

func (Sketch) Move

func (s Sketch) Move(index int, entities []uint64, dx, dy float64) (wire.TransformSketchResult, error)

Move translates a selection of entities in place by [dx,dy] (cm).

func (Sketch) Offset

func (s Sketch) Offset(index int, entity uint64, distance string) (wire.OffsetSketchResult, error)

Offset offsets a single line/circle/arc (by entity id) by a signed unit-bearing distance, returning the new entity's id and kind.

mcp:tool offset_sketch mcp:summary Offset a sketch curve (entity id), a line chain (entities), or a whole closed region (profileIndex) by a distance expression — region offset is OpenSCAD offset(r): +grows/−shrinks with rounded convex corners.

func (Sketch) OffsetChain

func (s Sketch) OffsetChain(index int, lines []uint64, distance string) (wire.OffsetSketchResult, error)

OffsetChain offsets a connected chain of lines (ids in order) by a signed unit-bearing distance, mitring the joins; returns the created line ids.

mcp:tool offset_sketch mcp:summary Offset a sketch curve (entity id), a line chain (entities), or a whole closed region (profileIndex) by a distance expression — region offset is OpenSCAD offset(r): +grows/−shrinks with rounded convex corners.

func (Sketch) Pattern

func (s Sketch) Pattern(index int) Pattern

Pattern returns the sketch-pattern group for the sketch at index.

func (Sketch) Profiles

func (s Sketch) Profiles(index int) (wire.ListProfilesResult, error)

Profiles enumerates the closed regions the sketch yields (area + hole count); the Index of each feeds features.add's profileIndex.

mcp:tool list_sketch_profiles mcp:summary Enumerate a sketch's closed profiles (index, area, closed, hole count) — the profileIndex an extrude/revolve consumes. mcp:digest summarizeProfiles

func (Sketch) Project

func (s Sketch) Project(index int, refs []string, mode string) (wire.ProjectGeometryResult, error)

Project projects part edges/vertices (by reference-key string) onto the sketch plane as associative reference geometry; mode "include" projects them as ordinary geometry.

mcp:tool project_geometry mcp:summary Project part edges/vertices/faces (by reference key) onto a sketch as reference geometry: {sketchIndex, refs:[…], mode}.

func (Sketch) Rectangle

func (s Sketch) Rectangle(args wire.SketchRectangleArgs) (wire.SketchRectangleResult, error)

Rectangle adds a closed rectangle (one profile) to a sketch.

mcp:tool sketch_rectangle mcp:summary Add a closed rectangle to a sketch (width, height as unit expressions, e.g. "40 mm"), forming a profile to extrude.

func (Sketch) ReferenceKey

func (s Sketch) ReferenceKey(index int) (wire.SketchReferenceKeyResult, error)

ReferenceKey returns the sketch's persistent reference key (#153): a document-scoped UUID stable across save/load and edits. Store it to refer to the sketch durably; rebind it with Sketch.ResolveReference.

mcp:tool sketch_reference_key mcp:summary Get a sketch's persistent reference key — a document-scoped UUID stable across save/load, for durable references.

func (Sketch) RegionProperties

func (s Sketch) RegionProperties(index, profileIndex int, accuracy types.Accuracy) (wire.RegionPropertiesResult, error)

RegionProperties computes the full section property set (area, perimeter, centroid, moments of inertia, principal axes) of a closed profile at the given accuracy (M06-F08, Oblikovati/Oblikovati#623).

mcp:tool sketch_region_properties mcp:summary Computes the full section property set (area, perimeter, centroid, moments of inertia, principal axes) of a closed profile at the given accuracy (M06-F08, Oblikovati/Oblikovati#623).

func (Sketch) ResolveReference

func (s Sketch) ResolveReference(key string) (wire.ResolveSketchReferenceResult, error)

ResolveReference rebinds a previously stored persistent key (a sketch's or an entity's, #153) to its current location. Found is false when the referent was deleted.

mcp:tool resolve_sketch_reference mcp:summary Rebind a stored persistent sketch/entity reference key to its current sketch index and entity id.

func (Sketch) Rotate

func (s Sketch) Rotate(index int, entities []uint64, center []float64, angle string) (wire.TransformSketchResult, error)

Rotate rotates a selection in place about center [x,y] (cm) by a unit-bearing angle ("90 deg").

func (Sketch) SetColor

func (s Sketch) SetColor(index int, color string) (wire.SketchInfo, error)

SetColor overrides the sketch's color (empty ⇒ inherit the document default).

func (Sketch) SetCustomLineType

func (s Sketch) SetCustomLineType(args wire.SetSketchCustomLineTypeArgs) (wire.SketchCustomLineTypeResult, error)

SetCustomLineType loads a named line-type definition from an industry-standard .lin file onto the sketch and switches its lineType override to "custom".

lt, err := c.Sketch().SetCustomLineType(wire.SetSketchCustomLineTypeArgs{
SketchIndex: 0, FullFileName: "styles.lin", LineTypeName: "DASHDOT"})

mcp:tool sketch_set_custom_line_type mcp:summary Loads a named line-type definition from an industry-standard .lin file onto the sketch and switches its lineType override to "custom".

func (Sketch) SetDeferUpdates

func (s Sketch) SetDeferUpdates(index int, deferred bool) (wire.SketchInfo, error)

SetDeferUpdates toggles whether the sketch batches edits (solving on resume).

func (Sketch) SetInferenceOptions

func (s Sketch) SetInferenceOptions(view wire.InferenceOptionsView) (wire.InferenceOptionsView, error)

SetInferenceOptions configures sketch inference: whether point snapping and constraint auto-application run, and which constraint family wins when two could apply (M06-F10, Oblikovati/Oblikovati#625).

mcp:tool sketch_set_inference_options mcp:summary Configures sketch inference: whether point snapping and constraint auto-application run, and which constraint family wins when two could apply (M06-F10, Oblikovati/Oblikovati#625).

func (Sketch) SetLineType

func (s Sketch) SetLineType(index int, lineType types.SketchLineType) (wire.SketchInfo, error)

SetLineType overrides the sketch's line style (a oblikovati.org/api/types.SketchLineType).

func (Sketch) SetLineWeight

func (s Sketch) SetLineWeight(index int, weight string) (wire.SketchInfo, error)

SetLineWeight overrides the sketch's line weight (a unit-bearing length like "0.5 mm").

func (Sketch) SetName

func (s Sketch) SetName(index int, name string) (wire.SketchInfo, error)

SetName renames the sketch.

func (Sketch) SetProperty

func (s Sketch) SetProperty(index int, property, value string) (wire.SketchInfo, error)

SetProperty sets one of the sketch's scalar properties and returns the updated info. Prefer the typed helpers below; this is the escape hatch.

mcp:tool set_sketch_property mcp:summary Set a sketch property by name (e.g. property="name"|"visible"|"color"|"lineType"|"lineWeight").

func (Sketch) SetSplineHandle

func (s Sketch) SetSplineHandle(args wire.SetSplineHandleArgs) (wire.SplineHandleInfo, error)

SetSplineHandle activates, edits, or deactivates the tangency handle on one fit point of a 2D interpolation spline (M06-F11, Oblikovati/Oblikovati#626).

mcp:tool sketch_set_spline_handle mcp:summary Activates, edits, or deactivates the tangency handle on one fit point of a 2D interpolation spline (M06-F11, Oblikovati/Oblikovati#626).

func (Sketch) SetTextFont

func (s Sketch) SetTextFont(args wire.SetTextFontArgs) (wire.SetTextFontResult, error)

SetTextFont sets the font of the sketch text entity entityID: pass a system font file path (its bytes are embedded into the document) or a bundled face family. The font becomes a document resource the text/emboss resolves by, so the document stays self-contained (ADR-0031).

mcp:tool sketch_set_text_font mcp:summary Sets the font of the sketch text entity entityID: pass a system font file path (its bytes are embedded into the document) or a bundled face family.

func (Sketch) SetVisible

func (s Sketch) SetVisible(index int, visible bool) (wire.SketchInfo, error)

SetVisible shows or hides the sketch.

func (Sketch) Solve

func (s Sketch) Solve(index int) (wire.SolveSketchResult, error)

Solve resolves the sketch from its constraints and reports DOF/status/health.

mcp:tool solve_sketch mcp:summary Re-solve a sketch's constraints and report its resulting degrees of freedom.

func (Sketch) Split

func (s Sketch) Split(index int, line uint64, pick []float64) (wire.TransformSketchResult, error)

Split splits a line at the pick point ([x,y] cm) into two; returns the resulting lines.

func (Sketch) Trim

func (s Sketch) Trim(index int, line uint64, pick []float64) (wire.TransformSketchResult, error)

Trim removes the segment of a line containing the pick point ([x,y] cm), cutting at the nearest crossings; returns the surviving line(s).

type Sketch3D

Sketch3D is the 3D-sketch-authoring operation group for the active part. A 3D sketch has no host plane — its geometry lives directly in model space (sweep/loft paths, helices, on-surface curves).

type Sketch3D struct {
// contains filtered or unexported fields
}

func (Sketch3D) AddArc

func (s Sketch3D) AddArc(index int, center, start, end []float64, ccw, construction bool) (wire.AddSketch3DEntityResult, error)

AddArc adds a circular arc from a center, start and end point (each [x,y,z] in cm); ccw orients the sweep.

func (Sketch3D) AddCircle

func (s Sketch3D) AddCircle(index int, center, axis []float64, radius string, construction bool) (wire.AddSketch3DEntityResult, error)

AddCircle adds a circle from a center [x,y,z] (cm), a plane-normal axis [x,y,z] (empty ⇒ +Z), and a unit-bearing radius ("10 mm").

func (Sketch3D) AddConstraint

func (s Sketch3D) AddConstraint(args wire.AddSketch3DConstraintArgs) (wire.AddSketch3DConstraintResult, error)

AddConstraint is the general 3D geometric-constraint constructor; prefer the typed helpers below for the common kinds.

mcp:tool add_sketch3d_constraint mcp:summary Add a geometric constraint to a 3D sketch: {sketchIndex, kind, entities:[ids…]}.

func (Sketch3D) AddDimension

func (s Sketch3D) AddDimension(args wire.AddSketch3DDimensionArgs) (wire.AddSketch3DDimensionResult, error)

AddDimension is the general 3D dimensional-constraint constructor; prefer the typed helpers below for the common kinds.

mcp:tool add_sketch3d_dimension mcp:summary Add a dimensional constraint to a 3D sketch (kind + entities + unit expression).

func (Sketch3D) AddEllipse

func (s Sketch3D) AddEllipse(index int, center, axis, majorAxis []float64, majorR, minorR string, construction bool) (wire.AddSketch3DEntityResult, error)

AddEllipse adds a full ellipse from a center [x,y,z] (cm), a plane normal axis [x,y,z] (empty ⇒ +Z), an in-plane major-axis direction (empty ⇒ +X), and unit-bearing major/ minor radii.

func (Sketch3D) AddEllipticalArc

func (s Sketch3D) AddEllipticalArc(index int, spec EllipticalArc3D) (wire.AddSketch3DEntityResult, error)

AddEllipticalArc adds a bounded ellipse described by spec.

func (Sketch3D) AddEntity

func (s Sketch3D) AddEntity(args wire.AddSketch3DEntityArgs) (wire.AddSketch3DEntityResult, error)

AddEntity is the general 3D entity constructor — the escape hatch covering every kind; prefer the typed helpers below for the common constructors.

mcp:tool add_sketch3d_entity mcp:summary Add a 3D curve to a sketch: {sketchIndex, kind, points:[[x,y,z],…]} with kind line|arc|circle|spline|point|helix and friends. Coordinates are cm.

func (Sketch3D) AddEquationCurve

func (s Sketch3D) AddEquationCurve(index int, xExpr, yExpr, zExpr string, t0, t1 float64) (wire.AddSketch3DEntityResult, error)

AddEquationCurve adds a parametric curve from x(t)/y(t)/z(t) expressions over [t0,t1].

func (Sketch3D) AddFixedSpline

func (s Sketch3D) AddFixedSpline(index int, points [][]float64, closed bool) (wire.AddSketch3DEntityResult, error)

AddFixedSpline adds an immutable spline through the given points.

func (Sketch3D) AddHelix

func (s Sketch3D) AddHelix(index int, origin, axis []float64, radius string, args wire.AddSketch3DEntityArgs) (wire.AddSketch3DEntityResult, error)

AddHelix adds a helical curve. origin [x,y,z] (cm) is the axis base, axis [x,y,z] the winding direction (empty ⇒ +Z), radius a unit-bearing start radius. mode selects which two of pitch/height/revolutions define the helix; pass the matching unit-bearing pitch/height and/or a revolution count. See [wire.AddSketch3DEntityArgs] for the modes.

func (Sketch3D) AddIntersectionCurve

func (s Sketch3D) AddIntersectionCurve(index int, faceA, faceB string, grid wire.AddSketch3DSurfaceCurveArgs) (wire.AddSketch3DSurfaceCurveResult, error)

AddIntersectionCurve adds the intersection curve of two part faces (by reference key). grid windows the first face's parameter domain (needed for an unbounded planar face).

func (Sketch3D) AddLine

func (s Sketch3D) AddLine(index int, a, b []float64, construction bool) (wire.AddSketch3DEntityResult, error)

AddLine adds a straight 3D segment between two points (each [x,y,z] in cm).

func (Sketch3D) AddOffsetCurve

func (s Sketch3D) AddOffsetCurve(index int, sourceEntityID uint64, distance float64, normal []float64) (wire.AddSketch3DSurfaceCurveResult, error)

AddOffsetCurve offsets an in-sketch source curve (by entity id) by distance in the plane with the given normal [x,y,z] (offset direction = normal × tangent).

func (Sketch3D) AddOnFaceCurve

func (s Sketch3D) AddOnFaceCurve(index int, face string, uv []float64) (wire.AddSketch3DSurfaceCurveResult, error)

AddOnFaceCurve adds a curve drawn in a part face's parameter space (by reference key); uv is the flat [u0,v0,u1,v1,…] polyline mapped onto the face's surface.

func (Sketch3D) AddPoint

func (s Sketch3D) AddPoint(index int, p []float64) (wire.AddSketch3DEntityResult, error)

AddPoint adds a standalone 3D sketch point at [x,y,z] (cm).

func (Sketch3D) AddProjectToSurfaceCurve

func (s Sketch3D) AddProjectToSurfaceCurve(index int, sourceEntityID uint64, face string) (wire.AddSketch3DSurfaceCurveResult, error)

AddProjectToSurfaceCurve projects an in-sketch source curve (by entity id) onto a part face (by reference key).

func (Sketch3D) AddSilhouetteCurve

func (s Sketch3D) AddSilhouetteCurve(index int, face string, viewDir []float64, grid wire.AddSketch3DSurfaceCurveArgs) (wire.AddSketch3DSurfaceCurveResult, error)

AddSilhouetteCurve adds the silhouette of a part face (by reference key) for a view direction [x,y,z].

func (Sketch3D) AddSpline

func (s Sketch3D) AddSpline(index int, points [][]float64, closed, fit bool) (wire.AddSketch3DEntityResult, error)

AddSpline adds an interpolation (fit=true) or control-point (fit=false) spline through the given points (each [x,y,z] in cm); closed marks a loop.

func (Sketch3D) AddSurfaceCurve

func (s Sketch3D) AddSurfaceCurve(args wire.AddSketch3DSurfaceCurveArgs) (wire.AddSketch3DSurfaceCurveResult, error)

AddSurfaceCurve is the general surface-derived curve constructor; prefer the typed helpers below.

mcp:tool add_sketch3d_surface_curve mcp:summary Add a curve that lies on a part face/surface to a 3D sketch (project/intersection/silhouette).

func (Sketch3D) AddVariableHelix

func (s Sketch3D) AddVariableHelix(index int, origin, axis []float64, radius string, rows []wire.HelixShapeRow, args wire.AddSketch3DEntityArgs) (wire.AddSketch3DEntityResult, error)

AddVariableHelix adds a helical curve whose pitch/diameter vary over a row table of stations (M06-F09, Oblikovati/Oblikovati#624). origin/axis/radius have the Sketch3D.AddHelix meaning; rows are the shape stations and args carries the mode and end conditions.

func (Sketch3D) Coincident

func (s Sketch3D) Coincident(index int, a, b uint64) (wire.AddSketch3DConstraintResult, error)

Coincident pins two 3D points together; Collinear forces three onto a line; Concentric makes two circle/arc centers coincide.

func (Sketch3D) Collinear

func (s Sketch3D) Collinear(index int, a, b, c uint64) (wire.AddSketch3DConstraintResult, error)

func (Sketch3D) ConstraintStatus

func (s Sketch3D) ConstraintStatus(index int) (wire.ConstraintStatusResult, error)

ConstraintStatus reports the 3D sketch's DOF/over-under-constraint state without solving.

mcp:tool get_sketch3d_constraint_status mcp:summary Report a 3D sketch's constraint state and remaining DOF without moving geometry.

func (Sketch3D) Constraints

func (s Sketch3D) Constraints(index int) (wire.ListConstraints3DResult, error)

Constraints enumerates the 3D sketch's geometric constraints.

mcp:tool list_sketch3d_constraints mcp:summary Enumerate a 3D sketch's geometric constraints.

func (Sketch3D) Copy

func (s Sketch3D) Copy(index int, entities []uint64, vector []float64) (wire.Transform3DResult, error)

func (Sketch3D) Create

func (s Sketch3D) Create(args wire.CreateSketch3DArgs) (wire.CreateSketch3DResult, error)

Create adds an empty 3D sketch and returns its index.

mcp:tool create_sketch3d mcp:summary Create a 3D sketch on the active part; returns its sketchIndex.

func (Sketch3D) Delete

func (s Sketch3D) Delete(index int) (wire.OKResult, error)

Delete removes the 3D sketch (only valid when no feature consumes it).

mcp:tool delete_sketch3d mcp:summary Delete a 3D sketch by sketchIndex.

func (Sketch3D) DeleteConstraint

func (s Sketch3D) DeleteConstraint(index, constraintIndex int) (wire.OKResult, error)

DeleteConstraint removes the geometric constraint at the given index.

mcp:tool delete_sketch3d_constraint mcp:summary Delete a 3D-sketch geometric constraint by index.

func (Sketch3D) DeleteEntities

func (s Sketch3D) DeleteEntities(index int, entities []uint64) (wire.Transform3DResult, error)

DeleteEntities removes the given entities from the 3D sketch.

func (Sketch3D) Dimensions

func (s Sketch3D) Dimensions(index int) (wire.ListDimensions3DResult, error)

Dimensions enumerates the 3D sketch's dimensional constraints.

mcp:tool list_sketch3d_dimensions mcp:summary Enumerate a 3D sketch's dimensional constraints.

func (Sketch3D) Distance

func (s Sketch3D) Distance(index int, a, b uint64, value string) (wire.AddSketch3DDimensionResult, error)

Distance dimensions the distance between two 3D points to a unit-bearing value.

func (Sketch3D) DriveDimension

func (s Sketch3D) DriveDimension(args wire.DriveSketch3DDimensionArgs) (wire.OKResult, error)

DriveDimension edits a 3D dimension's value and/or driving state.

mcp:tool drive_sketch3d_dimension mcp:summary Change a 3D-sketch dimension's expression and recompute.

func (Sketch3D) Edit

func (s Sketch3D) Edit(index int) (wire.EditSketch3DResult, error)

Edit opens the 3D sketch for geometry editing (enters edit mode).

mcp:tool edit_sketch3d mcp:summary Open a 3D sketch for editing.

func (Sketch3D) EditHelixDefinition

func (s Sketch3D) EditHelixDefinition(args wire.EditHelixArgs) (wire.HelixDefinitionView, error)

EditHelixDefinition redefines an existing helical curve in place — constant or variable shape plus end conditions — and regenerates it (M06-F09).

mcp:tool sketch3d_edit_helix mcp:summary Redefines an existing helical curve in place — constant or variable shape plus end conditions — and regenerates it (M06-F09).

func (Sketch3D) Entities

func (s Sketch3D) Entities(index int) (wire.EnumerateEntities3DResult, error)

Entities enumerates the 3D sketch's geometry (kind, construction flag, points, radius).

mcp:tool list_sketch3d_entities mcp:summary Enumerate a 3D sketch's geometry (entity index, id, kind) — the ids constraints/dimensions reference.

func (Sketch3D) ExitEdit

func (s Sketch3D) ExitEdit(index int) (wire.EditSketch3DResult, error)

ExitEdit leaves edit mode, returning to the previous environment.

mcp:tool exit_sketch3d mcp:summary Leave the 3D sketch environment and update the part.

func (Sketch3D) Get

func (s Sketch3D) Get(index int) (wire.Sketch3DInfo, error)

Get returns a single 3D sketch's info by index.

mcp:tool get_sketch3d mcp:summary Get one 3D sketch's properties by sketchIndex.

func (Sketch3D) Ground

func (s Sketch3D) Ground(index int, point uint64) (wire.AddSketch3DConstraintResult, error)

func (Sketch3D) Include

func (s Sketch3D) Include(index int, refs []string) (wire.IncludeSketch3DResult, error)

Include links the referenced part edges/vertices (by reference key) into the 3D sketch as associative reference geometry, returning the created entity ids and whether every reference resolved.

mcp:tool include_sketch3d_geometry mcp:summary Include part edges/vertices (by reference key) into a 3D sketch as reference geometry.

func (Sketch3D) IncludeSketch

func (s Sketch3D) IncludeSketch(index, sourceIndex int, entityIDs []uint64) (wire.IncludeSketch3DResult, error)

IncludeSketch links geometry of an existing 2D sketch (its points/curves, by session id) into the 3D sketch as associative reference geometry, lifted through the 2D sketch's host plane. It returns the created entity ids and whether every source entity resolved.

mcp:tool include_2d_sketch_in_3d mcp:summary Include a 2D sketch's geometry into a 3D sketch.

func (Sketch3D) LineLength

func (s Sketch3D) LineLength(index int, line uint64, value string) (wire.AddSketch3DDimensionResult, error)

LineLength dimensions a 3D line's length; Radius dimensions a 3D circle's radius.

func (Sketch3D) List

func (s Sketch3D) List() (wire.ListSketches3DResult, error)

List enumerates the active part's 3D sketches with their identity, DOF, and health.

mcp:tool list_sketches3d mcp:summary List the active part's 3D sketches (index, name, entity count, DOF).

func (Sketch3D) Midpoint

func (s Sketch3D) Midpoint(index int, point, line uint64) (wire.AddSketch3DConstraintResult, error)

Midpoint pins a point to the midpoint of a line; Ground fixes a point in place.

func (Sketch3D) Move

func (s Sketch3D) Move(index int, entities []uint64, vector []float64) (wire.Transform3DResult, error)

Move translates the entities by vector [x,y,z] (cm); Copy duplicates them translated.

func (Sketch3D) Parallel

func (s Sketch3D) Parallel(index int, l1, l2 uint64) (wire.AddSketch3DConstraintResult, error)

Parallel / Perpendicular relate two 3D lines.

func (Sketch3D) ParallelToAxis

func (s Sketch3D) ParallelToAxis(index int, line uint64, kind types.Geometric3DConstraintKind) (wire.AddSketch3DConstraintResult, error)

ParallelToAxis constrains a line parallel to an origin-frame axis (kind one of Geo3DParallelToXAxis/YAxis/ZAxis); ParallelToPlane constrains it parallel to an origin-frame plane (Geo3DParallelToXYPlane/XZPlane/YZPlane).

func (Sketch3D) Paths

func (s Sketch3D) Paths(index int) (wire.ListPaths3DResult, error)

Paths enumerates the connected line/arc chains of the 3D sketch (the sweep/loft rails), each with its closed flag and vertex count.

mcp:tool list_sketch3d_paths mcp:summary Enumerate a 3D sketch's open paths — the sweep/loft path candidates.

func (Sketch3D) Perpendicular

func (s Sketch3D) Perpendicular(index int, l1, l2 uint64) (wire.AddSketch3DConstraintResult, error)

func (Sketch3D) PointPlaneDistance

func (s Sketch3D) PointPlaneDistance(index int, point uint64, plane, value string) (wire.AddSketch3DDimensionResult, error)

PointPlaneDistance dimensions the distance from a point to an origin plane ("XY"|"XZ"|"YZ").

func (Sketch3D) Profiles

func (s Sketch3D) Profiles(index int) (wire.ListProfiles3DResult, error)

Profiles enumerates the closed, planar loops of the 3D sketch (area + plane normal + vertex count); each Index can feed a planar-section feature.

mcp:tool list_sketch3d_profiles mcp:summary Enumerate a 3D sketch's closed profiles.

func (Sketch3D) Radius

func (s Sketch3D) Radius(index int, circle uint64, value string) (wire.AddSketch3DDimensionResult, error)

func (Sketch3D) ReferenceKey

func (s Sketch3D) ReferenceKey(index int) (wire.SketchReferenceKeyResult, error)

ReferenceKey returns the 3D sketch's persistent reference key (#153): a document-scoped UUID stable across save/load and edits. Store it to refer to the sketch durably; rebind it (or any 3D entity key from Entities) with Sketch.ResolveReference.

mcp:tool sketch3d_reference_key mcp:summary Get a 3D sketch's persistent reference key — a document-scoped UUID stable across save/load, for durable references.

func (Sketch3D) RegionProperties

func (s Sketch3D) RegionProperties(index, profileIndex int, accuracy types.Accuracy) (wire.RegionPropertiesResult, error)

RegionProperties computes the section property set of a planar closed 3D profile, reported in the profile plane's coordinates (M06-F08).

mcp:tool sketch3d_region_properties mcp:summary Computes the section property set of a planar closed 3D profile, reported in the profile plane's coordinates (M06-F08).

func (Sketch3D) Rotate

func (s Sketch3D) Rotate(index int, entities []uint64, center, axis []float64, angle string) (wire.Transform3DResult, error)

Rotate rotates the entities by a unit-bearing angle about the axis through center in direction axis (empty axis ⇒ +Z).

func (Sketch3D) SetColor

func (s Sketch3D) SetColor(index int, color string) (wire.Sketch3DInfo, error)

SetColor overrides the 3D sketch's color (empty ⇒ inherit the document default).

func (Sketch3D) SetDeferUpdates

func (s Sketch3D) SetDeferUpdates(index int, deferred bool) (wire.Sketch3DInfo, error)

SetDeferUpdates toggles whether the 3D sketch batches edits (solving on resume).

func (Sketch3D) SetDimensionsVisible

func (s Sketch3D) SetDimensionsVisible(index int, visible bool) (wire.Sketch3DInfo, error)

SetDimensionsVisible shows or hides the 3D sketch's dimensions.

func (Sketch3D) SetName

func (s Sketch3D) SetName(index int, name string) (wire.Sketch3DInfo, error)

SetName renames the 3D sketch.

func (Sketch3D) SetProperty

func (s Sketch3D) SetProperty(index int, property, value string) (wire.Sketch3DInfo, error)

SetProperty sets one of the 3D sketch's scalar properties and returns the updated info. Prefer the typed helpers below; this is the escape hatch.

mcp:tool set_sketch3d_property mcp:summary Set a 3D sketch property by name (e.g. name, visible).

func (Sketch3D) SetSplineHandle

func (s Sketch3D) SetSplineHandle(args wire.SetSplineHandleArgs) (wire.SplineHandleInfo, error)

SetSplineHandle activates, edits, or deactivates the tangency handle on one fit point of a 3D interpolation spline (M06-F11).

mcp:tool sketch3d_set_spline_handle mcp:summary Activates, edits, or deactivates the tangency handle on one fit point of a 3D interpolation spline (M06-F11).

func (Sketch3D) SetVisible

func (s Sketch3D) SetVisible(index int, visible bool) (wire.Sketch3DInfo, error)

SetVisible shows or hides the 3D sketch.

func (Sketch3D) Solve

func (s Sketch3D) Solve(index int) (wire.SolveSketch3DResult, error)

Solve resolves the 3D sketch from its constraints and reports DOF/status/health.

mcp:tool solve_sketch3d mcp:summary Re-solve a 3D sketch's constraints and report remaining DOF.

func (Sketch3D) Transform

func (s Sketch3D) Transform(args wire.Transform3DArgs) (wire.Transform3DResult, error)

Transform applies an editing operation (move/copy/rotate/delete) to a 3D-sketch selection; prefer the typed helpers below.

mcp:tool transform_sketch3d mcp:summary Transform selected 3D-sketch entities (move/copy/rotate) by a vector/axis/angle.

func (Sketch3D) TwoLineAngle

func (s Sketch3D) TwoLineAngle(index int, l1, l2 uint64, value string) (wire.AddSketch3DDimensionResult, error)

TwoLineAngle dimensions the angle between two 3D lines to a unit-bearing angle.

type Status

Status is the status-bar text operation group (M05-F09).

type Status struct {
// contains filtered or unexported fields
}

func (Status) SetText

func (s Status) SetText(text string) (wire.OKResult, error)

SetText puts a transient message in the status bar; empty clears it.

mcp:tool status_set_text mcp:summary Puts a transient message in the status bar; empty clears it.

func (Status) Text

func (s Status) Text() (wire.StatusTextResult, error)

Text returns the current status-bar message.

mcp:tool status_get_text mcp:summary Returns the current status-bar message.

type Styles

Styles is the style-manager operation group: it lets an add-in read, edit, and delete the document's color styles and import style libraries, so an automation can drive the document's visual styling. (Lighting styles use the Lighting group.)

type Styles struct {
// contains filtered or unexported fields
}

func (Styles) Delete

func (s Styles) Delete(name string) (wire.OKResult, error)

Delete removes the named color style.

mcp:tool delete_color_style mcp:summary Delete a color style by name.

func (Styles) Get

func (s Styles) Get(name string) (wire.ColorStyleView, error)

Get returns the named color style.

mcp:tool get_color_style mcp:summary Read one color style by name; see list_color_styles.

func (Styles) ImportLibrary

func (s Styles) ImportLibrary(path string) (wire.StyleLibrariesResult, error)

ImportLibrary loads a style library file into the cascade, returning the updated library list.

mcp:tool import_style_library mcp:summary Load a style library file into the cascade.

func (Styles) Libraries

func (s Styles) Libraries() (wire.StyleLibrariesResult, error)

Libraries returns the loaded style libraries, in cascade order.

mcp:tool list_style_libraries mcp:summary List the loaded style libraries in cascade order.

func (Styles) List

func (s Styles) List() (wire.ColorStylesResult, error)

List returns every color style in the document.

styles, _ := client.Styles().List()

mcp:tool list_color_styles mcp:summary List the document's color styles (name + diffuse/ambient/specular/emissive colors).

func (Styles) Set

func (s Styles) Set(v wire.ColorStyleView) (wire.ColorStyleView, error)

Set creates or updates a color style, returning the stored style. A style edit propagates to every consumer of that style.

mcp:tool set_color_style mcp:summary Create or update a color style; see get_color_style for the shape.

type TaskPanels

TaskPanels is the modal task-panel operation group: show a FreeCAD-Task-style modal panel built from declarative controls, with OK/Cancel. The result arrives as a wire.TaskPanelClosedEvent; control edits arrive as the ordinary value/references events keyed on the panel id.

type TaskPanels struct {
// contains filtered or unexported fields
}

func (TaskPanels) Close

func (t TaskPanels) Close(id string) (wire.OKResult, error)

Close dismisses an open task panel programmatically.

mcp:tool task_panel_close mcp:summary Dismiss an open task panel programmatically.

func (TaskPanels) Show

func (t TaskPanels) Show(p wire.TaskPanelSpec) (wire.OKResult, error)

Show displays the modal task panel (asynchronous — never blocks; the accept/cancel arrives as a wire.TaskPanelClosedEvent).

mcp:tool task_panel_show mcp:summary Show a modal task panel (OK/Cancel) built from declarative controls.

type Theme

Theme is the UI-theme operation group: it lets an add-in read the host's active theme so its own panels can match the host's colors.

type Theme struct {
// contains filtered or unexported fields
}

func (Theme) Active

func (t Theme) Active() (wire.ThemeView, error)

Active returns the host's currently selected theme with all its colors.

t, _ := client.Theme().Active()
bg := t.Colors["chrome.window_bg"] // "#1e2127ff"

mcp:tool get_active_theme mcp:summary Read the active UI theme. mcp:digest summarizeActiveTheme

func (Theme) List

func (t Theme) List() (wire.ListThemesResult, error)

List returns a summary of every available theme (built-in and custom), flagging the active one.

mcp:tool list_themes mcp:summary List the available UI themes. mcp:digest summarizeThemes

type Threads

Threads is the thread-table operation group (M09-F01 PBI-101, #325).

type Threads struct {
// contains filtered or unexported fields
}

func (Threads) Resolve

func (t Threads) Resolve(args wire.ResolveThreadArgs) (wire.ThreadInfoResult, error)

Resolve resolves a designation (with optional class / handedness / tapered flag) to its thread data, e.g. Resolve(wire.ResolveThreadArgs{Designation: "M8x1.25", Class: "6H", Internal: true}).

mcp:tool threads_resolve mcp:summary Resolves a designation (with optional class / handedness / tapered flag) to its thread data, e.g.

func (Threads) TableQuery

func (t Threads) TableQuery(args wire.ThreadTableQueryArgs) (wire.ThreadTableQueryResult, error)

TableQuery lists the thread tables progressively: thread types always; a type's nominal sizes, a size's designations, and a designation's classes as each filter is given, e.g. TableQuery(wire.ThreadTableQueryArgs{ThreadType: "ISO Metric profile"}).

mcp:tool threads_table_query mcp:summary Lists the thread tables progressively: thread types always; a type's nominal sizes, a size's designations, and a designation's classes as each filter is given, e.g.

type Transactions

Transactions is the undo/redo operation group for the active document's transaction stream. Undo and Redo are navigators over that stream — non-destructive cursor moves, not a destructive pop — so an undone step can be redone until a new edit truncates the forward branch.

type Transactions struct {
// contains filtered or unexported fields
}

func (Transactions) Abort

func (t Transactions) Abort() (wire.UndoState, error)

Abort discards the innermost open transaction instead of committing it: the model reverts to the group's pre-Begin state and no undo step is recorded. Use it when a batch fails partway so the document is not left half-edited (M04-F05).

mcp:tool transaction_abort mcp:summary Discards the innermost open transaction instead of committing it: the model reverts to the group's pre-Begin state and no undo step is recorded.

func (Transactions) Begin

func (t Transactions) Begin(label string) (wire.OKResult, error)

Begin opens a bounded transaction: every edit recorded until the matching End is coalesced into a single undo step named label. Begin/End nest; only the outermost End commits the group. Use it to make a batch of operations one team-shared undo step.

client.Transactions().Begin("apply remote batch")
// … several edits …
client.Transactions().End()

mcp:tool transaction_begin mcp:summary Opens a bounded transaction: every edit recorded until the matching End is coalesced into a single undo step named label.

func (Transactions) End

func (t Transactions) End() (wire.UndoState, error)

End closes the innermost open transaction and returns the resulting undo/redo state.

mcp:tool transaction_end mcp:summary Closes the innermost open transaction and returns the resulting undo/redo state.

func (Transactions) History

func (t Transactions) History(document uint64) (wire.TransactionHistory, error)

History reads one open document's whole undo stream — every step since the document was opened, with the cursor position and the save checkpoints — for a history browser. Pass a document id from documents.list, or 0 for the active document. Reading does not activate the document, so a browser can show several documents' timelines side by side.

mcp:tool get_history mcp:summary Read a document's full undo history (every step since it was opened, the cursor position, and which steps are saved). document=0 means the active document.

func (Transactions) JumpTo

func (t Transactions) JumpTo(document uint64, position int) (wire.TransactionHistory, error)

JumpTo moves one document's undo cursor to an absolute position (0 = open state, len(entries) = latest), undoing or redoing as many steps as needed in one call. It returns the document's resulting history. Pass a document id from documents.list, or 0 for the active document.

mcp:tool jump_to_history mcp:summary Jump a document's undo cursor to an absolute position (0=open state), undoing/redoing as many steps as needed. document=0 means the active document.

func (Transactions) Redo

func (t Transactions) Redo() (wire.UndoState, error)

Redo moves the cursor forward one transaction event and returns the resulting state.

mcp:tool redo mcp:summary Redo the next change (step the transaction cursor forward).

func (Transactions) State

func (t Transactions) State() (wire.UndoState, error)

State reports what undo/redo can currently do, with the labels of the next steps.

mcp:tool get_undo_state mcp:summary Read the active document's undo/redo state (whether undo/redo are available and the cursor position).

func (Transactions) Undo

func (t Transactions) Undo() (wire.UndoState, error)

Undo moves the active document's cursor back one transaction event and returns the resulting state (what undo/redo can do next).

mcp:tool undo mcp:summary Undo the active document's last change (step the transaction cursor back).

type TransientBRep

TransientBRep is the transient B-rep factory method group (M07-F05, Oblikovati/Oblikovati#628): ownerless bodies created and manipulated by session handle.

type TransientBRep struct {
// contains filtered or unexported fields
}

func (TransientBRep) Copy

func (t TransientBRep) Copy(source wire.BrepBodyRef) (wire.BrepHandleResult, error)

Copy clones a transient or document body into a new transient body.

mcp:tool brep_copy mcp:summary Clones a transient or document body into a new transient body.

func (TransientBRep) CreateFromDefinition

func (t TransientBRep) CreateFromDefinition(def types.BrepBodyDefinition) (wire.BrepCreateFromDefinitionResult, error)

CreateFromDefinition compiles a bottom-up definition graph into a body, returning per-definition issues instead when the graph is unsound.

mcp:tool brep_create_from_definition mcp:summary Compiles a bottom-up definition graph into a body, returning per-definition issues instead when the graph is unsound.

func (TransientBRep) CreateIntersectionWithPlane

func (t TransientBRep) CreateIntersectionWithPlane(source wire.BrepBodyRef, planeOrigin, planeNormal []float64) (wire.BrepWiresResult, error)

CreateIntersectionWithPlane sections a body with a plane; the section curves come back as wires on a new transient body.

mcp:tool brep_section_with_plane mcp:summary Sections a body with a plane; the section curves come back as wires on a new transient body.

func (TransientBRep) CreatePrimitive

func (t TransientBRep) CreatePrimitive(args wire.CreatePrimitiveArgs) (wire.BrepHandleResult, error)

CreatePrimitive creates a solid block/cylinderCone/sphere/torus.

mcp:tool brep_create_primitive mcp:summary Creates a solid block/cylinderCone/sphere/torus.

func (TransientBRep) CreateRuledSurface

func (t TransientBRep) CreateRuledSurface(sectionOne, sectionTwo wire.BrepWireRef) (wire.BrepHandleResult, error)

CreateRuledSurface builds the ruled surface between two wire sections.

mcp:tool brep_ruled_surface mcp:summary Builds the ruled surface between two wire sections.

func (TransientBRep) CreateSilhouetteCurve

func (t TransientBRep) CreateSilhouetteCurve(args wire.BrepSilhouetteArgs) (wire.BrepWiresResult, error)

CreateSilhouetteCurve traces one face's silhouette from a view direction.

mcp:tool brep_silhouette mcp:summary Traces one face's silhouette from a view direction.

func (TransientBRep) Delete

func (t TransientBRep) Delete(handle int) error

Delete frees a transient body.

mcp:tool brep_delete mcp:summary Frees a transient body.

func (TransientBRep) DeleteFaces

func (t TransientBRep) DeleteFaces(handle int, faceKeys []string, keepInstead bool) (wire.BrepHandleResult, error)

DeleteFaces removes the named faces (or with keepInstead all others) without healing.

mcp:tool brep_delete_faces mcp:summary Removes the named faces (or with keepInstead all others) without healing.

func (TransientBRep) Describe

func (t TransientBRep) Describe(handle int) (wire.BrepHandleResult, error)

Describe returns a transient body's current stats.

mcp:tool brep_describe mcp:summary Returns a transient body's current stats.

func (TransientBRep) DoBoolean

func (t TransientBRep) DoBoolean(blankHandle int, tool wire.BrepBodyRef, op types.BooleanType) (wire.BrepHandleResult, error)

DoBoolean combines the blank (modified in place) with the tool.

mcp:tool brep_boolean mcp:summary Combines the blank (modified in place) with the tool.

func (TransientBRep) GetIdenticalBodies

func (t TransientBRep) GetIdenticalBodies(args wire.BrepIdenticalBodiesArgs) (wire.BrepIdenticalBodiesResult, error)

GetIdenticalBodies groups congruent bodies.

mcp:tool brep_identical_bodies mcp:summary Groups congruent bodies.

func (TransientBRep) ImprintBodies

func (t TransientBRep) ImprintBodies(args wire.BrepImprintArgs) (wire.BrepImprintResult, error)

ImprintBodies face-splits two bodies along their intersections without removing material.

mcp:tool brep_imprint mcp:summary Face-splits two bodies along their intersections without removing material.

func (TransientBRep) List

func (t TransientBRep) List() (wire.BrepListResult, error)

List enumerates the live transient handles.

mcp:tool brep_list mcp:summary Enumerates the live transient handles.

func (TransientBRep) OffsetFaces

func (t TransientBRep) OffsetFaces(args wire.BrepOffsetFacesArgs) (wire.BrepHandleResult, error)

OffsetFaces offsets the named faces of source by distance along their surface normals, returning a transient body of the offset faces to sample (e.g. CAM surfacing tool compensation). Parameters: reverse to offset into the solid; tolerance for freeform.

mcp:tool brep_offset_faces mcp:summary Offsets the named faces of a body by a distance along their normals; the offset faces come back on a new transient body.

func (TransientBRep) Transform

func (t TransientBRep) Transform(handle int, matrix []float64) (wire.BrepHandleResult, error)

Transform maps the body by a 4×4 row-major rigid/similarity matrix.

mcp:tool brep_transform mcp:summary Maps the body by a 4×4 row-major rigid/similarity matrix.

type TransientObjects

TransientObjects is the factory for the utility collections, mirroring the reference factory so ported add-in code reads naturally.

opts := client.TransientObjects{}.CreateNameValueMap()
opts.Set("tolerance", types.UnitVariant(0.1, "mm"))
type TransientObjects struct{}

func (TransientObjects) CreateNameValueMap

func (TransientObjects) CreateNameValueMap() contract.NameValueMap

CreateNameValueMap returns an empty ordered options bag.

func (TransientObjects) CreateObjectCollection

func (TransientObjects) CreateObjectCollection(refs ...types.ObjectRef) contract.ObjectCollection

CreateObjectCollection returns a collection seeded with refs, in order.

func (TransientObjects) CreateObjectCollectionByVariant

func (TransientObjects) CreateObjectCollectionByVariant() contract.ObjectCollectionByVariant

CreateObjectCollectionByVariant returns an empty keyed collection.

type Triad

Triad is the move/rotate gizmo operation group (M05-F13): place the triad at a position/orientation and stream the user's drags as triad.drag push events (delta transform + drag context), with hover changes as triad.segment events.

type Triad struct {
// contains filtered or unexported fields
}

func (Triad) Get

func (t Triad) Get() (wire.TriadSpec, error)

Get returns the current triad spec (visible or not).

mcp:tool triad_get mcp:summary Returns the current triad spec (visible or not).

func (Triad) Hide

func (t Triad) Hide() (wire.OKResult, error)

Hide dismisses the triad.

mcp:tool triad_hide mcp:summary Dismisses the triad.

func (Triad) Show

func (t Triad) Show(spec wire.TriadSpec) (wire.OKResult, error)

Show places (and shows) the triad.

client.Triad().Show(wire.TriadSpec{Position: [3]float64{0, 0, 5}, Visible: true})

mcp:tool triad_show mcp:summary Places (and shows) the triad.

func (Triad) Update

func (t Triad) Update(spec wire.TriadSpec) (wire.OKResult, error)

Update repositions/reorients the visible triad.

mcp:tool triad_update mcp:summary Repositions/reorients the visible triad.

type UI

UI is the shell-customization operation group (M05-F12): command search, the radial marking menu, context-menu injection, and the object-visibility toggles. The matching push events are command.started, selection.changed and ui.environmentChanged.

type UI struct {
// contains filtered or unexported fields
}

func (UI) ActivateEnvironment

func (u UI) ActivateEnvironment(env types.Environment) (wire.OKResult, error)

ActivateEnvironment enters a registered environment (base, 0, leaves it); the switch reaches every add-in as a ui.environmentChanged event.

mcp:tool ui_activate_environment mcp:summary Enters a registered environment (base, 0, leaves it); the switch reaches every add-in as a ui.environmentChanged event.

func (UI) MarkingMenu

func (u UI) MarkingMenu(env types.Environment) (wire.MarkingMenuView, error)

MarkingMenu returns one environment's radial marking menu.

mcp:tool ui_get_marking_menu mcp:summary Returns one environment's radial marking menu.

func (UI) ObjectVisibility

func (u UI) ObjectVisibility() (wire.ObjectVisibilityView, error)

ObjectVisibility returns the View ▸ Object-visibility toggles.

mcp:tool ui_get_object_visibility mcp:summary Returns the View ▸ Object-visibility toggles.

func (UI) RegisterEnvironment

func (u UI) RegisterEnvironment(env types.Environment, name string) (wire.OKResult, error)

RegisterEnvironment declares this add-in's contextual UI environment (value ≥ 2; commands created with it form the environment's tabs) — M05-F16.

client.UI().RegisterEnvironment(7, "Weldment")

mcp:tool ui_register_environment mcp:summary Declares this add-in's contextual UI environment (value ≥ 2; commands created with it form the environment's tabs) — M05-F16.

func (u UI) Search(query string) (wire.SearchCommandsResult, error)

Search finds registered commands matching the query (the command search box's backing method).

mcp:tool ui_search mcp:summary Finds registered commands matching the query (the command search box's backing method).

func (UI) SetContextMenu

func (u UI) SetContextMenu(addin, kind string, items []wire.ContextMenuItemSpec) (wire.OKResult, error)

SetContextMenu replaces this add-in's injected context-menu entries for one browser node kind ("" injects everywhere) — the OnContextMenu equivalent.

mcp:tool ui_set_context_menu mcp:summary Replaces this add-in's injected context-menu entries for one browser node kind ("" injects everywhere) — the OnContextMenu equivalent.

func (UI) SetMarkingMenu

func (u UI) SetMarkingMenu(menu wire.MarkingMenuView) (wire.OKResult, error)

SetMarkingMenu replaces one environment's radial marking menu — the OnRadialMarkingMenu customization hook, declarative.

mcp:tool ui_set_marking_menu mcp:summary Replaces one environment's radial marking menu — the OnRadialMarkingMenu customization hook, declarative.

func (UI) SetObjectVisibility

func (u UI) SetObjectVisibility(v wire.ObjectVisibilityView) (wire.OKResult, error)

SetObjectVisibility writes the View ▸ Object-visibility toggles (hidden geometry also stops being pickable).

mcp:tool ui_set_object_visibility mcp:summary Writes the View ▸ Object-visibility toggles (hidden geometry also stops being pickable).

type Units

Units is the unit conversion / expression / formatting service group.

type Units struct {
// contains filtered or unexported fields
}

func (Units) CompatibleUnits

func (u Units) CompatibleUnits(expression, unitsType string) (wire.CompatibleUnitsResult, error)

CompatibleUnits reports whether an expression's resolved unit is dimensionally compatible with the target category.

mcp:tool units_compatible_units mcp:summary Reports whether an expression's resolved unit is compatible with the target category.

func (Units) Convert

func (u Units) Convert(args wire.ConvertUnitsArgs) (wire.ConvertUnitsResult, error)

Convert converts a value From one unit name To another within the same category (e.g. 25 "mm" → "in").

mcp:tool units_convert mcp:summary Converts a value from one unit name to another within the same category.

func (Units) GetDatabaseUnitsFromExpression

func (u Units) GetDatabaseUnitsFromExpression(expression string) (wire.DatabaseUnitsResult, error)

GetDatabaseUnitsFromExpression evaluates an expression to a database-unit value, auto-detecting its category.

mcp:tool units_get_database_units_from_expression mcp:summary Evaluates an expression to a database-unit value, auto-detecting its category.

func (Units) GetDrivingParameters

func (u Units) GetDrivingParameters(expression string) (wire.DrivingParametersResult, error)

GetDrivingParameters returns the parameter names an expression references.

mcp:tool units_get_driving_parameters mcp:summary Returns the parameter names an expression references.

func (Units) GetLocaleCorrectedExpression

func (u Units) GetLocaleCorrectedExpression(expression string) (wire.StringResult, error)

GetLocaleCorrectedExpression normalizes an expression's number formatting (e.g. decimal separators) to the canonical form the evaluator accepts.

mcp:tool units_get_locale_corrected_expression mcp:summary Normalizes an expression's number formatting to the canonical evaluator form.

func (Units) GetPreciseStringFromValue

func (u Units) GetPreciseStringFromValue(value float64, unitsType string) (wire.StringResult, error)

GetPreciseStringFromValue formats a database-unit value in the document's display unit at full precision (ignoring the display-precision rounding).

mcp:tool units_get_precise_string_from_value mcp:summary Formats a database-unit value in the document display unit at full precision.

func (Units) GetStringFromType

func (u Units) GetStringFromType(unitsType string) (wire.StringResult, error)

GetStringFromType returns the document-preferred unit name for a category (e.g. "length" → "mm").

mcp:tool units_get_string_from_type mcp:summary Returns the document-preferred unit name for a category (e.g. "length" → "mm").

func (Units) GetStringFromValue

func (u Units) GetStringFromValue(value float64, unitsType string) (wire.StringResult, error)

GetStringFromValue formats a database-unit value of the given category in the document's display unit, honoring the document's display precision.

mcp:tool units_get_string_from_value mcp:summary Formats a database-unit value in the document display unit, honoring display precision.

func (Units) GetTypeFromString

func (u Units) GetTypeFromString(unitString string) (wire.UnitsTypeResult, error)

GetTypeFromString returns the category a unit name belongs to (e.g. "mm" → "length").

mcp:tool units_get_type_from_string mcp:summary Returns the category a unit name belongs to (e.g. "mm" → "length").

func (Units) GetValueFromExpression

func (u Units) GetValueFromExpression(expression, unitsType string) (wire.ValueResult, error)

GetValueFromExpression evaluates a unit-bearing expression to a database-unit value of the given target category.

mcp:tool units_get_value_from_expression mcp:summary Evaluates a unit-bearing expression to a database-unit value of the given category.

func (Units) IsExpressionValid

func (u Units) IsExpressionValid(expression, unitsType string) (wire.ExpressionValidResult, error)

IsExpressionValid reports whether an expression parses and is dimensionally valid for the target category.

mcp:tool units_is_expression_valid mcp:summary Reports whether an expression parses and is dimensionally valid for the target category.

type View

View is the viewport operation group: it lets an add-in read and set the display mode so automations can switch the model between shaded, wireframe, realistic, hidden-edge and NPR presentations.

type View struct {
// contains filtered or unexported fields
}

func (View) Camera

func (v View) Camera() (wire.CameraView, error)

Camera returns the viewport's current camera as a look-at frame (eye/target/up/fov).

cam, _ := client.View().Camera()
// follow a presenter: lerp eye/target toward cam, then SetCamera.

mcp:tool get_camera mcp:summary Read a document's active-view camera as a look-at frame (eye, target, up, fov); document 0 = active.

func (View) Capture

func (v View) Capture(a wire.CaptureViewportArgs) (wire.CaptureViewportResult, error)

Capture writes the viewport framebuffer to a PNG and returns its path and pixel size. The host writes the file on the next rendered frame, so read the returned Path after a short delay.

r, _ := client.View().Capture(wire.CaptureViewportArgs{Path: "/tmp/shot.png"})
// poll r.Path until it exists, then load the image.

mcp:tool capture_viewport mcp:summary Capture the live 3D viewport framebuffer and return it as an IMAGE so you can SEE exactly what the renderer drew — import results, shading, Normal-Debug (green=outward, red=back-facing). Optional path writes the PNG to a host file; otherwise a temp file is used. mcp:image

func (View) CaptureWindow

func (v View) CaptureWindow(a wire.CaptureWindowArgs) (wire.CaptureWindowResult, error)

CaptureWindow writes the WHOLE application window — the chrome (ribbon, browser, open dialogs) composited with the 3D viewport — to a PNG and returns its path and pixel size. Unlike Capture (the 3D framebuffer alone) it shows UI state. The host writes the file once the next frame composites, so read the returned Path after a short delay.

r, _ := client.View().CaptureWindow(wire.CaptureWindowArgs{Path: "/tmp/window.png"})

mcp:tool capture_window mcp:summary Capture the WHOLE application window — the ribbon, browser, any open dialog, and the 3D viewport, exactly as the user sees it — and return it as an IMAGE. Use this to SEE UI state (e.g. whether a dialog is open, what a panel shows); use capture_viewport for the 3D render alone. Optional path writes the PNG to a host file; otherwise a temp file is used. mcp:image

func (View) DisplayMode

func (v View) DisplayMode() (wire.DisplayModeView, error)

DisplayMode returns the viewport's current display mode and its label.

v, _ := client.View().DisplayMode()
if v.Mode == types.RealisticRendering { /* … */ }

mcp:tool get_display_mode mcp:summary Read the viewport's current display mode (visual style: shaded, wireframe, …).

func (View) ListDisplayModes

func (v View) ListDisplayModes() (wire.ListDisplayModesResult, error)

ListDisplayModes returns every selectable display mode, flagging the active one.

mcp:tool list_display_modes mcp:summary List the available viewport display modes (the values set_display_mode accepts).

func (View) SetCamera

func (v View) SetCamera(a wire.SetCameraArgs) (wire.CameraView, error)

SetCamera moves the viewport camera to the given look-at frame and returns the resulting camera (the host may normalize Up or clamp FOV).

client.View().SetCamera(wire.SetCameraArgs{Eye: e, Target: t, Up: u, FOV: f})

mcp:tool set_camera mcp:summary Move a document's active-view camera to a look-at frame (eye, target, up in model units; fov radians); document 0 = active. Returns the resulting camera. mcp:input setCameraArg

func (View) SetDisplayMode

func (v View) SetDisplayMode(mode types.DisplayModeEnum) (wire.DisplayModeView, error)

SetDisplayMode switches the viewport to mode, returning the resulting mode and label.

client.View().SetDisplayMode(types.WireframeWithHiddenEdgesRendering)

mcp:tool set_display_mode mcp:summary Set the viewport's display mode (visual style) by id; see list_display_modes.

func (View) SetMeshColors

func (v View) SetMeshColors(a wire.SetMeshColorsArgs) (wire.MeshColorsResult, error)

SetMeshColors turns the mesh-debug-colors render on/off (each B-rep face — or each triangle when PerTriangle — a distinct color), so a capture maps a region back to a primitive index in the mesh.

client.View().SetMeshColors(wire.SetMeshColorsArgs{On: true, PerTriangle: true})

mcp:tool set_mesh_colors mcp:summary Turn the mesh-debug-colors render on/off: every B-rep face — or every TRIANGLE when perTriangle:true — is painted a distinct color, so capture_viewport lets you map a region back to a face/triangle index in the mesh data.

func (View) SetNormalDebug

func (v View) SetNormalDebug(a wire.SetNormalDebugArgs) (wire.NormalDebugResult, error)

SetNormalDebug turns the viewport's normal-debug render on/off (front-facing green, back-facing red) so a capture reveals winding/flipped-normal defects.

client.View().SetNormalDebug(wire.SetNormalDebugArgs{On: true})

mcp:tool set_normal_debug mcp:summary Turn the viewport's normal-debug render on/off: shaded triangles draw front-facing GREEN and back-facing RED, so capture_viewport reveals winding / flipped-normal defects.

func (View) SetOrientation

func (v View) SetOrientation(a wire.SetOrientationArgs) (wire.CameraView, error)

SetOrientation jumps the active view to a standard orientation (front/top/iso…), optionally fitting the model to the view, and returns the resulting camera.

client.View().SetOrientation(wire.SetOrientationArgs{Orientation: types.IsoTopRightViewOrientation, Fit: true})

mcp:tool set_view_orientation mcp:summary Jump the active view to a standard orientation (front/top/iso…) by id; set fit to frame the model. Returns the resulting camera.

func (View) SetShadows

func (v View) SetShadows(s wire.ShadowSettings) (wire.ShadowSettings, error)

SetShadows applies the viewport's shadow settings, returning the resulting settings.

mcp:tool set_shadows mcp:summary Apply the viewport's shadow settings and return the resulting settings.

func (View) Shadows

func (v View) Shadows() (wire.ShadowSettings, error)

Shadows returns the viewport's current shadow settings.

mcp:tool get_shadows mcp:summary Read the viewport's shadow settings (ground/object shadows, direction, softness).

type Views

Views is the per-document view-collection operation group: a document owns a set of views (the document's view collection), each with its own camera, tiled per a layout. Use it to enumerate, add, activate, close, and rename views, and to choose the tiling layout. A Document field of 0 in any request targets the active document.

type Views struct {
// contains filtered or unexported fields
}

func (Views) Activate

func (v Views) Activate(args wire.ActivateViewArgs) (wire.ListViewsResult, error)

Activate makes the indexed view of a document the active view.

mcp:tool activate_view mcp:summary Make the view at the given index the active view; document 0 = active.

func (Views) Add

func (v Views) Add(args wire.AddViewArgs) (wire.ViewInfo, error)

Add creates a new view of a document and makes it active, returning the new view.

mcp:tool add_view mcp:summary Add a new view to a document and make it active (copyActiveCamera starts it at the current view's camera); document 0 = active.

func (Views) CaptureNamed

func (v Views) CaptureNamed(args wire.CaptureNamedViewArgs) (wire.NamedViewInfo, error)

CaptureNamed saves the active view's current camera under a name (replacing any existing named view of that name) and returns the saved view.

mcp:tool capture_named_view mcp:summary Save the active view's current camera under a name so restore_named_view can return to it exactly; document 0 = active.

func (Views) Close

func (v Views) Close(args wire.CloseViewArgs) (wire.ListViewsResult, error)

Close removes the indexed view; closing the last view of a document is refused.

mcp:tool close_view mcp:summary Close the view at the given index (the last view cannot be closed); document 0 = active.

func (Views) DeleteNamed

func (v Views) DeleteNamed(args wire.NamedViewRefArgs) (wire.OKResult, error)

DeleteNamed removes a saved named view.

mcp:tool delete_named_view mcp:summary Delete a saved named view by name; document 0 = active.

func (Views) Layout

func (v Views) Layout(document uint64) (wire.LayoutResult, error)

Layout returns a document's current tiling layout.

mcp:tool views_get_layout mcp:summary Returns a document's current tiling layout.

func (Views) List

func (v Views) List(document uint64) (wire.ListViewsResult, error)

List enumerates a document's views (document 0 = active), with the active index and layout.

vs, _ := client.Views().List(0)

mcp:tool list_views mcp:summary List a document's views (each with its camera), the active index, and the tiling layout; document 0 = active.

func (Views) ListNamed

func (v Views) ListNamed(document uint64) (wire.NamedViewsResult, error)

ListNamed enumerates a document's saved named views.

mcp:tool list_named_views mcp:summary List a document's saved named views (the names restore_named_view accepts); document 0 = active.

func (Views) Rename

func (v Views) Rename(args wire.RenameViewArgs) (wire.ViewInfo, error)

Rename sets the indexed view's name.

mcp:tool views_rename mcp:summary Sets the indexed view's name.

func (Views) RestoreNamed

func (v Views) RestoreNamed(args wire.NamedViewRefArgs) (wire.CameraView, error)

RestoreNamed restores a saved named view's camera to the active view (animated), returning the resulting camera.

mcp:tool restore_named_view mcp:summary Restore a saved named view's camera to the active view exactly; see list_named_views; document 0 = active.

func (Views) SetLayout

func (v Views) SetLayout(args wire.SetLayoutArgs) (wire.LayoutResult, error)

SetLayout chooses how a document's views are tiled.

mcp:tool set_view_layout mcp:summary Set how a document's views tile the viewport (0 single, 1 two-H, 2 two-V, 3 three, 4 quad); document 0 = active.

type Windows

Windows is the window-management operation group (M05-F10): the view frame and the document tab strip. View tiling inside the frame is Client.Views's layout surface.

type Windows struct {
// contains filtered or unexported fields
}

func (Windows) ActivateTab

func (w Windows) ActivateTab(document uint64) (wire.OKResult, error)

ActivateTab brings a document tab to the front.

mcp:tool windows_activate_tab mcp:summary Brings a document tab to the front.

func (Windows) CloseTab

func (w Windows) CloseTab(document uint64, force bool) (wire.OKResult, error)

CloseTab closes a document tab; force discards unsaved changes.

mcp:tool windows_close_tab mcp:summary Closes a document tab; force discards unsaved changes.

func (Windows) Frames

func (w Windows) Frames() (wire.ListViewFramesResult, error)

Frames returns the top-level view frames (one, on the single-frame host).

mcp:tool windows_list_frames mcp:summary Returns the top-level view frames (one, on the single-frame host).

func (Windows) Tabs

func (w Windows) Tabs() (wire.ListViewTabsResult, error)

Tabs returns the document tab strip in order, flagging the active tab.

mcp:tool windows_list_tabs mcp:summary Returns the document tab strip in order, flagging the active tab.

type WorkPlanes

WorkPlanes is the datum-plane construction group for the active part or assembly: List enumerates the model's planes, Create is the general constructor, and the typed helpers wrap each datum-plane constructor. References are work-feature reference strings — origin constants (types.WorkRefXYPlane …), refs returned by List, or a face reference for the tangent helpers.

type WorkPlanes struct {
// contains filtered or unexported fields
}

func (WorkPlanes) Create

func (w WorkPlanes) Create(args wire.CreateWorkPlaneArgs) (wire.CreateWorkPlaneResult, error)

Create adds a datum plane from an explicit request — the escape hatch covering every kind; prefer the typed helpers below for the common constructors.

mcp:tool create_work_plane mcp:summary Create a user work plane (offset, three-point, two-plane, tangent, …); see the args schema. Pair with capture_viewport to SEE the datum plane (drawn as a translucent square).

func (WorkPlanes) Fixed

func (w WorkPlanes) Fixed(origin, xAxis, yAxis []float64) (wire.CreateWorkPlaneResult, error)

Fixed adds a plane fixed at origin [x,y,z] with the given X/Y axis direction components.

func (WorkPlanes) LineAndTangent

func (w WorkPlanes) LineAndTangent(line, face string) (wire.CreateWorkPlaneResult, error)

LineAndTangent adds a plane through line and tangent to a surface (face).

func (WorkPlanes) LinePlaneAndAngle

func (w WorkPlanes) LinePlaneAndAngle(line, plane, angle string) (wire.CreateWorkPlaneResult, error)

LinePlaneAndAngle adds a plane through line at a unit-bearing angle ("45 deg") to plane.

func (WorkPlanes) List

func (w WorkPlanes) List() (wire.ListWorkPlanesResult, error)

List returns the active model's datum planes (origin frame first, then user planes).

mcp:tool list_work_planes mcp:summary List the work planes of the active part or assembly (origin + user). Each user plane reports its kind plus the inputs redefine_work_plane accepts: its scalars (offset/angle: index, label, unit, value) and its reference slots (index, label, kind: plane|axis|point|face).

func (WorkPlanes) NormalToCurve

func (w WorkPlanes) NormalToCurve(curve, point string) (wire.CreateWorkPlaneResult, error)

NormalToCurve adds a plane through point, normal to curve (a line/axis reference).

func (WorkPlanes) Offset

func (w WorkPlanes) Offset(base, distance string) (wire.CreateWorkPlaneResult, error)

Offset adds a plane parallel to base, offset by a unit-bearing distance ("10 mm").

func (WorkPlanes) PlaneAndPoint

func (w WorkPlanes) PlaneAndPoint(base, point string) (wire.CreateWorkPlaneResult, error)

PlaneAndPoint adds a plane parallel to base passing through point.

func (WorkPlanes) PlaneAndTangent

func (w WorkPlanes) PlaneAndTangent(base, face string) (wire.CreateWorkPlaneResult, error)

PlaneAndTangent adds a plane parallel to base and tangent to a surface (face).

func (WorkPlanes) PointAndTangent

func (w WorkPlanes) PointAndTangent(point, face string) (wire.CreateWorkPlaneResult, error)

PointAndTangent adds the tangent plane of a surface (face) at a point on it.

func (WorkPlanes) Redefine

func (w WorkPlanes) Redefine(args wire.RedefineWorkPlaneArgs) (wire.RedefineWorkPlaneResult, error)

Redefine edits a placed user work plane in place: set editable scalars and/or re-point reference slots, discovered from the plane's List entry (its Scalars and Slots). Returns the plane's refreshed info.

mcp:tool redefine_work_plane mcp:summary Edit a placed user work plane in place by its index (from list_work_planes): set scalars (e.g. an offset distance or line-plane angle: scalars:[{index,value:"50 mm"}]) and/or re-point reference slots at new geometry (repick:[{slot,ref:"origin/plane/xz"}]). Returns the plane's refreshed geometry; capture_viewport shows it move.

func (WorkPlanes) Repick

func (w WorkPlanes) Repick(index, slot int, ref string) (wire.RedefineWorkPlaneResult, error)

Repick redefines plane index by re-pointing its reference slot at ref (an origin constant, a List ref, or a face key) — the common single-reference redefine.

func (WorkPlanes) SetScalar

func (w WorkPlanes) SetScalar(index, scalar int, value string) (wire.RedefineWorkPlaneResult, error)

SetScalar redefines plane index's scalar slot to a unit-bearing value ("30 mm", "60 deg") — the common single-value redefine (an offset distance or a line-plane angle).

func (WorkPlanes) ThreePoints

func (w WorkPlanes) ThreePoints(p1, p2, p3 string) (wire.CreateWorkPlaneResult, error)

ThreePoints adds a plane through three point references.

func (WorkPlanes) TorusMidPlane

func (w WorkPlanes) TorusMidPlane(face string) (wire.CreateWorkPlaneResult, error)

TorusMidPlane adds the mid-plane of a torus face reference.

func (WorkPlanes) TwoLines

func (w WorkPlanes) TwoLines(line1, line2 string) (wire.CreateWorkPlaneResult, error)

TwoLines adds a plane from two line references (line1 is the X axis).

func (WorkPlanes) TwoPlanes

func (w WorkPlanes) TwoPlanes(plane1, plane2 string) (wire.CreateWorkPlaneResult, error)

TwoPlanes adds the bisecting plane of plane1 and plane2.

type WorkPoints

WorkPoints is the datum-point construction group for the active part or assembly. A created point's reference can feed a work plane (e.g. a three-point plane through three points) or a work-plane redefine's slot re-pick.

type WorkPoints struct {
// contains filtered or unexported fields
}

func (WorkPoints) At

func (w WorkPoints) At(x, y, z float64) (wire.CreateWorkPointResult, error)

At adds a datum point at (x, y, z) — the common spelling of Create.

func (WorkPoints) Create

func (w WorkPoints) Create(args wire.CreateWorkPointArgs) (wire.CreateWorkPointResult, error)

Create adds a datum point fixed at position [x, y, z] (model units) and returns its index, reference, and name.

mcp:tool create_work_point mcp:summary Create a datum work point fixed at a position (at:[x,y,z], model units). Returns its ref (e.g. "point/1") to use as a point input — three points make a three-points work plane, or re-point such a plane's slot via redefine_work_plane.

type WorkSurfaces

WorkSurfaces is the construction-surface group for the active part: List enumerates the surface bodies surface-output features produced (each a named, visibility-controlled WorkSurface), and the helpers get / show-or-hide / rename one. Work surfaces are created as a side effect of surface features (there is no create here); a surface's Ref from List can be passed wherever a feature accepts a surface input.

type WorkSurfaces struct {
// contains filtered or unexported fields
}

func (WorkSurfaces) Get

func (w WorkSurfaces) Get(index int) (wire.WorkSurfaceDetailResult, error)

Get returns one work surface's state by its index (from List), e.g. Get(0).

mcp:tool work_surface_get mcp:summary Returns one work surface's state (name, ref, visibility, body count, source feature) by its index from list_work_surfaces.

func (WorkSurfaces) List

func (w WorkSurfaces) List() (wire.ListWorkSurfacesResult, error)

List returns the active part's work surfaces (construction surfaces produced by surface-output features), in creation order.

mcp:tool list_work_surfaces mcp:summary List the work surfaces (construction surfaces) of the active part. Each reports its name, ref, visibility, translucency, the count of surface bodies it wraps, and the feature that produced it.

func (WorkSurfaces) Rename

func (w WorkSurfaces) Rename(index int, name string) (wire.WorkSurfaceDetailResult, error)

Rename sets the work surface's display name (must be non-empty and unique), e.g. Rename(0, "Parting Surface").

mcp:tool work_surface_rename mcp:summary Sets a work surface's display name by its index (from list_work_surfaces); the name must be non-empty and unique within the part.

func (WorkSurfaces) SetVisible

func (w WorkSurfaces) SetVisible(index int, visible bool) (wire.WorkSurfaceDetailResult, error)

SetVisible shows or hides the work surface at index and returns its refreshed state, e.g. SetVisible(0, false).

mcp:tool work_surface_set_visible mcp:summary Show or hide a work surface by its index (from list_work_surfaces). Returns the surface's refreshed state.

Generated by gomarkdoc