Auto-generated from the oblikovati.org/api/wire Go source. Do not edit here.
wire
import "oblikovati.org/api/wire"
Package wire is the host↔add-in transport contract: one method-name constant and a pair of JSON request/response DTOs per operation. It is the single place either side of the C ABI declares a method's name or payload shape — the GPL application's router serves these methods keyed on the constants, and add-ins call them through the typed client package rather than raw JSON (ADR-0016/ADR-0018). DTOs are plain data with json tags only; wire has no behavior and imports nothing but types.
Package wire is the JSON method contract: the canonical method-name constants and the request/response DTOs that travel across the host↔add-in boundary (today the in-process C ABI of ADR-0016; tomorrow gRPC or a socket — the DTOs are transport agnostic). These shapes ARE the public automation surface; the GPL host (/source/addin/router) marshals model state into them, and the typed client (oblikovati.org/api/client) marshals add-in calls out of them.
Every type here is plain data with stable JSON tags — no behavior, no dependency on the implementation. Field renames are breaking changes to the contract.
Index
- Constants
- type ActivateDocumentArgs
- type ActivateEnvironmentArgs
- type ActivateOrientationArgs
- type ActivateViewArgs
- type ActivateViewTabArgs
- type AddAngleArgs
- type AddAngularDimensionArgs
- type AddArcLengthDimensionArgs
- type AddAssemblyChamferArgs
- type AddAssemblyExtrudeArgs
- type AddAssemblyFeatureArgs
- type AddAssemblyFilletArgs
- type AddAssemblyHoleArgs
- type AddAssemblyMoveFaceArgs
- type AddAssemblyRevolveArgs
- type AddAssemblySweepArgs
- type AddAttachmentArgs
- type AddAuxiliaryViewArgs
- type AddBalloonArgs
- type AddBaseViewArgs
- type AddBreakViewArgs
- type AddBreakoutViewArgs
- type AddCenterMarksArgs
- type AddCenterlineArgs
- type AddCenterlinesArgs
- type AddCoGMarkerArgs
- type AddConstraintArgs
- type AddConstraintResult
- type AddCustomArgs
- type AddCustomTableArgs
- type AddDSJointArgs
- type AddDatumFeatureArgs
- type AddDetailViewArgs
- type AddDimensionArgs
- type AddDimensionResult
- type AddDimensionSetArgs
- type AddDocumentInterestArgs
- type AddDraftViewArgs
- type AddDrawingNoteArgs
- type AddDrawingSketchArgs
- type AddDrawingSketchEntityArgs
- type AddEntityIDResult
- type AddErrorMessageArgs
- type AddFeatureArgs
- type AddFeatureControlFrameArgs
- type AddFillRegionArgs
- type AddFlushArgs
- type AddHatchRegionArgs
- type AddHoleNotesArgs
- type AddHoleTableArgs
- type AddInInfo
- type AddInManifest
- type AddInRefArgs
- type AddInsertArgs
- type AddJointArgs
- type AddLightArgs
- type AddLinearDimensionArgs
- type AddMateArgs
- type AddOrdinateDimensionsArgs
- type AddOrientationArgs
- type AddPartsListArgs
- type AddPointCloudCropArgs
- type AddProjectedViewArgs
- type AddProxyCutFeatureArgs
- type AddRadialDimensionArgs
- type AddRevisionCloudArgs
- type AddRevisionTableArgs
- type AddRevisionTagArgs
- type AddRotateRotateArgs
- type AddRotateTranslateArgs
- type AddSectionArgs
- type AddSectionViewArgs
- type AddSheetArgs
- type AddSketch3DConstraintArgs
- type AddSketch3DConstraintResult
- type AddSketch3DDimensionArgs
- type AddSketch3DDimensionResult
- type AddSketch3DEntityArgs
- type AddSketch3DEntityResult
- type AddSketch3DSurfaceCurveArgs
- type AddSketch3DSurfaceCurveResult
- type AddSketchBlockArgs
- type AddSketchBlockResult
- type AddSketchEntityArgs
- type AddSketchEntityResult
- type AddSketchImageArgs
- type AddSketchImageResult
- type AddSketchPatternArgs
- type AddSketchPatternResult
- type AddSliceViewArgs
- type AddSurfaceTextureArgs
- type AddSymmetryArgs
- type AddTangentArgs
- type AddTextArgs
- type AddTransitionalArgs
- type AddTranslateTranslateArgs
- type AddViewArgs
- type AnalyzeInterferenceArgs
- type AnnotationResult
- type AppearanceInfo
- type ApplicationApiVersionResult
- type AppliedConstraintInference
- type AppliedPointInference
- type AssemblyConstraintInfo
- type AssemblyEdgeRef
- type AssemblyFaceRef
- type AssemblyFeatureHealth
- type AssemblyFeatureInfo
- type AssemblyFeatureResult
- type AssemblyFeaturesChangedEvent
- type AssemblyFeaturesResult
- type AssemblyHealthResult
- type AssemblyJointResult
- type AssemblyJointsResult
- type AssetRefArgs
- type AssignAppearanceArgs
- type AssignMaterialArgs
- type AttachPointCloudArgs
- type AttachmentInfo
- type AttributeInfo
- type AttributeMatch
- type AttributeResult
- type AutoDimensionResult
- type BOMExportArgs
- type BOMExportResult
- type BOMRowInfo
- type BOMViewArgs
- type BOMViewResult
- type BalloonTipClickedEvent
- type BatchPlacement
- type BatchSaveArgs
- type BatchSaveItem
- type BatchSaveItemResult
- type BatchSaveResult
- type BeginMessageSectionArgs
- type BeginMessageSectionResult
- type BeginProgressArgs
- type BeginProgressResult
- type BendAllowanceArgs
- type BendAllowanceResult
- type BendInfo
- type BendOrderInfo
- type BendOrderResult
- type BendsResult
- type BindTransientKeyArgs
- type BindTransientKeyResult
- type BindingInfo
- type BodyIndexArgs
- type BodyInfo
- type BodyInfoResult
- type BodyListResult
- type BodyPhysicalPropertiesArgs
- type BodyRangeBoxArgs
- type BodyRangeBoxResult
- type BodyRenameArgs
- type BodySetVisibleArgs
- type BodyShellsResult
- type BodyTopology
- type BodyWiresResult
- type BrepBodyRef
- type BrepBodyStats
- type BrepBooleanArgs
- type BrepCopyArgs
- type BrepCreateFromDefinitionArgs
- type BrepCreateFromDefinitionResult
- type BrepDeleteFacesArgs
- type BrepHandleArgs
- type BrepHandleResult
- type BrepIdenticalBodiesArgs
- type BrepIdenticalBodiesResult
- type BrepImprintArgs
- type BrepImprintResult
- type BrepListResult
- type BrepOffsetFacesArgs
- type BrepRuledSurfaceArgs
- type BrepSectionArgs
- type BrepSilhouetteArgs
- type BrepTransformArgs
- type BrepWireRef
- type BrepWiresResult
- type BrowserMenuItem
- type BrowserNodeEvent
- type BrowserNodeSpec
- type BrowserPaneSpec
- type CalculateFacetsArgs
- type CalculateStrokesArgs
- type CallAddInAutomationArgs
- type CallAddInAutomationResult
- type CameraChangedEvent
- type CameraView
- type CaptureNamedViewArgs
- type CaptureRepArgs
- type CaptureViewportArgs
- type CaptureViewportResult
- type CaptureWindowArgs
- type CaptureWindowResult
- type CenterMarksResult
- type CenterlineInfo
- type CenterlinesResult
- type CircularPatternFeatureArgs
- type ClientApplicationInfo
- type ClientGraphicsInfo
- type ClientOperationEvent
- type CloseAllDocumentsArgs
- type CloseDocumentArgs
- type CloseDocumentsResult
- type CloseTaskPanelArgs
- type CloseViewArgs
- type CloseViewTabArgs
- type CloseWebDialogArgs
- type ColorMapperInfo
- type ColorMappersResult
- type ColorSchemeView
- type ColorSchemesResult
- type ColorStyleView
- type ColorStylesResult
- type CommandInfo
- type CommandLineResult
- type CommandStartedEvent
- type CompatibleUnitsResult
- type Constraint3DInfo
- type ConstraintEventPayload
- type ConstraintGeomRef
- type ConstraintInfo
- type ConstraintLimits
- type ConstraintResult
- type ConstraintStatusResult
- type ConstraintsResult
- type ContactMemberArgs
- type ContactSetInfo
- type ContactSetRef
- type ContactSetResult
- type ContactSetsResult
- type ContactSolverEnableArgs
- type ContactSolverInfo
- type ContactSolverResult
- type ContextMenuItemSpec
- type ConvertUnitsArgs
- type ConvertUnitsResult
- type ConvexityEdgesArgs
- type ConvexityEdgesResult
- type CopyComponentsArgs
- type CopySketchArgs
- type CopySketchResult
- type CreaseFreeformEdgesArgs
- type CreateBlockDefinitionArgs
- type CreateCommandArgs
- type CreateContactSetArgs
- type CreateDocumentArgs
- type CreateHighlightSetArgs
- type CreateModelStateArgs
- type CreatePatternArgs
- type CreatePrimitiveArgs
- type CreateSketch3DArgs
- type CreateSketch3DResult
- type CreateSketchArgs
- type CreateSketchResult
- type CreateWorkPlaneArgs
- type CreateWorkPlaneResult
- type CreateWorkPointArgs
- type CreateWorkPointResult
- type CustomPropertyFormatInfo
- type DSDOFInfo
- type DSJointInfo
- type DSJointResult
- type DSJointsResult
- type DatabaseUnitsResult
- type DeleteAnnotationArgs
- type DeleteAssemblyConstraintArgs
- type DeleteAttributeArgs
- type DeleteAttributeResult
- type DeleteBlockDefinitionArgs
- type DeleteBrowserPaneArgs
- type DeleteCenterlineArgs
- type DeleteClientGraphicsArgs
- type DeleteConstraintArgs
- type DeleteDSJointArgs
- type DeleteDimensionArgs
- type DeleteDockableWindowArgs
- type DeleteFeatureResult
- type DeleteJointArgs
- type DeleteOrientationArgs
- type DeletePointCloudCropResult
- type DeletePointCloudResult
- type DeleteSketch3DConstraintArgs
- type DeleteViewArgs
- type DeriveBreakLinkArgs
- type DeriveCreateArgs
- type DeriveStatusArgs
- type DeriveStatusResult
- type DerivedParameterReference
- type DerivedParameterTableAddArgs
- type DerivedParameterTableDeleteArgs
- type DerivedParameterTableInfo
- type DerivedParameterTableSetLinkedArgs
- type DeselectArgs
- type DesignViewInfo
- type DesignViewResult
- type DesignViewsResult
- type Dimension3DInfo
- type DimensionInfo
- type DimensionResult
- type DimensionSetResult
- type DimensionStyleInfo
- type DisplayHelpArgs
- type DisplayModeInfo
- type DisplayModeOptionsView
- type DisplayModeView
- type DisplayOptionsView
- type DisplaySettingsView
- type DockableWindowChangedEvent
- type DockableWindowSpec
- type DocumentFileReferenceInfo
- type DocumentInfo
- type DocumentSubTypeInfo
- type DocumentUnitsInfo
- type DragContext
- type DrawingAnnotationInfo
- type DrawingCurveSegment
- type DrawingDimensionInfo
- type DrawingSketchInfo
- type DrawingSketchResult
- type DrawingViewInfo
- type DriveDimensionArgs
- type DriveFrame
- type DriveJointArgs
- type DrivePlacement
- type DriveResult
- type DriveSettingsDTO
- type DriveSketch3DDimensionArgs
- type DrivingParametersResult
- type DuplicateAssetArgs
- type EdgesOfTypeArgs
- type EdgesResult
- type EditAssemblyFeatureArgs
- type EditCommittedEvent
- type EditFeatureArgs
- type EditHelixArgs
- type EditSketch3DResult
- type EditSketchResult
- type EditTextArgs
- type EndMessageSectionArgs
- type EndOfFeaturesResult
- type EndOfPartResult
- type EndProgressArgs
- type EnumerateEntities3DResult
- type EnumerateEntitiesResult
- type EnumeratorPage
- type EnvironmentChangedEvent
- type EnvironmentInfo
- type EnvironmentPresetInfo
- type EnvironmentPresetListResult
- type EnvironmentView
- type ExecuteCommandArgs
- type ExportDXFArgs
- type ExportDXFResult
- type ExportDrawingDXFArgs
- type ExportDrawingDXFResult
- type ExportRequest
- type ExportResponse
- type ExpressionArgs
- type ExpressionListInfo
- type ExpressionValidResult
- type ExpressionWithTypeArgs
- type FaceEvaluateArgs
- type FaceEvaluateResult
- type FaceFacetsArgs
- type FaceShellInfo
- type FacesResult
- type FacetSetResult
- type FacetTolerancesResult
- type FeatureDetail
- type FeatureDetailResult
- type FeatureError
- type FeatureHealth
- type FeatureInfo
- type FeatureKindInfo
- type FeatureLifecycleEvent
- type FeatureRefArgs
- type FeatureRepick
- type FeatureScalar
- type FeatureSlot
- type FileDialogChosenEvent
- type FileDialogHookPayload
- type FileDirtyEventPayload
- type FileInfo
- type FileMetadataEntry
- type FileReferenceInfo
- type FileResolutionEventPayload
- type FindByAttributeArgs
- type FindByAttributeResult
- type FindUsingRayArgs
- type FindUsingRayResult
- type FitPointCloudPlaneArgs
- type FitPointCloudPlaneResult
- type FlatBendLineInfo
- type FlatEdgeInfo
- type FlatFaceInfo
- type FlatPatternInfo
- type FlatPatternOrientationInfo
- type FlatPatternSettings
- type FontFace
- type GeneralOptionsView
- type GetAttributeArgs
- type GetCameraArgs
- type GetDisplaySettingsArgs
- type GetFileArgs
- type GetMarkingMenuArgs
- type GetOptionGroupArgs
- type GetPropertyArgs
- type GetSketchSettingsArgs
- type GetStyleArgs
- type GetTextArgs
- type GraphicsColorMapper
- type GraphicsNode
- type GraphicsPrimitive
- type GroundOccurrenceArgs
- type GroundPlaneView
- type HasDocumentInterestArgs
- type HasDocumentInterestResult
- type HelixDefinitionView
- type HelixEndCondition
- type HelixShapeRow
- type HelpPathResult
- type HighlightSetInfo
- type HighlightSetItemsArgs
- type HighlightSetRefArgs
- type ImportDWGArgs
- type ImportDWGResult
- type ImportDXFArgs
- type ImportDXFResult
- type ImportPDFArgs
- type ImportPDFResult
- type ImportRequest
- type ImportResponse
- type ImportStyleLibraryArgs
- type IncludeSketch2DArgs
- type IncludeSketch3DArgs
- type IncludeSketch3DResult
- type InferenceOptionsView
- type InteractionState
- type InterferenceResultInfo
- type InterferenceResultsResult
- type IsPointInsideArgs
- type IsPointInsideResult
- type JointEventPayload
- type JointInfo
- type JointLimits
- type KeyedObjectRef
- type KeyedObjectRefList
- type KeymapExport
- type LODInfo
- type LODResult
- type LODsResult
- type LanguageInfoResult
- type LayoutResult
- type LightInfo
- type LightListResult
- type LightingStyleInfo
- type LightingStyleListResult
- type LightingStyleView
- type LineStyleInfo
- type ListAddInsResult
- type ListAppearancesResult
- type ListAttachmentsArgs
- type ListAttachmentsResult
- type ListAttributeSetsArgs
- type ListAttributeSetsResult
- type ListAttributesArgs
- type ListAttributesResult
- type ListBindingsResult
- type ListBlockDefinitionsResult
- type ListBlockInstancesResult
- type ListBrowserPanesResult
- type ListClientApplicationsResult
- type ListClientGraphicsResult
- type ListCommandsResult
- type ListConstraints3DResult
- type ListConstraintsResult
- type ListDerivedParameterTablesResult
- type ListDimensions3DResult
- type ListDimensionsResult
- type ListDisplayModesResult
- type ListDockableWindowsResult
- type ListDocumentFileReferencesArgs
- type ListDocumentFileReferencesResult
- type ListDocumentInterestsArgs
- type ListDocumentInterestsResult
- type ListDocumentSubTypesResult
- type ListDocumentsResult
- type ListDrawingAnnotationsResult
- type ListDrawingDimensionsResult
- type ListDrawingSketchesResult
- type ListDrawingViewsResult
- type ListEnvironmentsResult
- type ListErrorsResult
- type ListFeatureKindsResult
- type ListFileReferencesResult
- type ListFontsResult
- type ListHighlightSetsResult
- type ListMaterialsResult
- type ListMiniToolbarsResult
- type ListOptionGroupsResult
- type ListParameterGroupsResult
- type ListParametersResult
- type ListPaths3DResult
- type ListPointCloudCropsArgs
- type ListPointCloudCropsResult
- type ListPointCloudsResult
- type ListProfiles3DResult
- type ListProfilesResult
- type ListPropertiesArgs
- type ListPropertiesResult
- type ListRibbonResult
- type ListSheetsResult
- type ListSketches3DResult
- type ListSketchesResult
- type ListStandardsResult
- type ListThemesResult
- type ListViewFramesResult
- type ListViewTabsResult
- type ListViewsArgs
- type ListViewsResult
- type ListWebViewsResult
- type ListWorkPlanesResult
- type ListWorkSurfacesResult
- type LoadEnvironmentImageArgs
- type LocateUsingPointArgs
- type LocateUsingPointResult
- type LocatedEntityInfo
- type LogRecord
- type LogsResult
- type LogsTailArgs
- type ManipulatorDragEvent
- type ManipulatorHandleSpec
- type MapEntityArgs
- type MapEntityResult
- type MarkingMenuItem
- type MarkingMenuView
- type MassPropertiesArgs
- type MassPropertiesResult
- type MaterialInfo
- type MeasureArgs
- type MeasureResult
- type MeshColorsResult
- type MessageEntry
- type MessageSectionView
- type MiniToolbarChangedEvent
- type MiniToolbarCommittedEvent
- type MiniToolbarControlSpec
- type MiniToolbarSpec
- type MinimumDistanceArgs
- type MinimumDistanceResult
- type MirrorComponentsArgs
- type MirrorFeatureArgs
- type MirrorIntoPartArgs
- type ModelChangedEvent
- type ModelHealthArgs
- type ModelHealthResult
- type ModelStateInfo
- type ModelStateResult
- type ModelStatesResult
- type ModelTreeResult
- type MoveFreeformVerticesArgs
- type NameValueEntry
- type NameValueMap
- type NamedViewInfo
- type NamedViewRefArgs
- type NamedViewsResult
- type NearestPointArgs
- type NearestPointResult
- type NewOccurrencesResult
- type NormalDebugResult
- type OKResult
- type ObjectRefList
- type ObjectRenamedEvent
- type ObjectVisibilityView
- type OccurrenceDOFInfo
- type OccurrenceEventPayload
- type OccurrenceInfo
- type OccurrenceResult
- type OccurrencesResult
- type OffsetPlanarWireArgs
- type OffsetPlanarWireResult
- type OffsetSketchArgs
- type OffsetSketchResult
- type OpenDocumentArgs
- type OptionGroupView
- type OrientationResult
- type OrientationsResult
- type PanelControlSpec
- type PanelReferenceRow
- type PanelReferencesChangedEvent
- type PanelValueChangedEvent
- type ParameterChangedEvent
- type ParameterDetail
- type ParameterExportResult
- type ParameterExpressionListArgs
- type ParameterGroupAddArgs
- type ParameterGroupDeleteArgs
- type ParameterGroupDisplayNameArgs
- type ParameterGroupInfo
- type ParameterGroupMemberArgs
- type ParameterImportArgs
- type ParameterImportResult
- type ParameterInfo
- type ParameterNameArgs
- type ParameterNamesResult
- type ParameterSetArgs
- type ParameterSettingsInfo
- type ParameterSettingsUpdateArgs
- type ParameterSweepArgs
- type ParameterSweepResult
- type ParameterToleranceArgs
- type ParameterUpdateArgs
- type PartOptionsView
- type Path3DInfo
- type PlaceByDefinitionArgs
- type PlaceByDefinitionBatchArgs
- type PlaceByDefinitionBatchResult
- type PlaceOccurrenceArgs
- type PlateInfo
- type PlatesResult
- type PointCloudCropArgs
- type PointCloudCropInfo
- type PointCloudInfo
- type PointCloudNameArgs
- type PointCloudSpaceArgs
- type PointCloudSpaceResult
- type PositionalInfo
- type PositionalResult
- type PositionalsResult
- type ProblemEntityInfo
- type Profile3DInfo
- type ProfileInfo
- type ProgressCancelledEvent
- type ProjectGeometryArgs
- type ProjectGeometryResult
- type PromptAnsweredEvent
- type PropertyChangedEvent
- type PropertyInfo
- type PropertyResult
- type RectangularPatternFeatureArgs
- type RedefineWorkPlaneArgs
- type RedefineWorkPlaneResult
- type ReferenceKeysResult
- type RegionPropertiesArgs
- type RegionPropertiesResult
- type RegisterBalloonTipArgs
- type RegisterClientApplicationArgs
- type RegisterClientApplicationResult
- type RegisterColorMapperArgs
- type RegisterDocumentSubTypeArgs
- type RegisterEnvironmentArgs
- type RegisterHelpContextArgs
- type RemoveAttachmentArgs
- type RemoveDocumentInterestArgs
- type RemoveManipulatorsArgs
- type RemoveMiniToolbarArgs
- type RemoveOccurrenceArgs
- type RemoveSheetArgs
- type RenameFeatureArgs
- type RenameViewArgs
- type RenameWorkSurfaceArgs
- type ReorderFeatureArgs
- type RepRef
- type ReplaceFileReferenceArgs
- type ReplaceOccurrenceArgs
- type RepresentationEventPayload
- type RepresentationInfo
- type RequiresUpdateResult
- type ResetBindingArgs
- type ResolveSketchReferenceArgs
- type ResolveSketchReferenceResult
- type ResolveThreadArgs
- type RevisionTableRow
- type RibbonControlInfo
- type RibbonItemInfo
- type RibbonPanelInfo
- type RibbonSelectorInfo
- type RibbonTabInfo
- type SaveCopyAsArgs
- type SaveDocumentArgs
- type SaveDocumentAsArgs
- type SaveDocumentResult
- type SaveOptionsView
- type ScalarEdit
- type ScriptRunArgs
- type ScriptRunResult
- type SearchCommandsArgs
- type SearchCommandsResult
- type SelectArgs
- type SelectionChangedEvent
- type SelectionResult
- type SetActiveSheetArgs
- type SetAddInLoadBehaviorArgs
- type SetAliasArgs
- type SetAppearanceArgs
- type SetAssemblyFeaturesSuppressedArgs
- type SetAssemblyParticipantPathsArgs
- type SetAssemblyParticipantsArgs
- type SetAttributeArgs
- type SetBendOrderArgs
- type SetBrowserPaneArgs
- type SetCameraArgs
- type SetChordArgs
- type SetClientGraphicsArgs
- type SetClientGraphicsResult
- type SetClientGraphicsVisibleArgs
- type SetColorSchemeArgs
- type SetCommandStateArgs
- type SetConstraintLimitsArgs
- type SetContextMenuArgs
- type SetDisplayModeArgs
- type SetDisplaySettingsArgs
- type SetDockableWindowArgs
- type SetDockableWindowReferencesArgs
- type SetDockableWindowValueArgs
- type SetDockableWindowVisibleArgs
- type SetDocumentUnitsArgs
- type SetEndOfFeaturesArgs
- type SetEndOfPartArgs
- type SetEnvironmentArgs
- type SetFeatureSuppressedArgs
- type SetFlexibleArgs
- type SetFlexibleChildArgs
- type SetFlexibleOccurrenceArgs
- type SetFreeformLevelArgs
- type SetHighlightSetColorArgs
- type SetImposedMotionArgs
- type SetJointFlipArgs
- type SetJointLimitsArgs
- type SetLayoutArgs
- type SetLightArgs
- type SetLightingStyleArgs
- type SetManipulatorsArgs
- type SetMarkingMenuArgs
- type SetMeshColorsArgs
- type SetMiniToolbarArgs
- type SetModelReferenceArgs
- type SetModelReferenceResult
- type SetNodeSelectableArgs
- type SetNodeTransformArgs
- type SetNodeVisibleArgs
- type SetNormalDebugArgs
- type SetNoticeArgs
- type SetObjectVisibilityArgs
- type SetOrientationArgs
- type SetPointCloudCropActiveArgs
- type SetPointCloudDensityArgs
- type SetPointCloudScaleArgs
- type SetPointCloudTransformArgs
- type SetPointCloudVisibleArgs
- type SetPositionalOverrideArgs
- type SetPropertyArgs
- type SetSettingsArgs
- type SetSheetMetalStyleArgs
- type SetSketch3DPropertyArgs
- type SetSketchCustomLineTypeArgs
- type SetSketchPropertyArgs
- type SetSketchSettingsArgs
- type SetSplineHandleArgs
- type SetStandardArgs
- type SetStatusTextArgs
- type SetSuppressedArgs
- type SetTextFontArgs
- type SetTextFontResult
- type SetVisibilityArgs
- type SetWorkSurfaceVisibleArgs
- type SettingsResult
- type ShadedDisplayModeOptionsView
- type ShadowSettings
- type SheetInfo
- type SheetMetalStyleInfo
- type SheetMetalStyleResult
- type SheetResult
- type ShowBalloonTipArgs
- type ShowBalloonTipResult
- type ShowFileDialogArgs
- type ShowPromptArgs
- type ShowPromptResult
- type ShowTaskPanelArgs
- type ShowTriadArgs
- type ShowWebDialogArgs
- type ShrinkwrapCreateArgs
- type Sketch3DArgs
- type Sketch3DEntityInfo
- type Sketch3DInfo
- type SketchArgs
- type SketchBlockDefinitionInfo
- type SketchBlockInfo
- type SketchCustomLineTypeResult
- type SketchDependent
- type SketchDependentsResult
- type SketchEditEvent
- type SketchEntityInfo
- type SketchInfo
- type SketchOptionsView
- type SketchRectangleArgs
- type SketchRectangleResult
- type SketchReferenceKeyResult
- type SketchSettingsResult
- type SketchTextResult
- type SlotRepick
- type SnapConstraintArgs
- type SolveSketch3DResult
- type SolveSketchResult
- type SplineHandleInfo
- type StandardStyleInfo
- type StandardStyleResult
- type StatusTextResult
- type StringFromValueArgs
- type StringResult
- type StrokeSetResult
- type StyleChangedEvent
- type StyleLibrariesResult
- type StyleLibraryInfo
- type SubmitCommandLineArgs
- type SubstituteComponentsArgs
- type SuppressOccurrenceArgs
- type TaskPanelClosedEvent
- type TaskPanelSpec
- type TextStyleInfo
- type ThemeSummary
- type ThemeView
- type ThreadInfoResult
- type ThreadTableQueryArgs
- type ThreadTableQueryResult
- type TitleBlockField
- type TitleBlockFieldsArgs
- type TitleBlockFieldsResult
- type ToleranceInfo
- type TopologyRef
- type TransactionBeginArgs
- type TransactionEventPayload
- type TransactionHistory
- type TransactionHistoryArgs
- type TransactionHistoryEntry
- type TransactionJumpToArgs
- type Transform3DArgs
- type Transform3DResult
- type TransformOccurrenceArgs
- type TransformSketchArgs
- type TransformSketchResult
- type TriadDragEvent
- type TriadSegmentEvent
- type TriadSpec
- type UndoState
- type UnfoldResult
- type UnitStringArgs
- type UnitsTypeArgs
- type UnitsTypeResult
- type UnregisterClientApplicationArgs
- type UpdateDocumentArgs
- type UpdateDocumentResult
- type UpdateInteractionGraphicsArgs
- type UpdateMiniToolbarArgs
- type UpdateProgressArgs
- type UpdateProgressResult
- type ValidateBodyArgs
- type ValidateBodyResult
- type ValueResult
- type ViewCurvesArgs
- type ViewCurvesResult
- type ViewFrameInfo
- type ViewInfo
- type ViewResult
- type ViewTabInfo
- type WebDialogChangedEvent
- type WebDialogSpec
- type WireInfo
- type WirePolyline
- type WireframeDisplayModeOptionsView
- type WorkPlaneInfo
- type WorkPlaneRefSlot
- type WorkPlaneScalar
- type WorkSurfaceDetailResult
- type WorkSurfaceInfo
- type WorkSurfaceRefArgs
Constants
Face-evaluation modes for FaceEvaluateArgs.Mode. They select which query the host runs over the supplied inputs and which result arrays come back. pointAtParam, normalAtParam and tangents take (u, v) parameter pairs; closestPoint takes (x, y, z) points and projects each onto the face.
const (
FaceEvalPointAtParam = "pointAtParam" // (u,v) → Points
FaceEvalNormalAtParam = "normalAtParam" // (u,v) → Points + Normals
FaceEvalTangents = "tangents" // (u,v) → Points + UTangents + VTangents
FaceEvalClosestPoint = "closestPoint" // (x,y,z) → Points + UVs (the projected params)
)
Feature-pattern kinds for MethodFeaturesAdd (#189): the part-feature replication operations, addressed by these kind strings. They replicate one or more existing features (referenced by tree name) rather than bodies — the canonical parametric workflow "model one slot, cut it, pattern it N = `slots`".
const (
FeatureKindPatternCircular = "patternCircular"
FeatureKindPatternRectangular = "patternRectangular"
FeatureKindMirror = "mirror"
)
Method names. These string constants are the wire identity of each operation; the host router keys its dispatch table on them and the client sends them. Treat the string values as frozen (clients and saved automations depend on them).
const (
MethodCommandsList = "commands.list"
MethodCommandsExecute = "commands.execute"
MethodCommandsCreate = "commands.create"
MethodCommandsSetState = "commands.setState"
MethodCommandLineSubmit = "commandLine.submit"
MethodRibbonList = "ribbon.list"
MethodDocumentsList = "documents.list"
MethodDocumentsUpdate = "documents.update"
MethodDocumentsRebuild = "documents.rebuild"
MethodDocumentsRequiresUpdate = "documents.requiresUpdate"
MethodDocumentsCreate = "documents.create"
MethodDocumentsActivate = "documents.activate"
MethodDocumentsClose = "documents.close"
MethodDocumentsCloseAll = "documents.closeAll"
MethodDocumentsImport = "documents.import"
MethodDocumentsExport = "documents.export"
// Flavored document subtypes (M05-F15, Oblikovati#665).
MethodDocumentsRegisterSubType = "documents.registerSubType"
MethodDocumentsListSubTypes = "documents.listSubTypes"
// Document iProperties — metadata sets read/written by add-ins, BOMs, title blocks (#156).
MethodDocumentsListProperties = "documents.listProperties"
MethodDocumentsGetProperty = "documents.getProperty"
MethodDocumentsSetProperty = "documents.setProperty"
// Per-document settings (#147) — the Document Settings dialog's persisted defaults. Starts with
// the Sketch tab (the constraint-inference preferences the sketch tools read).
MethodDocumentGetSketchSettings = "document.getSketchSettings"
MethodDocumentSetSketchSettings = "document.setSketchSettings"
// Part end-of-part rollback marker (#141) — inspect / move how far down the feature program the
// active part evaluates (authoring features mid-history, design inspection).
MethodDocumentGetEndOfPart = "document.getEndOfPart"
MethodDocumentSetEndOfPart = "document.setEndOfPart"
// Add-in attribute sets (#155) — named, typed values an add-in attaches to a document and
// that persist with it: the sanctioned mechanism for add-ins to store their own data and tag
// the model. set/get/list address a named attribute in a named set on a document; listSets
// enumerates the sets; delete removes an attribute (or a whole set); find locates the open
// documents carrying a given set/attribute.
MethodAttributesSet = "attributes.set"
MethodAttributesGet = "attributes.get"
MethodAttributesList = "attributes.list"
MethodAttributesListSets = "attributes.listSets"
MethodAttributesDelete = "attributes.delete"
MethodAttributesFind = "attributes.find"
// Document open/save lifecycle (#138) and the save policy layer around it:
// SaveCopyAs and batch save (M03-F09, #610).
MethodDocumentsOpen = "documents.open"
MethodDocumentsSave = "documents.save"
MethodDocumentsSaveAs = "documents.saveAs"
MethodDocumentsSaveCopyAs = "documents.saveCopyAs"
MethodDocumentsBatchSave = "documents.batchSave"
// The file as an object distinct from its documents, with file-level
// reference descriptors and repair (M03-F07, #608).
MethodFilesGet = "files.get"
MethodFilesListReferences = "files.listReferences"
MethodFilesReplaceReference = "files.replaceReference"
MethodDocumentsListFileReferences = "documents.listFileReferences"
// Linked/embedded external-file attachments on a document (M03-F08, #609).
MethodDocumentsListAttachments = "documents.listAttachments"
MethodDocumentsAddAttachment = "documents.addAttachment"
MethodDocumentsRemoveAttachment = "documents.removeAttachment"
// The add-in data registry on documents (M03-F10, #611).
MethodDocumentsListInterests = "documents.listInterests"
MethodDocumentsAddInterest = "documents.addInterest"
MethodDocumentsRemoveInterest = "documents.removeInterest"
MethodDocumentsHasInterest = "documents.hasInterest"
// Document units of measure + unit/expression service (Oblikovati#146).
MethodDocumentsGetUnits = "documents.getUnits"
MethodDocumentsSetUnits = "documents.setUnits"
MethodUnitsConvert = "units.convert"
MethodUnitsGetStringFromValue = "units.getStringFromValue"
MethodUnitsGetPreciseStringFromValue = "units.getPreciseStringFromValue"
MethodUnitsGetValueFromExpression = "units.getValueFromExpression"
MethodUnitsGetDatabaseUnitsFromExpression = "units.getDatabaseUnitsFromExpression"
MethodUnitsIsExpressionValid = "units.isExpressionValid"
MethodUnitsCompatibleUnits = "units.compatibleUnits"
MethodUnitsGetTypeFromString = "units.getTypeFromString"
MethodUnitsGetStringFromType = "units.getStringFromType"
MethodUnitsGetLocaleCorrectedExpression = "units.getLocaleCorrectedExpression"
MethodUnitsGetDrivingParameters = "units.getDrivingParameters"
MethodParametersList = "parameters.list"
MethodParametersGet = "parameters.get"
MethodParametersAdd = "parameters.add"
MethodParametersSet = "parameters.set"
// Member-level parameter surface (M02-F08, Oblikovati#607).
MethodParametersGetDetail = "parameters.getDetail"
MethodParametersUpdate = "parameters.update"
MethodParametersSetTolerance = "parameters.setTolerance"
MethodParametersSetExpressionList = "parameters.setExpressionList"
MethodParametersDelete = "parameters.delete"
MethodParametersDrivenBy = "parameters.drivenBy"
MethodParametersDependents = "parameters.dependents"
// Parameter settings, tolerance sweeps & exchange (M02-F07, Oblikovati#606).
MethodParametersGetSettings = "parameters.getSettings"
MethodParametersSetSettings = "parameters.setSettings"
MethodParametersSetAllModelValueType = "parameters.setAllModelValueType"
MethodParametersExport = "parameters.export"
MethodParametersImport = "parameters.import"
// Derived parameter tables (M02-F06, Oblikovati#605).
MethodParametersDerivedTablesList = "parameters.derivedTables.list"
MethodParametersDerivedTablesAdd = "parameters.derivedTables.add"
MethodParametersDerivedTablesSetLinked = "parameters.derivedTables.setLinked"
MethodParametersDerivedTablesDelete = "parameters.derivedTables.delete"
// Custom parameter groups (M02-F05, Oblikovati#604).
MethodParametersGroupsList = "parameters.groups.list"
MethodParametersGroupsAdd = "parameters.groups.add"
MethodParametersGroupsDelete = "parameters.groups.delete"
MethodParametersGroupsSetDisplayName = "parameters.groups.setDisplayName"
MethodParametersGroupsAddMember = "parameters.groups.addMember"
MethodParametersGroupsRemoveMember = "parameters.groups.removeMember"
MethodModelTree = "model.tree"
MethodModelSelection = "model.selection"
MethodModelReferenceKeys = "model.referenceKeys"
// Selection mutation (#157) — make the previously read-only selection writable: select the
// entities named by their reference strings (from a SelectionResult), remove them, or clear
// the whole set. The reply is the new SelectionResult.
MethodModelSelect = "model.select"
MethodModelDeselect = "model.deselect"
MethodModelClearSelection = "model.clearSelection"
// Highlight sets (#157): named, colored emphasis groups the viewport outlines without
// selecting — an add-in guides the user. create/delete/addItems/setColor/list.
MethodModelHighlightSetCreate = "model.highlightSets.create"
MethodModelHighlightSetDelete = "model.highlightSets.delete"
MethodModelHighlightSetAddItems = "model.highlightSets.addItems"
MethodModelHighlightSetSetColor = "model.highlightSets.setColor"
MethodModelHighlightSetList = "model.highlightSets.list"
MethodImportDWG = "import.dwg"
MethodImportDXF = "import.dxf"
MethodImportPDF = "import.pdf"
MethodExportDXF = "export.dxf"
MethodSketchCreate = "sketch.create"
MethodSketchRectangle = "sketch.rectangle"
MethodSketchList = "sketch.list"
MethodSketchGet = "sketch.get"
MethodSketchDependents = "sketch.dependents"
MethodSketchEdit = "sketch.edit"
MethodSketchExitEdit = "sketch.exitEdit"
MethodSketchSolve = "sketch.solve"
MethodSketchDelete = "sketch.delete"
MethodSketchEntities = "sketch.entities"
MethodSketchConstraints = "sketch.constraints"
MethodSketchDimensions = "sketch.dimensions"
MethodSketchSetProperty = "sketch.setProperty"
MethodSketchAddEntity = "sketch.addEntity"
// Custom line types loaded from industry-standard .lin definition files
// (issue Oblikovati#161).
MethodSketchGetCustomLineType = "sketch.getCustomLineType"
MethodSketchSetCustomLineType = "sketch.setCustomLineType"
MethodSketchAddConstraint = "sketch.addConstraint"
MethodSketchDeleteConstraint = "sketch.deleteConstraint"
MethodSketchAddDimension = "sketch.addDimension"
MethodSketchDriveDimension = "sketch.driveDimension"
MethodSketchConstraintStatus = "sketch.constraintStatus"
MethodSketchProfiles = "sketch.profiles"
MethodSketchTransform = "sketch.transform"
MethodSketchCopyTo = "sketch.copyTo"
MethodSketchAddPattern = "sketch.addPattern"
MethodSketchOffset = "sketch.offset"
MethodSketchAddImage = "sketch.addImage"
MethodSketchAddFillRegion = "sketch.addFillRegion"
MethodSketchAddText = "sketch.addText"
MethodSketchEditText = "sketch.editText"
MethodSketchGetText = "sketch.getText"
MethodSketchSetTextFont = "sketch.setTextFont"
MethodSketchAutoDimension = "sketch.autoDimension"
MethodSketchProject = "sketch.project"
// Sketch blocks: reusable entity groups instanced with a placement
// transform (M06-F07, Oblikovati/Oblikovati#622).
MethodSketchBlockDefinitionCreate = "sketch.blockDefinitions.create"
MethodSketchBlockDefinitionList = "sketch.blockDefinitions.list"
MethodSketchBlockDefinitionDelete = "sketch.blockDefinitions.delete"
MethodSketchAddBlockInstance = "sketch.addBlockInstance"
MethodSketchListBlockInstances = "sketch.blockInstances"
// Region properties of a closed profile (M06-F08, #623).
MethodSketchRegionProperties = "sketch.regionProperties"
// Sketch inference options: enable/disable + constraint-family priority
// (M06-F10, #625).
MethodSketchSetInferenceOptions = "sketch.setInferenceOptions"
MethodSketchGetInferenceOptions = "sketch.getInferenceOptions"
// Spline tangency handles (M06-F11, #626).
MethodSketchSetSplineHandle = "sketch.setSplineHandle"
// Persistent reference keys for a sketch and its entities (#153):
// referenceKey returns a sketch's own durable key; resolveReference rebinds a
// stored sketch/entity key to its current location.
MethodSketchReferenceKey = "sketch.referenceKey"
MethodSketchResolveReference = "sketch.resolveReference"
MethodSketch3DCreate = "sketch3d.create"
MethodSketch3DList = "sketch3d.list"
MethodSketch3DGet = "sketch3d.get"
MethodSketch3DEdit = "sketch3d.edit"
MethodSketch3DExitEdit = "sketch3d.exitEdit"
MethodSketch3DSolve = "sketch3d.solve"
MethodSketch3DDelete = "sketch3d.delete"
MethodSketch3DSetProperty = "sketch3d.setProperty"
MethodSketch3DEntities = "sketch3d.entities"
MethodSketch3DConstraints = "sketch3d.constraints"
MethodSketch3DDimensions = "sketch3d.dimensions"
MethodSketch3DConstraintStatus = "sketch3d.constraintStatus"
MethodSketch3DAddEntity = "sketch3d.addEntity"
MethodSketch3DAddConstraint = "sketch3d.addConstraint"
MethodSketch3DDeleteConstraint = "sketch3d.deleteConstraint"
MethodSketch3DAddDimension = "sketch3d.addDimension"
MethodSketch3DDriveDimension = "sketch3d.driveDimension"
MethodSketch3DProfiles = "sketch3d.profiles"
MethodSketch3DPaths = "sketch3d.paths"
MethodSketch3DTransform = "sketch3d.transform"
MethodSketch3DInclude = "sketch3d.include"
MethodSketch3DIncludeSketch = "sketch3d.includeSketch"
MethodSketch3DAddSurfaceCurve = "sketch3d.addSurfaceCurve"
// Region properties of a planar closed 3D profile (M06-F08, #623).
MethodSketch3DRegionProperties = "sketch3d.regionProperties"
// Helical curve definition edit — constant or variable shape rows plus
// end conditions (M06-F09, #624).
MethodSketch3DEditHelix = "sketch3d.editHelix"
// 3D spline tangency handles (M06-F11, #626).
MethodSketch3DSetSplineHandle = "sketch3d.setSplineHandle"
// A 3D sketch's own persistent reference key (#153). 3D entity keys are reported by
// MethodSketch3DEntities, and any key (2D or 3D) rebinds through
// MethodSketchResolveReference.
MethodSketch3DReferenceKey = "sketch3d.referenceKey"
MethodFeaturesList = "features.list"
MethodFeaturesAdd = "features.add"
// Feature lifecycle after placement (issue Oblikovati#140): features are
// addressed by the stable id reported in [FeatureInfo] (model.tree).
MethodFeaturesGet = "features.get"
MethodFeaturesEdit = "features.edit"
MethodFeaturesDelete = "features.delete"
MethodFeaturesRename = "features.rename"
MethodFeaturesSetSuppressed = "features.setSuppressed"
MethodFeaturesReorder = "features.reorder"
// Sheet-metal rule/style surface (M13-F01, Oblikovati#373/#369): the active part's
// sheet-metal environment — its rule (thickness/bend-radius/relief/gap) and unfold
// method. getStyle reports the active rule; setStyle edits it and recomputes (the rule
// is parameter-backed, so a thickness/K-factor change repropagates to every wall);
// bendAllowance previews the developed flat length of one bend under the active method.
MethodSheetMetalGetStyle = "sheetMetal.getStyle"
MethodSheetMetalSetStyle = "sheetMetal.setStyle"
MethodSheetMetalBendAllowance = "sheetMetal.bendAllowance"
// bends reports the part's bend lineage (M13-F04, Oblikovati#377): every bend the
// wall/bend features introduced, with the unfold values (allowance/deduction) the flat
// pattern develops it by. This is the flat pattern's prerequisite — the architecture
// requires every bend to record its unfold parameters.
MethodSheetMetalBends = "sheetMetal.bends"
// unfold develops the folded part into its flat pattern (M13-F04, Oblikovati#377) and
// reports the flat: its 2D extents, gauge, developed area and fold lines. The flat is a
// derived body, so a thickness/K-factor edit changes its extents through the bend
// allowance with no model recompute.
MethodSheetMetalUnfold = "sheetMetal.unfold"
// Flat-pattern orientations (M13-F05, Oblikovati#635): named alignment states that frame
// the developed flat for drawing views and export. The active orientation drives the flat's
// reported length/width; orientations persist in the document.
MethodFlatPatternListOrientations = "flatPattern.listOrientations"
MethodFlatPatternAddOrientation = "flatPattern.addOrientation"
MethodFlatPatternActivateOrientation = "flatPattern.activateOrientation"
MethodFlatPatternDeleteOrientation = "flatPattern.deleteOrientation"
// Flat-pattern edge/face classification (M13-F05, Oblikovati#635): the bend-up/bend-down
// fold lines and the front/back faces of the developed flat — the manufacturing/drawing
// classification of the flat's topology (the DXF layer-mapping input).
MethodFlatPatternEdgesOfType = "flatPattern.edgesOfType"
MethodFlatPatternFaces = "flatPattern.faces"
// mapEntity maps a folded-model topology entity to its developed-flat counterpart (or back)
// by reference key (M13-F05, Oblikovati#635), so a drawing dimension or selection on the flat
// survives recompute.
MethodFlatPatternMapEntity = "flatPattern.mapEntity"
// Flat-pattern plates + settings (M13-F05, Oblikovati#635): the disjoint developed regions
// (one plate per connected flat region) and the per-document settings (deferred flat-pattern
// update so a heavy flat only recomputes on demand).
MethodFlatPatternListPlates = "flatPattern.listPlates"
MethodFlatPatternGetSettings = "flatPattern.getSettings"
MethodFlatPatternSetSettings = "flatPattern.setSettings"
// Bend-order annotation (M13-F06, Oblikovati#809): number/sequence the part's bends for
// press-brake sequencing; the order is editable and persists, and is shown on the flat
// pattern and in drawing views.
MethodFlatPatternListBendOrder = "flatPattern.listBendOrder"
MethodFlatPatternSetBendOrder = "flatPattern.setBendOrder"
// Cosmetic centerlines (M13-F06, Oblikovati#809): annotation lines drawn on the flat
// pattern (e.g. a hole-pattern centerline) for manufacturing reference. They persist and
// appear on the flat and in drawing views.
MethodFlatPatternAddCenterline = "flatPattern.addCenterline"
MethodFlatPatternListCenterlines = "flatPattern.listCenterlines"
MethodFlatPatternDeleteCenterline = "flatPattern.deleteCenterline"
// Drawing document sheets (M14-F01, Oblikovati#384): the active drawing's sheets
// (sizes/orientation, borders, title blocks), the active-sheet selection, the
// primary referenced model (whose iProperties feed title-block fields), and a title
// block's resolved field values.
MethodDrawingListSheets = "drawing.listSheets"
MethodDrawingAddSheet = "drawing.addSheet"
MethodDrawingRemoveSheet = "drawing.removeSheet"
MethodDrawingSetActiveSheet = "drawing.setActiveSheet"
MethodDrawingSetModelReference = "drawing.setModelReference"
MethodDrawingTitleBlockFields = "drawing.titleBlockFields"
// Drawing sheet DXF export (M14-F05 PBI-145, Oblikovati#392): write the active sheet —
// its views' visible/hidden edges, border and title block — to a DXF file, on named layers.
MethodDrawingExportDXF = "drawing.exportDXF"
// Drawing drafting standards + styles (M14-F01 PBI-138, Oblikovati#385): the active
// drawing's drafting standard and its dimension/text/line style preset. Switching the
// standard re-points the preset so every annotation re-renders to it.
MethodDrawingStylesListStandards = "drawingStyles.listStandards"
MethodDrawingStylesGetActiveStyle = "drawingStyles.getActiveStyle"
MethodDrawingStylesSetStandard = "drawingStyles.setStandard"
// Drawing views (M14-F02 PBI-139, Oblikovati#386): project the referenced model onto the
// active sheet — a base view from a standard orientation and projected views off it — with
// hidden-line removal producing visible/hidden drawing curves.
MethodDrawingViewsList = "drawingViews.list"
MethodDrawingViewsAddBase = "drawingViews.addBase"
MethodDrawingViewsAddProjected = "drawingViews.addProjected"
MethodDrawingViewsAddAuxiliary = "drawingViews.addAuxiliary"
MethodDrawingViewsAddSection = "drawingViews.addSection"
MethodDrawingViewsAddDetail = "drawingViews.addDetail"
MethodDrawingViewsAddBreak = "drawingViews.addBreak"
MethodDrawingViewsAddSlice = "drawingViews.addSlice"
MethodDrawingViewsAddBreakout = "drawingViews.addBreakout"
MethodDrawingViewsAddDraft = "drawingViews.addDraft"
MethodDrawingViewsDelete = "drawingViews.delete"
MethodDrawingViewsCurves = "drawingViews.curves"
// Drawing annotations (M14-F02 #813): the centre-of-gravity marker (driven by the
// referenced model's mass properties) and revision-cloud sheet markup.
MethodDrawingAnnotationsList = "drawingAnnotations.list"
MethodDrawingAnnotationsAddCoG = "drawingAnnotations.addCoG"
MethodDrawingAnnotationsAddRevisionCloud = "drawingAnnotations.addRevisionCloud"
MethodDrawingAnnotationsAddCenterMarks = "drawingAnnotations.addCenterMarks"
MethodDrawingAnnotationsAddCenterlines = "drawingAnnotations.addCenterlines"
MethodDrawingAnnotationsAddFCF = "drawingAnnotations.addFeatureControlFrame"
MethodDrawingAnnotationsAddDatum = "drawingAnnotations.addDatumFeature"
MethodDrawingAnnotationsAddSurfaceText = "drawingAnnotations.addSurfaceTexture"
MethodDrawingAnnotationsAddPartsList = "drawingAnnotations.addPartsList"
MethodDrawingAnnotationsAddBalloon = "drawingAnnotations.addBalloon"
MethodDrawingAnnotationsAddHoleTable = "drawingAnnotations.addHoleTable"
MethodDrawingAnnotationsAddRevTable = "drawingAnnotations.addRevisionTable"
MethodDrawingAnnotationsAddRevTag = "drawingAnnotations.addRevisionTag"
MethodDrawingAnnotationsAddNote = "drawingAnnotations.addNote"
MethodDrawingAnnotationsAddCustomTable = "drawingAnnotations.addCustomTable"
MethodDrawingAnnotationsAddHoleNotes = "drawingAnnotations.addHoleNotes"
MethodDrawingAnnotationsDelete = "drawingAnnotations.delete"
// Drawing sketches (M14-F08 #638): 2D geometry drawn directly in sheet space (millimetres) on a
// sheet — linework and boundaries that hatch regions can fill.
MethodDrawingSketchesList = "drawingSketches.list"
MethodDrawingSketchesAdd = "drawingSketches.add"
MethodDrawingSketchesAddEntity = "drawingSketches.addEntity"
MethodDrawingSketchesAddHatch = "drawingSketches.addHatchRegion"
// Drawing dimensions (M14-F03 PBI-141 #388): associative linear dimensions on a view,
// snapped to projected model vertices so the measured value tracks the model.
MethodDrawingDimensionsList = "drawingDimensions.list"
MethodDrawingDimensionsAddLinear = "drawingDimensions.addLinear"
MethodDrawingDimensionsAddRadial = "drawingDimensions.addRadial"
MethodDrawingDimensionsAddAngular = "drawingDimensions.addAngular"
MethodDrawingDimensionsAddBaseline = "drawingDimensions.addBaseline"
MethodDrawingDimensionsAddChain = "drawingDimensions.addChain"
MethodDrawingDimensionsAddOrdinate = "drawingDimensions.addOrdinate"
MethodDrawingDimensionsAddArcLength = "drawingDimensions.addArcLength"
MethodDrawingDimensionsDelete = "drawingDimensions.delete"
// Thread table query + designation resolution (M09-F01 PBI-101, #325):
// one source of truth for thread data across tapping and drawings.
MethodThreadsTableQuery = "threads.tableQuery"
MethodThreadsResolve = "threads.resolve"
// Freeform cage editing after placement (M10-F03 PBI-114,
// Oblikovati#699): the feature is addressed by its stable id, like the
// features.* lifecycle methods.
MethodFreeformSetLevel = "freeform.setLevel"
MethodFreeformMoveVertices = "freeform.moveVertices"
MethodFreeformCreaseEdges = "freeform.creaseEdges"
// Assembly derive/shrinkwrap (M11-F06, Oblikovati#631/#716): derive a source
// assembly into the active part as a base body, or simplify it into a lightweight
// shrinkwrap body; break the link to freeze the current result. The derived feature
// is addressed by its stable id, like the features.* lifecycle methods.
MethodAssemblyDeriveCreate = "assembly.deriveCreate"
MethodAssemblyDeriveBreakLink = "assembly.deriveBreakLink"
MethodAssemblyDeriveStatus = "assembly.deriveStatus"
MethodAssemblyDeriveUpdate = "assembly.deriveUpdate"
MethodAssemblyShrinkwrapCreate = "assembly.shrinkwrapCreate"
// Assembly occurrences (M11-F01/F02, Oblikovati#728): read the active assembly's
// occurrence tree and place/transform/ground/suppress/replace/remove components.
// Occurrences are addressed by session id (the ids the occurrence push events carry).
MethodAssemblyOccurrences = "assembly.occurrences"
MethodAssemblyPlace = "assembly.place"
MethodAssemblyPlaceByDefinition = "assembly.placeByDefinition"
MethodAssemblyPlaceByDefinitionBatch = "assembly.placeByDefinitionBatch"
MethodAssemblyTransform = "assembly.transform"
MethodAssemblyGround = "assembly.ground"
MethodAssemblySuppress = "assembly.suppress"
MethodAssemblySetFlexible = "assembly.setFlexible" // M12-F06
MethodAssemblySetFlexibleChild = "assembly.setFlexibleChild" // M12-F06 independent solve
MethodAssemblyReplace = "assembly.replace"
MethodAssemblyRemove = "assembly.remove"
// Assembly replication (M11-F04, Oblikovati#729): replicate placed components —
// pattern (circular/rectangular), mirror across a plane, independent copy, and
// substitute a set of components with one simplified representation.
MethodAssemblyPatternCreate = "assembly.patternCreate"
MethodAssemblyMirror = "assembly.mirror"
MethodAssemblyMirrorIntoPart = "assembly.mirrorIntoPart"
MethodAssemblyCopy = "assembly.copy"
MethodAssemblySubstitute = "assembly.substitute"
// Assembly bill of materials (M11-F05, Oblikovati#730): read a structured or
// parts-only BOM view of the active assembly, and export a view to CSV with optional
// custom property columns.
MethodAssemblyBOMView = "assembly.bomView"
MethodAssemblyBOMExport = "assembly.bomExport"
// Assembly feature program (M11-F08, Oblikovati#633/#725): the machining features
// authored in the assembly, their per-occurrence participation and suppression, and
// the end-of-features rollback marker.
MethodAssemblyFeaturesList = "assemblyFeatures.list"
MethodAssemblyFeaturesAdd = "assemblyFeatures.add"
MethodAssemblyFeaturesAddProxyCut = "assemblyFeatures.addProxyCut"
MethodAssemblyFeaturesAddHole = "assemblyFeatures.addHole"
MethodAssemblyFeaturesAddExtrude = "assemblyFeatures.addExtrude"
MethodAssemblyFeaturesAddRevolve = "assemblyFeatures.addRevolve"
MethodAssemblyFeaturesAddChamfer = "assemblyFeatures.addChamfer"
MethodAssemblyFeaturesAddFillet = "assemblyFeatures.addFillet"
MethodAssemblyFeaturesAddMoveFace = "assemblyFeatures.addMoveFace"
MethodAssemblyFeaturesAddSweep = "assemblyFeatures.addSweep"
MethodAssemblyFeaturesEdit = "assemblyFeatures.edit"
MethodAssemblyFeaturesSetParticipants = "assemblyFeatures.setParticipants"
MethodAssemblyFeaturesSetParticipantPaths = "assemblyFeatures.setParticipantPaths"
MethodAssemblyFeaturesSetSuppressed = "assemblyFeatures.setSuppressed"
MethodAssemblyGetEndOfFeatures = "assembly.getEndOfFeatures"
MethodAssemblySetEndOfFeatures = "assembly.setEndOfFeatures"
// Assembly constraints (M12-F01, Oblikovati#358/#363): the relationships that
// position one occurrence relative to another, the solve that applies them, and the
// assembly's health / per-occurrence degrees-of-freedom report.
MethodAssemblyConstraintsList = "assemblyConstraints.list"
MethodAssemblyConstraintsAddMate = "assemblyConstraints.addMate"
MethodAssemblyConstraintsAddFlush = "assemblyConstraints.addFlush"
MethodAssemblyConstraintsAddAngle = "assemblyConstraints.addAngle"
MethodAssemblyConstraintsAddTangent = "assemblyConstraints.addTangent"
MethodAssemblyConstraintsAddInsert = "assemblyConstraints.addInsert"
MethodAssemblyConstraintsSnap = "assemblyConstraints.snap"
MethodAssemblyConstraintsAddSymmetry = "assemblyConstraints.addSymmetry"
MethodAssemblyConstraintsAddRotateRotate = "assemblyConstraints.addRotateRotate"
MethodAssemblyConstraintsAddRotateTranslate = "assemblyConstraints.addRotateTranslate"
MethodAssemblyConstraintsAddTranslateTranslate = "assemblyConstraints.addTranslateTranslate"
MethodAssemblyConstraintsAddTransitional = "assemblyConstraints.addTransitional"
MethodAssemblyConstraintsAddCustom = "assemblyConstraints.addCustom"
MethodAssemblyConstraintsDelete = "assemblyConstraints.delete"
MethodAssemblyConstraintsSetLimits = "assemblyConstraints.setLimits"
MethodAssemblyConstraintsSolve = "assemblyConstraints.solve"
MethodAssemblyConstraintsHealth = "assemblyConstraints.health"
// Assembly joints (M12-F02, Oblikovati#359/#364): the simplified joints that establish
// a degree-of-freedom set between two occurrences, and the DS-joint (DOF/imposed-motion)
// view. Joints and constraints solve together (assemblyConstraints.solve/health).
MethodAssemblyJointsList = "assemblyJoints.list"
MethodAssemblyJointsAddRigid = "assemblyJoints.addRigid"
MethodAssemblyJointsAddRotational = "assemblyJoints.addRotational"
MethodAssemblyJointsAddSlider = "assemblyJoints.addSlider"
MethodAssemblyJointsAddCylindrical = "assemblyJoints.addCylindrical"
MethodAssemblyJointsAddPlanar = "assemblyJoints.addPlanar"
MethodAssemblyJointsAddBall = "assemblyJoints.addBall"
MethodAssemblyJointsDelete = "assemblyJoints.delete"
MethodAssemblyJointsSetLimits = "assemblyJoints.setLimits"
MethodAssemblyJointsSetFlip = "assemblyJoints.setFlip"
MethodDSJointsList = "dsJoints.list"
MethodDSJointsAdd = "dsJoints.add"
MethodDSJointsSetImposedMotion = "dsJoints.setImposedMotion"
MethodDSJointsDelete = "dsJoints.delete"
// Assembly drive (M12-F03, Oblikovati#366): sweep a joint's driven variable through a
// range, re-solving each step, to animate the assembly (kinematic motion study) with an
// optional collision-stop.
MethodAssemblyDrivePreview = "assemblyDrive.preview"
// Assembly representations (M12-F04, Oblikovati#361/#367): the three override-layer
// families — design-view, positional, level-of-detail — plus model states selecting one
// of each. Capture snapshots the current scene; activate applies a representation.
MethodDesignRepsCapture = "designReps.capture"
MethodDesignRepsActivate = "designReps.activate"
MethodDesignRepsList = "designReps.list"
MethodDesignRepsDelete = "designReps.delete"
MethodDesignRepsSetVisibility = "designReps.setVisibility"
MethodDesignRepsSetAppearance = "designReps.setAppearance"
MethodDesignRepsAddSection = "designReps.addSection"
MethodPositionalRepsCapture = "positionalReps.capture"
MethodPositionalRepsActivate = "positionalReps.activate"
MethodPositionalRepsList = "positionalReps.list"
MethodPositionalRepsDelete = "positionalReps.delete"
MethodPositionalRepsSetOverride = "positionalReps.setOverride"
MethodPositionalRepsSetFlexible = "positionalReps.setFlexible"
MethodLODRepsCapture = "lodReps.capture"
MethodLODRepsActivate = "lodReps.activate"
MethodLODRepsList = "lodReps.list"
MethodLODRepsDelete = "lodReps.delete"
MethodLODRepsSetSuppressed = "lodReps.setSuppressed"
MethodModelStatesCreate = "modelStates.create"
MethodModelStatesActivate = "modelStates.activate"
MethodModelStatesList = "modelStates.list"
MethodModelStatesDelete = "modelStates.delete"
// Assembly contact & interference (M12-F05, Oblikovati#362/#368): contact sets (resist
// interpenetration when dragged), the contact-solver toggle, and static interference
// analysis (overlapping volumes between occurrences).
MethodContactSetsCreate = "contactSets.create"
MethodContactSetsList = "contactSets.list"
MethodContactSetsDelete = "contactSets.delete"
MethodContactSetsAddMember = "contactSets.addMember"
MethodContactSetsRemoveMember = "contactSets.removeMember"
MethodContactSolverSetEnabled = "contactSolver.setEnabled"
MethodContactSolverStatus = "contactSolver.status"
MethodInterferenceAnalyze = "interference.analyze"
MethodWorkPlanesList = "workPlanes.list"
MethodWorkPlanesCreate = "workPlanes.create"
MethodWorkPlanesRedefine = "workPlanes.redefine"
MethodWorkPointsCreate = "workPoints.create"
MethodWorkSurfacesList = "workSurfaces.list"
MethodWorkSurfacesGet = "workSurfaces.get"
MethodWorkSurfacesSetVisible = "workSurfaces.setVisible"
MethodWorkSurfacesRename = "workSurfaces.rename"
MethodThemeActive = "theme.active"
MethodThemeList = "theme.list"
MethodFontsList = "fonts.list"
MethodViewGetDisplayMode = "view.getDisplayMode"
MethodViewSetDisplayMode = "view.setDisplayMode"
MethodViewListDisplayModes = "view.listDisplayModes"
MethodViewGetShadows = "view.getShadows"
MethodViewSetShadows = "view.setShadows"
MethodViewGetCamera = "view.getCamera"
MethodViewSetCamera = "view.setCamera"
MethodViewportCapture = "viewport.capture"
MethodViewportCaptureWindow = "viewport.captureWindow"
MethodViewportSetNormalDebug = "viewport.setNormalDebug"
MethodViewportSetMeshColors = "viewport.setMeshColors"
MethodViewsList = "views.list"
MethodViewsAdd = "views.add"
MethodViewsActivate = "views.activate"
MethodViewsClose = "views.close"
MethodViewsRename = "views.rename"
MethodViewsGetLayout = "views.getLayout"
MethodViewsSetLayout = "views.setLayout"
// Named views & standard orientations (M16-F03, Oblikovati#404/#409): capture the active
// camera under a name and restore it exactly; jump to a standard orientation (front/top/iso).
MethodViewsCaptureNamed = "views.captureNamed"
MethodViewsListNamed = "views.listNamed"
MethodViewsRestoreNamed = "views.restoreNamed"
MethodViewsDeleteNamed = "views.deleteNamed"
MethodViewSetOrientation = "view.setOrientation"
MethodLightingGetStyle = "lighting.getStyle"
MethodLightingSetStyle = "lighting.setStyle"
MethodLightingListStyles = "lighting.listStyles"
MethodLightingListLights = "lighting.listLights"
MethodLightingAddLight = "lighting.addLight"
MethodLightingSetLight = "lighting.setLight"
MethodEnvironmentGet = "environment.get"
MethodEnvironmentSet = "environment.set"
MethodEnvironmentListPresets = "environment.listPresets"
MethodEnvironmentLoadImage = "environment.loadImage"
MethodAppearancesList = "appearances.list"
MethodAppearancesGet = "appearances.get"
MethodAppearancesCreate = "appearances.create"
MethodAppearancesUpdate = "appearances.update"
MethodMaterialsList = "materials.list"
MethodMaterialsGet = "materials.get"
MethodMaterialsCreate = "materials.create"
MethodMaterialsUpdate = "materials.update"
MethodModelAssignMaterial = "model.assignMaterial"
MethodModelAssignAppearance = "model.assignAppearance"
MethodModelPhysicalProperties = "model.physicalProperties"
// Body topology and queries (M07-F06/F07, Oblikovati/Oblikovati#629/#630).
MethodBodyList = "body.list"
MethodBodySetVisible = "body.setVisible"
MethodBodyRename = "body.rename"
MethodBodyDelete = "body.delete"
MethodBodyPhysicalProps = "body.physicalProperties"
MethodBodyShells = "body.shells"
MethodBodyWires = "body.wires"
MethodWireOffsetPlanar = "wire.offsetPlanar"
MethodBodyLocateUsingPoint = "body.locateUsingPoint"
MethodBodyFindUsingRay = "body.findUsingRay"
MethodBodyIsPointInside = "body.isPointInside"
MethodBodyConvexityEdges = "body.convexityEdges"
MethodBodyMinimumDistance = "body.minimumDistance"
MethodBodyValidate = "body.validate"
MethodBodyRangeBox = "body.rangeBox"
MethodBodyBindTransientKey = "body.bindTransientKey"
// Facet/stroke calculation and retrieval (M07-F03 remainder,
// Oblikovati/Oblikovati#293): the calculate variants cache per tolerance,
// the existing variants retrieve without re-faceting.
MethodBodyCalculateFacets = "body.calculateFacets"
MethodBodyExistingFacets = "body.existingFacets"
MethodBodyFacetTolerances = "body.facetTolerances"
MethodBodyCalculateStrokes = "body.calculateStrokes"
MethodBodyExistingStrokes = "body.existingStrokes"
MethodBodyStrokeTolerances = "body.strokeTolerances"
MethodFaceCalculateFacets = "face.calculateFacets"
MethodFaceCalculateStrokes = "face.calculateStrokes"
// Batched surface evaluation of one document face by reference key (point,
// normal, tangents, and point projection) — the out-of-process projection of
// the in-proc surface-evaluator contract, for surface-following toolpaths and
// point-projection queries.
MethodBodyFaceEvaluate = "body.faceEvaluate"
// The transient B-rep factory (M07-F05, Oblikovati/Oblikovati#628):
// ownerless bodies addressed by session handles.
MethodBrepCreatePrimitive = "brep.createPrimitive"
MethodBrepBoolean = "brep.boolean"
MethodBrepTransform = "brep.transform"
MethodBrepCopy = "brep.copy"
MethodBrepSectionWithPlane = "brep.sectionWithPlane"
MethodBrepDeleteFaces = "brep.deleteFaces"
MethodBrepSilhouette = "brep.silhouette"
MethodBrepRuledSurface = "brep.ruledSurface"
MethodBrepOffsetFaces = "brep.offsetFaces"
MethodBrepImprint = "brep.imprint"
MethodBrepIdenticalBodies = "brep.identicalBodies"
MethodBrepCreateFromDefinition = "brep.createFromDefinition"
MethodBrepDescribe = "brep.describe"
MethodBrepList = "brep.list"
MethodBrepDelete = "brep.delete"
MethodClientGraphicsSet = "clientGraphics.set"
MethodClientGraphicsList = "clientGraphics.list"
MethodClientGraphicsDelete = "clientGraphics.delete"
MethodClientGraphicsSetVisible = "clientGraphics.setVisible"
// Client-graphics object model — targeted retained-mode mutations and the named
// color-mapper registry (M16-F05, Oblikovati#641). These move/toggle/flag a node without
// resubmitting its (possibly large) mesh; the group transport stays the bulk clientGraphics.set.
MethodGraphicsNodeSetTransform = "graphicsNode.setTransform"
MethodGraphicsNodeSetVisible = "graphicsNode.setVisible"
MethodGraphicsNodeSetSelectable = "graphicsNode.setSelectable"
MethodClientGraphicsRegisterMapper = "clientGraphics.registerColorMapper"
MethodClientGraphicsListMappers = "clientGraphics.listColorMappers"
MethodInteractionGraphicsUpdate = "interactionGraphics.update"
MethodInteractionGraphicsClear = "interactionGraphics.clear"
MethodTransactionUndo = "transaction.undo"
MethodTransactionRedo = "transaction.redo"
MethodTransactionState = "transaction.state"
MethodTransactionBegin = "transaction.begin"
MethodTransactionEnd = "transaction.end"
// MethodTransactionAbort discards the innermost open bounded transaction —
// the model reverts to the group's pre-Begin state instead of committing it
// (M04-F05, Oblikovati#613). Returns the resulting [UndoState].
MethodTransactionAbort = "transaction.abort"
// MethodTransactionHistory reads one open document's whole undo stream for a history
// browser (every step since open, with save checkpoints flagged), without activating it.
// Returns [TransactionHistory].
MethodTransactionHistory = "transaction.history"
// MethodTransactionJumpTo moves one document's undo cursor to an absolute position,
// undoing or redoing as many steps as needed in one call. Returns [TransactionHistory].
MethodTransactionJumpTo = "transaction.jumpTo"
MethodInteractionState = "interaction.state"
MethodInteractionSetNotice = "interaction.setNotice"
MethodScriptRun = "scripts.run"
MethodLogsTail = "logs.tail"
// Analysis & measurement (M18-F01 #423): engineering analysis on the model. Mass properties
// (volume, surface area, centre of mass, mass) of the active part; measurement of entities.
MethodAnalysisMassProperties = "analysis.massProperties"
MethodAnalysisMeasure = "analysis.measure"
// Model health aggregation (M18-F02 #430): enumerate the active part's unhealthy features.
MethodAnalysisModelHealth = "analysis.modelHealth"
// Add-in registry & automation (M05-F01: #245, #251, #252).
MethodAddInsList = "addins.list"
MethodAddInsGet = "addins.get"
MethodAddInsActivate = "addins.activate"
MethodAddInsDeactivate = "addins.deactivate"
MethodAddInsSetLoadBehavior = "addins.setLoadBehavior"
MethodAddInsCallAutomation = "addins.callAutomation"
// Host application info an add-in queries at runtime. apiVersion reports the
// full api.Version the host implements, so an add-in compatible at the major
// boundary can still adapt to minor/patch differences.
MethodApplicationApiVersion = "application.apiVersion"
// External client applications driving the session (M05-F01, #245).
MethodClientAppsRegister = "clientApps.register"
MethodClientAppsUnregister = "clientApps.unregister"
MethodClientAppsList = "clientApps.list"
// Add-in browser panes (M05-F03: #247, #256).
MethodBrowserSetPane = "browser.setPane"
MethodBrowserDeletePane = "browser.deletePane"
MethodBrowserListPanes = "browser.listPanes"
// Add-in dockable windows (M05-F03, #247).
MethodDockableWindowsSet = "dockableWindows.set"
MethodDockableWindowsSetVisible = "dockableWindows.setVisible"
MethodDockableWindowsSetValue = "dockableWindows.setValue"
MethodDockableWindowsDelete = "dockableWindows.delete"
MethodDockableWindowsList = "dockableWindows.list"
MethodDockableWindowsSetReferences = "dockableWindows.setReferences"
// UI environments (M05-F03, #247; add-in environments: Oblikovati#667).
MethodUIListEnvironments = "ui.listEnvironments"
// Application options (M05-F11, #618).
MethodOptionsListGroups = "options.listGroups"
MethodOptionsGetGroup = "options.getGroup"
MethodOptionsSetGroup = "options.setGroup"
// Command alias & keyboard-shortcut customization (M05-F17, #831).
MethodKeymapList = "keymap.list"
MethodKeymapSetChord = "keymap.setChord"
MethodKeymapSetAlias = "keymap.setAlias"
MethodKeymapReset = "keymap.reset"
MethodKeymapResetAll = "keymap.resetAll"
MethodKeymapExport = "keymap.export"
MethodKeymapImport = "keymap.import"
// Status, progress & user messaging (M05-F09, #616).
MethodStatusSetText = "status.setText"
MethodStatusGetText = "status.getText"
MethodProgressBegin = "progress.begin"
MethodProgressUpdate = "progress.update"
MethodProgressEnd = "progress.end"
MethodBalloonTipRegister = "balloonTip.register"
MethodBalloonTipShow = "balloonTip.show"
MethodPromptsShow = "prompts.show"
MethodErrorsAddMessage = "errors.addMessage"
MethodErrorsBeginSection = "errors.beginSection"
MethodErrorsEndSection = "errors.endSection"
MethodErrorsList = "errors.list"
MethodErrorsClear = "errors.clear"
MethodErrorsShow = "errors.show"
// In-canvas mini-toolbars (M05-F07, #614).
MethodMiniToolbarSet = "miniToolbar.set"
MethodMiniToolbarUpdate = "miniToolbar.update"
MethodMiniToolbarRemove = "miniToolbar.remove"
MethodMiniToolbarList = "miniToolbar.list"
// Host-provided modal dialogs (M05-F08, #615).
MethodDialogsShowFileDialog = "dialogs.showFileDialog"
MethodDialogsShowWebDialog = "dialogs.showWebDialog"
MethodDialogsCloseWebDialog = "dialogs.closeWebDialog"
MethodDialogsListWebViews = "dialogs.listWebViews"
// Modal task panels built from declarative controls (FEM/parametric editing).
MethodTaskPanelShow = "taskPanel.show"
MethodTaskPanelClose = "taskPanel.close"
// Document windows: frames & tabs (M05-F10, #617).
MethodWindowsListFrames = "windows.listFrames"
MethodWindowsListTabs = "windows.listTabs"
MethodWindowsActivateTab = "windows.activateTab"
MethodWindowsCloseTab = "windows.closeTab"
// Help routing & language info (M05-F14, #621).
MethodHelpRegisterContext = "help.registerContext"
MethodHelpDisplay = "help.display"
MethodHelpPath = "help.path"
MethodLanguageInfo = "language.info"
// Interactive gizmos: the triad and manipulator handles (M05-F13, #620).
MethodTriadShow = "triad.show"
MethodTriadUpdate = "triad.update"
MethodTriadHide = "triad.hide"
MethodTriadGet = "triad.get"
MethodManipulatorsSet = "manipulators.set"
MethodManipulatorsRemove = "manipulators.remove"
// UI shell: search, marking menus, context menus, object visibility (M05-F12, #619).
MethodUISearch = "ui.search"
MethodUIGetMarkingMenu = "ui.getMarkingMenu"
MethodUISetMarkingMenu = "ui.setMarkingMenu"
MethodUISetContextMenu = "ui.setContextMenu"
MethodUIGetObjectVisibility = "ui.getObjectVisibility"
MethodUISetObjectVisibility = "ui.setObjectVisibility"
// Add-in UI environments (M05-F16, Oblikovati#667).
MethodUIRegisterEnvironment = "ui.registerEnvironment"
MethodUIActivateEnvironment = "ui.activateEnvironment"
// Application color schemes (M16-F06, Oblikovati#642): the named palettes (background,
// highlight, selection colors) the viewport and selection pipeline traffic in.
MethodColorSchemesList = "colorSchemes.list"
MethodColorSchemesGetActive = "colorSchemes.getActive"
MethodColorSchemesSetActive = "colorSchemes.setActive"
// Display options & settings (M16-F07, Oblikovati#643): the application-level display
// options and the per-document display settings (background, edges, ground plane, shadows)
// that parameterize the M23 display modes.
MethodDisplayGetOptions = "display.getOptions"
MethodDisplaySetOptions = "display.setOptions"
MethodDocumentGetDisplaySettings = "document.getDisplaySettings"
MethodDocumentSetDisplaySettings = "document.setDisplaySettings"
// Styles & standards (M16-F02, Oblikovati#403/#408): the document's color styles, the
// style-library cascade, and library import. (Lighting styles use the lighting.* methods.)
MethodStylesList = "styles.list"
MethodStylesGet = "styles.get"
MethodStylesSet = "styles.set"
MethodStylesDelete = "styles.delete"
MethodStylesListLibraries = "styles.listLibraries"
MethodStylesImportLibrary = "styles.importLibrary"
// Attached point clouds (M17-F06, Oblikovati/Oblikovati#645): laser-scan / photogrammetry
// references on the active part — attach, query, place, and budget their display. They
// operate on the active part's cloud collection, keyed by unique name.
MethodPointCloudsAttach = "pointClouds.attach"
MethodPointCloudsList = "pointClouds.list"
MethodPointCloudsGet = "pointClouds.get"
MethodPointCloudsDelete = "pointClouds.delete"
MethodPointCloudsSetVisible = "pointClouds.setVisible"
MethodPointCloudsSetTransform = "pointClouds.setTransform"
MethodPointCloudsSetScale = "pointClouds.setScale"
MethodPointCloudsSetDensity = "pointClouds.setDensity"
MethodPointCloudsToModelSpace = "pointClouds.toModelSpace"
MethodPointCloudsFromModelSpace = "pointClouds.fromModelSpace"
// Crop volumes that limit a cloud's display to a working region (M17-F06, #645).
MethodPointCloudsAddCrop = "pointClouds.addCrop"
MethodPointCloudsListCrops = "pointClouds.listCrops"
MethodPointCloudsDeleteCrop = "pointClouds.deleteCrop"
MethodPointCloudsSetCropActive = "pointClouds.setCropActive"
// Derive model geometry from a cloud's scanned points (M17-F06, #645).
MethodPointCloudsFitPlane = "pointClouds.fitPlane"
MethodPointCloudsNearestPoint = "pointClouds.nearestPoint"
)
Push-event type tags. These name host→add-in events delivered to the add-in's Notify entry point (ADR-0016), not callable request/response methods — there is no client method for them; an add-in matches on the event's "type" field. See the DTOs in this package (e.g. EditCommittedEvent).
const (
EventEditCommitted = "edit.committed"
// Document lifecycle + modeling events (#148): the DocumentEvents/ApplicationEvents/
// ModelingEvents wave. Created/Opened/Saved/Closed/Activated fire as a document moves
// through its life; ModelChanged carries a committed batch of model changes (features,
// sketches, parameters) on a document — an add-in re-queries the affected document.
EventDocumentCreated = "document.created"
EventDocumentOpened = "document.opened"
EventDocumentSaved = "document.saved"
EventDocumentClosed = "document.closed"
EventDocumentActivated = "document.activated"
EventModelChanged = "model.changed"
// EventBrowserNode notifies an add-in of interaction with one of its browser
// pane nodes (see [BrowserNodeEvent], M05-F03 #256).
EventBrowserNode = "browser.node"
// EventDockableWindowChanged notifies an add-in its dockable window was shown
// or hidden (see [DockableWindowChangedEvent], M05-F03 #247).
EventDockableWindowChanged = "dockableWindow.changed"
// EventProgressCancelled notifies the owner its progress bar was cancelled
// (see [ProgressCancelledEvent], M05-F09 #616).
EventProgressCancelled = "progress.cancelled"
// EventBalloonTipClicked notifies the owner its balloon was clicked
// (see [BalloonTipClickedEvent], M05-F09 #616).
EventBalloonTipClicked = "balloonTip.clicked"
// EventPromptAnswered delivers a pending prompt's answer
// (see [PromptAnsweredEvent], M05-F09 #616).
EventPromptAnswered = "prompt.answered"
// EventMiniToolbarChanged streams a mini-toolbar control edit
// (see [MiniToolbarChangedEvent], M05-F07 #614).
EventMiniToolbarChanged = "miniToolbar.changed"
// EventMiniToolbarCommitted delivers a mini-toolbar's OK/Apply/Cancel
// (see [MiniToolbarCommittedEvent], M05-F07 #614).
EventMiniToolbarCommitted = "miniToolbar.committed"
// EventFileDialogChosen delivers a file dialog's chosen paths
// (see [FileDialogChosenEvent], M05-F08 #615).
EventFileDialogChosen = "dialog.fileChosen"
// EventWebDialogChanged notifies a web view was shown or closed
// (see [WebDialogChangedEvent], M05-F08 #615).
EventWebDialogChanged = "webDialog.changed"
// EventTaskPanelClosed delivers a modal task panel's accept/cancel
// (see [TaskPanelClosedEvent]).
EventTaskPanelClosed = "taskPanel.closed"
// EventCommandStarted reports a command beginning (M05-F12 #619).
EventCommandStarted = "command.started"
// EventCommandEnded reports a command finishing (M05-F12 #619); the payload carries the command id
// and whether it failed. The host emits it as the after-pair of EventCommandStarted.
EventCommandEnded = "command.ended"
// EventPanelValueChanged reports the user editing an editable dockable-window control
// (M05-F03): the add-in receives the window id, control id, and new value.
EventPanelValueChanged = "panel.valueChanged"
// EventPanelReferencesChanged reports a referenceList control's row set changing
// (see [PanelReferencesChangedEvent]): the add-in receives the window id, control id, and
// the full new ref set.
EventPanelReferencesChanged = "panel.referencesChanged"
// EventSelectionChanged reports the selection set changing (M05-F12 #619).
EventSelectionChanged = "selection.changed"
// EventParameterChanged reports a parameter's expression/value changing (#148) — the granular
// notification beyond the generic edit.committed; the payload carries the parameter's new state.
EventParameterChanged = "parameters.changed"
// EventEnvironmentChanged reports the UI environment switching (M05-F12 #619).
EventEnvironmentChanged = "ui.environmentChanged"
// EventTriadDrag streams a triad gesture (see [TriadDragEvent], M05-F13 #620).
EventTriadDrag = "triad.drag"
// EventTriadSegment reports the hovered triad segment changing (M05-F13 #620).
EventTriadSegment = "triad.segment"
// EventManipulatorDrag streams a manipulator-handle gesture (M05-F13 #620).
EventManipulatorDrag = "manipulator.drag"
// EventClientOperation tells a subtype's owner its flavored document needs
// servicing (see [ClientOperationEvent], M05-F15 Oblikovati#665).
EventClientOperation = "client.operation"
// Transaction lifecycle events (see [TransactionEventPayload], M04-F05
// Oblikovati#613): every move of a document's transaction stream.
EventTransactionCommitted = "transaction.committed"
EventTransactionUndone = "transaction.undone"
EventTransactionRedone = "transaction.redone"
EventTransactionAborted = "transaction.aborted"
EventTransactionDeleted = "transaction.deleted"
// File-access events (see [FileResolutionEventPayload] and
// [FileDirtyEventPayload], M04-F05 Oblikovati#613).
EventFileResolution = "file.resolution"
EventFileDirty = "file.dirty"
// File-UI hook events (see [FileDialogHookPayload], M04-F05
// Oblikovati#613): the new/open/save-as flows and their dialogs.
EventFileNew = "file.new"
EventFileNewDialog = "file.newDialog"
EventFileOpenDialog = "file.openDialog"
EventFileSaveAsDialog = "file.saveAsDialog"
EventFileOpenFromMRU = "file.openFromMRU"
EventFilePopulateMetadata = "file.populateMetadata"
// Assembly occurrence-lifecycle events (see [OccurrenceEventPayload], M11-F07
// Oblikovati#723): a component was placed, removed, replaced, moved, or had its
// suppression toggled. The host coalesces a solver drag into one transformed event.
EventOccurrenceAdded = "occurrence.added"
EventOccurrenceDeleted = "occurrence.deleted"
EventOccurrenceReplaced = "occurrence.replaced"
EventOccurrenceTransformed = "occurrence.transformed"
EventOccurrenceSuppressed = "occurrence.suppressed"
// Assembly feature-program event (see [AssemblyFeaturesChangedEvent], M11-F08
// Oblikovati#725): the assembly's machining-feature program was re-evaluated.
EventAssemblyFeaturesChanged = "assemblyFeatures.changed"
// Assembly relationship events (see [ConstraintEventPayload], M12-F01
// Oblikovati#358/#363): a constraint was added or deleted, or the assembly was
// re-solved (occurrence placements may have changed — also signalled by the
// occurrence.transformed events the solve raises).
EventAssemblyConstraintAdded = "assemblyConstraints.added"
EventAssemblyConstraintDeleted = "assemblyConstraints.deleted"
EventAssemblyResolved = "assembly.resolved"
// Assembly joint events (see [JointEventPayload], M12-F02 Oblikovati#359/#364): a joint
// was added or removed (positions also change via the occurrence.transformed events the
// combined solve raises).
EventAssemblyJointAdded = "assemblyJoints.added"
EventAssemblyJointDeleted = "assemblyJoints.deleted"
// Representation/model-state events (M12-F04, Oblikovati#361/#367).
EventRepresentationCaptured = "representations.captured"
EventRepresentationActivated = "representations.activated"
EventModelStateActivated = "modelStates.activated"
// Style events (see [StyleChangedEvent], M16-F02 Oblikovati#403/#408): a color or lighting
// style was added, edited, or deleted — consumers re-resolve their styling.
EventStyleAdded = "style.added"
EventStyleChanged = "style.changed"
EventStyleDeleted = "style.deleted"
// Camera event (see [CameraChangedEvent], M16-F03 Oblikovati#404/#409): the active view's
// camera moved (orbit/pan/zoom/fit/named-view restore) — collaboration and overlay add-ins
// re-sync to the new frame.
EventCameraChanged = "camera.changed"
// Modeling events (#148): the ModelingEvents/SketchEvents wave, granular beyond the batched
// model.changed. A feature was created, edited, or deleted (see [FeatureLifecycleEvent]); the
// document's sketch-edit mode was entered or exited (see [SketchEditEvent]). Like edit.committed
// (ADR-0004), the v1 scope is the host method router: feature events fire for features.add/edit/
// delete, and sketch-edit events fire whenever the host enters/exits a sketch (UI or add-in driven).
EventFeatureAdded = "feature.added"
EventFeatureEdited = "feature.edited"
EventFeatureDeleted = "feature.deleted"
EventSketchEditEntered = "sketch.editEntered"
EventSketchEditExited = "sketch.editExited"
// Metadata-mutation events (see [ObjectRenamedEvent] / [PropertyChangedEvent], S10
// Oblikovati#1644): a document object was renamed, or a property (suppression, a sketch
// setting) changed — the mutation class add-ins previously could not observe. Fire for both
// UI- and add-in-driven edits (emitted at the host model/session seams).
EventObjectRenamed = "object.renamed"
EventPropertyChanged = "property.changed"
)
The option group names of MethodOptionsGetGroup / MethodOptionsSetGroup.
const (
OptionGroupGeneral = "general"
OptionGroupDisplay = "display"
OptionGroupSketch = "sketch"
OptionGroupPart = "part"
OptionGroupSave = "save"
)
type ActivateDocumentArgs
ActivateDocumentArgs is the request of MethodDocumentsActivate: the session id of the document to make active.
type ActivateDocumentArgs struct {
ID uint64 `json:"id"`
}
type ActivateEnvironmentArgs
ActivateEnvironmentArgs is the request of MethodUIActivateEnvironment: enter a REGISTERED add-in environment (its contextual tabs appear); the base value (0) leaves it.
type ActivateEnvironmentArgs struct {
Environment types.Environment `json:"environment"`
}
type ActivateOrientationArgs
ActivateOrientationArgs / DeleteOrientationArgs name the target orientation.
type ActivateOrientationArgs struct {
Name string `json:"name"`
}
type ActivateViewArgs
ActivateViewArgs is the request of MethodViewsActivate: make the indexed view active.
type ActivateViewArgs struct {
Document uint64 `json:"document,omitempty"`
Index int `json:"index"`
}
type ActivateViewTabArgs
ActivateViewTabArgs is the request of MethodWindowsActivateTab.
type ActivateViewTabArgs struct {
Document uint64 `json:"document"`
}
type AddAngleArgs
AddAngleArgs is the request of MethodAssemblyConstraintsAddAngle: hold Angle (radians) between directions A and B. Solution selects undirected (default), directed, or reference-vector measurement; "" ⇒ undirected.
type AddAngleArgs struct {
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
Angle float64 `json:"angle"`
Solution string `json:"solution,omitempty"`
}
type AddAngularDimensionArgs
AddAngularDimensionArgs is the request of MethodDrawingDimensionsAddAngular: an angular dimension on ViewName between the two straight model edges nearest the pick points (sheet mm). The measured angle re-derives when the model changes.
type AddAngularDimensionArgs struct {
Name string `json:"name,omitempty"`
ViewName string `json:"viewName"`
X1 float64 `json:"x1"`
Y1 float64 `json:"y1"`
X2 float64 `json:"x2"`
Y2 float64 `json:"y2"`
}
type AddArcLengthDimensionArgs
AddArcLengthDimensionArgs is the request of MethodDrawingDimensionsAddArcLength: an arc-length dimension on ViewName, attached to the circular/arc model edge nearest the pick point (sheet mm). It measures the edge's swept length (a full circle's circumference) with the dimension line following the arc; the value re-measures when the model changes.
type AddArcLengthDimensionArgs struct {
Name string `json:"name,omitempty"`
ViewName string `json:"viewName"`
PickXMM float64 `json:"pickXmm"`
PickYMM float64 `json:"pickYmm"`
}
type AddAssemblyChamferArgs
AddAssemblyChamferArgs is the request of MethodAssemblyFeaturesAddChamfer: chamfer the given component Edges by Distance (document units) on every participant — a flat setback on each placed instance of the picked edges.
type AddAssemblyChamferArgs struct {
Edges []AssemblyEdgeRef `json:"edges"`
Distance float64 `json:"distance"`
}
type AddAssemblyExtrudeArgs
AddAssemblyExtrudeArgs is the request of MethodAssemblyFeaturesAddExtrude: extrude the ProfileIndex-th closed region of the active assembly's SketchIndex-th sketch (authored on an assembly work plane) by Distance (document units) into every participant, applying Operation (a [types.BooleanType] spelling: "difference" cuts a pocket, "union" adds a boss). The assembly sketching subsystem (#739) supplies the profile; Distance must be positive.
type AddAssemblyExtrudeArgs struct {
SketchIndex int `json:"sketchIndex"`
ProfileIndex int `json:"profileIndex"`
Distance float64 `json:"distance"`
Operation string `json:"operation"`
}
type AddAssemblyFeatureArgs
AddAssemblyFeatureArgs is the request of MethodAssemblyFeaturesAdd: add a cut feature whose tool is the axis-aligned box [ToolMin,ToolMax] in the assembly's space, machined into every participating occurrence with Operation (a [types.BooleanType] spelling: "difference" cuts, "union" adds, "intersect" keeps the common volume). The new feature defaults to participating on every component present.
type AddAssemblyFeatureArgs struct {
ToolMin [3]float64 `json:"toolMin"`
ToolMax [3]float64 `json:"toolMax"`
Operation string `json:"operation"`
}
type AddAssemblyFilletArgs
AddAssemblyFilletArgs is the request of MethodAssemblyFeaturesAddFillet: round the given component Edges to constant Radius (document units) on every participant. CornerType selects how a vertex where two filleted edges meet (third edge sharp) is treated — a [types.FilletCornerType] wire spelling ("miter" | "setback" | "round"); empty defaults to "miter".
type AddAssemblyFilletArgs struct {
Edges []AssemblyEdgeRef `json:"edges"`
Radius float64 `json:"radius"`
CornerType string `json:"cornerType,omitempty"`
}
type AddAssemblyHoleArgs
AddAssemblyHoleArgs is the request of MethodAssemblyFeaturesAddHole: drill a hole of Diameter and Depth (document units) from Center along Axis (a direction in the assembly's space) through every participating occurrence — a parametric assembly feature kind that needs no sketch (M11-F08 kind set, #735). Diameter and Depth must be positive and Axis non-zero.
type AddAssemblyHoleArgs struct {
Center [3]float64 `json:"center"`
Axis [3]float64 `json:"axis"`
Diameter float64 `json:"diameter"`
Depth float64 `json:"depth"`
}
type AddAssemblyMoveFaceArgs
AddAssemblyMoveFaceArgs is the request of MethodAssemblyFeaturesAddMoveFace: translate the given component Faces by Translation (a vector in document units, assembly space) on every participant — the assembly-context Move Face.
type AddAssemblyMoveFaceArgs struct {
Faces []AssemblyFaceRef `json:"faces"`
Translation [3]float64 `json:"translation"`
}
type AddAssemblyRevolveArgs
AddAssemblyRevolveArgs is the request of MethodAssemblyFeaturesAddRevolve: revolve the ProfileIndex-th closed region of the active assembly's SketchIndex-th sketch (authored on an assembly work plane) about the axis line through Origin along Axis (a direction in the assembly's space) by Angle (radians, in (0,2π]; 2π is a full turn) into every participant, applying Operation (a [types.BooleanType] spelling: "difference" turns a groove, "union" adds a turned boss). The assembly sketching subsystem (#739) supplies the profile (M11-F08 kind set, #735). Angle must be in (0,2π] and Axis non-zero.
type AddAssemblyRevolveArgs struct {
SketchIndex int `json:"sketchIndex"`
ProfileIndex int `json:"profileIndex"`
Origin [3]float64 `json:"origin"`
Axis [3]float64 `json:"axis"`
Angle float64 `json:"angle"`
Operation string `json:"operation"`
}
type AddAssemblySweepArgs
AddAssemblySweepArgs is the request of MethodAssemblyFeaturesAddSweep: sweep the ProfileIndex-th closed region of the active assembly's SketchIndex-th sketch along Path — an explicit polyline (>= 2 points) in the assembly's space, the assembly-context analogue of the revolve's explicit axis — into every participant, applying Operation (a [types.BooleanType] spelling: "difference" cuts a channel, "union" adds a rib). The profile follows the path normal-to-path (M11-F08 kind set, #735).
type AddAssemblySweepArgs struct {
SketchIndex int `json:"sketchIndex"`
ProfileIndex int `json:"profileIndex"`
Path [][3]float64 `json:"path"`
Operation string `json:"operation"`
}
type AddAttachmentArgs
AddAttachmentArgs is the request of MethodDocumentsAddAttachment: attach the file at FullFileName under the unique Name. An embedded attachment reads the file once and carries its bytes; linked/generic record the path.
type AddAttachmentArgs struct {
Document uint64 `json:"document"`
Name string `json:"name"`
Kind types.AttachmentKind `json:"kind"`
FullFileName string `json:"fullFileName"`
}
type AddAuxiliaryViewArgs
AddAuxiliaryViewArgs is the request of MethodDrawingViewsAddAuxiliary: a view projected perpendicular to a fold line drawn on the parent view at FoldAngleDeg (degrees, measured from the parent's horizontal axis), inheriting the parent's scale and style. A fold angle of 0 folds down (like a top projection); 90 folds to the side.
type AddAuxiliaryViewArgs struct {
Name string `json:"name,omitempty"`
ParentView string `json:"parentView"`
FoldAngleDeg float64 `json:"foldAngleDeg"`
CenterXMM float64 `json:"centerXmm,omitempty"`
CenterYMM float64 `json:"centerYmm,omitempty"`
}
type AddBalloonArgs
AddBalloonArgs is the request of MethodDrawingAnnotationsAddBalloon: a balloon (a circle holding the parts-list Item number) centred at (XMM, YMM) on the sheet. If LeaderXMM/LeaderYMM are given (non-zero), a leader is drawn from the balloon to that point — the component it tags.
type AddBalloonArgs struct {
Name string `json:"name,omitempty"`
XMM float64 `json:"xmm"`
YMM float64 `json:"ymm"`
Item int `json:"item"`
LeaderXMM float64 `json:"leaderXmm,omitempty"`
LeaderYMM float64 `json:"leaderYmm,omitempty"`
}
type AddBaseViewArgs
AddBaseViewArgs is the request of MethodDrawingViewsAddBase: a base view of the drawing's referenced model at the given orientation/scale/style, centred at (CenterXMM, CenterYMM) on the active sheet. An empty Name auto-assigns; empty Orientation/Style default to front / hiddenLine; a non-positive Scale defaults to 1.
type AddBaseViewArgs struct {
Name string `json:"name,omitempty"`
Orientation string `json:"orientation,omitempty"`
Style string `json:"style,omitempty"`
Scale float64 `json:"scale,omitempty"`
CenterXMM float64 `json:"centerXmm,omitempty"`
CenterYMM float64 `json:"centerYmm,omitempty"`
}
type AddBreakViewArgs
AddBreakViewArgs is the request of MethodDrawingViewsAddBreak: a compressed view of the parent with a band removed. Orientation is "horizontal" (remove a vertical band) or "vertical"; GapStartMM/GapEndMM bound the removed band along that axis on the parent (sheet millimetres). The view is placed at (CenterXMM, CenterYMM).
type AddBreakViewArgs struct {
Name string `json:"name,omitempty"`
ParentView string `json:"parentView"`
Orientation string `json:"orientation,omitempty"` // types.BreakOrientation ("" ⇒ horizontal)
GapStartMM float64 `json:"gapStartMm"`
GapEndMM float64 `json:"gapEndMm"`
CenterXMM float64 `json:"centerXmm,omitempty"`
CenterYMM float64 `json:"centerYmm,omitempty"`
}
type AddBreakoutViewArgs
AddBreakoutViewArgs is the request of MethodDrawingViewsAddBreakout: a copy of ParentView with the interior revealed inside the circular region (BoundaryXMM, BoundaryYMM, RadiusMM on the parent, sheet mm) — a local cut-away. Placed at (CenterXMM, CenterYMM).
type AddBreakoutViewArgs struct {
Name string `json:"name,omitempty"`
ParentView string `json:"parentView"`
BoundaryXMM float64 `json:"boundaryXmm"`
BoundaryYMM float64 `json:"boundaryYmm"`
RadiusMM float64 `json:"radiusMm"`
CenterXMM float64 `json:"centerXmm,omitempty"`
CenterYMM float64 `json:"centerYmm,omitempty"`
}
type AddCenterMarksArgs
AddCenterMarksArgs is the request of MethodDrawingAnnotationsAddCenterMarks: a centre mark (crosshair) at the centre of every circular model edge in ViewName. Each mark attaches to its edge, so it re-projects when the model changes. Coincident projections are marked once.
type AddCenterMarksArgs struct {
ViewName string `json:"viewName"`
}
type AddCenterlineArgs
AddCenterlineArgs adds a cosmetic centerline from Start to End in flat 2D coordinates.
type AddCenterlineArgs struct {
Start types.Point2d `json:"start"`
End types.Point2d `json:"end"`
}
type AddCenterlinesArgs
AddCenterlinesArgs is the request of MethodDrawingAnnotationsAddCenterlines: the horizontal and vertical dash-dot symmetry centerlines through ViewName's centre, spanning its extent. The lines re-derive from the view's bounds, so they track the model.
type AddCenterlinesArgs struct {
Name string `json:"name,omitempty"`
ViewName string `json:"viewName"`
}
type AddCoGMarkerArgs
AddCoGMarkerArgs is the request of MethodDrawingAnnotationsAddCoG: a centre-of-gravity marker on ViewName, positioned at the referenced model's centre of mass projected into that view.
type AddCoGMarkerArgs struct {
Name string `json:"name,omitempty"`
ViewName string `json:"viewName"`
}
type AddConstraintArgs
AddConstraintArgs is the request of MethodSketchAddConstraint — the discriminated geometric-constraint constructor. Kind is a oblikovati.org/api/types.GeometricConstraintKind; Entities are the session ids of the geometry it relates (points/lines/curves), in the kind's expected order:
- coincident/horizontal/vertical: two point ids (or one line id)
- parallel/perpendicular/collinear/equalLength: two line ids
- concentric/equalRadius: two circular-curve ids
- tangent: a line id + a circular-curve id, or two circular-curve ids
- pointOnLine/midpoint: a point id + a line id
- pointOnCircle: a point id + a circular-curve id
- symmetry: two point ids + a line id (the mirror line)
- fix: one point id
- custom: any entity ids to tag; ClientID is the owning add-in id (required) and Name the record's name — an attribute-carrying marker, not a solver constraint (M06-F11, Oblikovati/Oblikovati#626)
type AddConstraintArgs struct {
SketchIndex int `json:"sketchIndex"`
Kind string `json:"kind"`
Entities []uint64 `json:"entities"`
ClientID string `json:"clientId,omitempty"`
Name string `json:"name,omitempty"`
}
type AddConstraintResult
AddConstraintResult is the response of MethodSketchAddConstraint: the new constraint's index in the sketch's geometric-constraint collection, its kind, and the sketch's resulting degrees of freedom (so a caller sees the DOF drop).
type AddConstraintResult struct {
Index int `json:"index"`
Kind string `json:"kind"`
DOF int `json:"dof"`
}
type AddCustomArgs
AddCustomArgs is the request of MethodAssemblyConstraintsAddCustom: register a relationship between A and B that the add-in named Kind solves, driven by Params. The built-in solver treats it as residual-free unless an add-in solver is installed.
type AddCustomArgs struct {
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
Kind string `json:"kind"`
Params []float64 `json:"params,omitempty"`
}
type AddCustomTableArgs
AddCustomTableArgs is the request of MethodDrawingAnnotationsAddCustomTable: a general-purpose table at (XMM, YMM) on the sheet (its top-left corner) with the given column Headers and Rows (each row's cells align to the headers). The table is user-supplied content, persisted verbatim.
type AddCustomTableArgs struct {
Name string `json:"name,omitempty"`
XMM float64 `json:"xmm"`
YMM float64 `json:"ymm"`
Headers []string `json:"headers"`
Rows [][]string `json:"rows,omitempty"`
}
type AddDSJointArgs
AddDSJointArgs is the request of MethodDSJointsAdd: add a DS joint of the given Type (a DSJointType string) between origins A and B.
type AddDSJointArgs struct {
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
Type string `json:"type"`
}
type AddDatumFeatureArgs
AddDatumFeatureArgs is the request of [MethodDrawingAnnotationsAddDatumFeature]: a GD&T datum feature symbol at (XMM, YMM) on the sheet — the datum Letter (e.g. "A") in a box with a filled datum triangle. The symbol is generated by the host.
type AddDatumFeatureArgs struct {
Name string `json:"name,omitempty"`
XMM float64 `json:"xmm"`
YMM float64 `json:"ymm"`
Letter string `json:"letter"`
}
type AddDetailViewArgs
AddDetailViewArgs is the request of MethodDrawingViewsAddDetail: a magnified view of the circular region (BoundaryXMM, BoundaryYMM, RadiusMM — on the parent, sheet millimetres) of ParentView, at the larger Scale, placed at (CenterXMM, CenterYMM).
type AddDetailViewArgs struct {
Name string `json:"name,omitempty"`
ParentView string `json:"parentView"`
BoundaryXMM float64 `json:"boundaryXmm"`
BoundaryYMM float64 `json:"boundaryYmm"`
RadiusMM float64 `json:"radiusMm"`
Scale float64 `json:"scale"`
CenterXMM float64 `json:"centerXmm,omitempty"`
CenterYMM float64 `json:"centerYmm,omitempty"`
}
type AddDimensionArgs
AddDimensionArgs is the request of MethodSketchAddDimension — the discriminated dimensional-constraint constructor. Kind is a oblikovati.org/api/types.DimensionConstraintKind; Entities are the session ids of the geometry being dimensioned (in the kind's order); Expression is the unit-bearing value ("40 mm", "30 deg"):
- distance: two point ids
- angle: two line ids
- radius/diameter: one circle id
- arcLength: one arc id
type AddDimensionArgs struct {
SketchIndex int `json:"sketchIndex"`
Kind string `json:"kind"`
Entities []uint64 `json:"entities"`
Expression string `json:"expression"`
// FarSide selects the far tangent point for a "tangentDistance" dimension (line→circle/arc);
// the default (false) dimensions to the near side. Ignored by other kinds (#152).
FarSide bool `json:"farSide,omitempty"`
}
type AddDimensionResult
AddDimensionResult is the response of MethodSketchAddDimension: the new dimension's index in the sketch's dimensional-constraint collection, its kind, the backing parameter name, the current measured value (model units), and the sketch's resulting DOF.
type AddDimensionResult struct {
Index int `json:"index"`
Kind string `json:"kind"`
Parameter string `json:"parameter"`
Value float64 `json:"value"`
DOF int `json:"dof"`
}
type AddDimensionSetArgs
AddDimensionSetArgs is the request of MethodDrawingDimensionsAddBaseline / MethodDrawingDimensionsAddChain: a set of linear dimensions on ViewName from a list of pick points (each [x,y] sheet mm, snapped to the nearest projected model vertex). A baseline set measures from the first point to each of the others (stacked); a chain set measures between consecutive points (in a line). Type selects the measured component (aligned/horizontal/vertical).
type AddDimensionSetArgs struct {
ViewName string `json:"viewName"`
Type string `json:"type,omitempty"`
Points [][]float64 `json:"points"`
}
type AddDocumentInterestArgs
AddDocumentInterestArgs is the request of MethodDocumentsAddInterest: an existing (ClientID, Name) record is updated in place.
type AddDocumentInterestArgs struct {
Document uint64 `json:"document"`
Interest types.DocumentInterestRecord `json:"interest"`
}
type AddDraftViewArgs
AddDraftViewArgs is the request of MethodDrawingViewsAddDraft: a model-less framed view of WidthMM × HeightMM (sheet mm) at (CenterXMM, CenterYMM) — a container for manual 2D geometry.
type AddDraftViewArgs struct {
Name string `json:"name,omitempty"`
WidthMM float64 `json:"widthMm"`
HeightMM float64 `json:"heightMm"`
CenterXMM float64 `json:"centerXmm,omitempty"`
CenterYMM float64 `json:"centerYmm,omitempty"`
}
type AddDrawingNoteArgs
AddDrawingNoteArgs is the request of MethodDrawingAnnotationsAddNote: a free text note anchored at (XMM, YMM) on the sheet. If LeaderXMM/LeaderYMM are given (non-zero), a leader is drawn from the note to that point — the feature it annotates.
type AddDrawingNoteArgs struct {
Name string `json:"name,omitempty"`
XMM float64 `json:"xmm"`
YMM float64 `json:"ymm"`
Text string `json:"text"`
LeaderXMM float64 `json:"leaderXmm,omitempty"`
LeaderYMM float64 `json:"leaderYmm,omitempty"`
}
type AddDrawingSketchArgs
AddDrawingSketchArgs is the request of MethodDrawingSketchesAdd: a new empty sketch on the active sheet. A blank Name auto-names it.
type AddDrawingSketchArgs struct {
Name string `json:"name,omitempty"`
}
type AddDrawingSketchEntityArgs
AddDrawingSketchEntityArgs is the request of MethodDrawingSketchesAddEntity: add one entity to the named sketch. Points are sheet-millimetre [x, y] pairs — two for a line (endpoints) or rectangle (opposite corners), one for a circle (centre, with Radius in millimetres).
type AddDrawingSketchEntityArgs struct {
SketchName string `json:"sketchName"`
Kind string `json:"kind"`
Points [][2]float64 `json:"points"`
Radius float64 `json:"radiusMm,omitempty"`
}
type AddEntityIDResult
AddEntityIDResult is the trivial response carrying just a created entity's id (used by MethodSketchAddFillRegion and MethodSketchAddText).
type AddEntityIDResult struct {
EntityID uint64 `json:"entityId"`
}
type AddErrorMessageArgs
AddErrorMessageArgs is the request of MethodErrorsAddMessage: report into the message center, under the innermost open section (or top-level).
type AddErrorMessageArgs struct {
Text string `json:"text"`
Severity types.MessageSeverity `json:"severity,omitempty"`
}
type AddFeatureArgs
AddFeatureArgs is the request of MethodFeaturesAdd: a feature kind and its operation-specific arguments (an opaque JSON object validated by the kind's schema).
type AddFeatureArgs struct {
Kind string `json:"kind"`
Args json.RawMessage `json:"args"`
}
type AddFeatureControlFrameArgs
AddFeatureControlFrameArgs is the request of [MethodDrawingAnnotationsAddFeatureControlFrame]: a GD&T feature control frame placed at (XMM, YMM) on the sheet. Characteristic is the geometric characteristic wire spelling (types.GeometricCharacteristic, e.g. "position"). Tolerance is the tolerance text (e.g. "0.5" or "⌀0.2"). Datums are the datum reference letters, in order (e.g. ["A","B","C"]). The frame, the characteristic symbol and the text are generated by the host.
type AddFeatureControlFrameArgs struct {
Name string `json:"name,omitempty"`
XMM float64 `json:"xmm"`
YMM float64 `json:"ymm"`
Characteristic string `json:"characteristic"`
Tolerance string `json:"tolerance"`
Datums []string `json:"datums,omitempty"`
}
type AddFillRegionArgs
AddFillRegionArgs is the request of MethodSketchAddFillRegion: fill the closed region containing Seed ([x,y] cm) with the named Style (empty ⇒ solid).
type AddFillRegionArgs struct {
SketchIndex int `json:"sketchIndex"`
Seed []float64 `json:"seed"`
Style string `json:"style,omitempty"`
}
type AddFlushArgs
AddFlushArgs is the request of MethodAssemblyConstraintsAddFlush: make faces A and B co-planar (normals aligned) at Offset.
type AddFlushArgs struct {
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
Offset float64 `json:"offset,omitempty"`
}
type AddHatchRegionArgs
AddHatchRegionArgs is the request of MethodDrawingSketchesAddHatch: fill the rectangle at (XMM, YMM) of size WidthMM×HeightMM (sheet millimetres) with a hatch pattern. Pattern is the built-in pattern name ("general", "cross", "ansi31"); ScaleMm overrides the line spacing (0 ⇒ the pattern default). The region is added to the named sketch (created if SketchName is blank).
type AddHatchRegionArgs struct {
SketchName string `json:"sketchName,omitempty"`
XMM float64 `json:"xmm"`
YMM float64 `json:"ymm"`
WidthMM float64 `json:"widthMm"`
HeightMM float64 `json:"heightMm"`
Pattern string `json:"pattern,omitempty"`
ScaleMM float64 `json:"scaleMm,omitempty"`
}
type AddHoleNotesArgs
AddHoleNotesArgs is the request of MethodDrawingAnnotationsAddHoleNotes: a feature note on each hole in the base view ViewName — a leadered diameter callout (Ø<d>) computed from the hole's circular edge. The notes re-resolve when the model changes (rowCount in the result is the hole count).
type AddHoleNotesArgs struct {
Name string `json:"name,omitempty"`
ViewName string `json:"viewName"`
// Quantity is the grouping mode ("perHole" = one callout per hole, the default; "combined" =
// one "<n>x Ø<d>" callout per distinct diameter). Empty means perHole.
Quantity string `json:"quantity,omitempty"`
// Format is an optional callout template with {d} (diameter) and {n} (hole count) placeholders —
// e.g. "Ø{d} THRU" or "TAP M8 x{n}". Empty uses the default ("Ø{d}", or "{n}x Ø{d}" combined).
// The {d} value is computed from the hole, so the callout stays associative to the model.
Format string `json:"format,omitempty"`
}
type AddHoleTableArgs
AddHoleTableArgs is the request of MethodDrawingAnnotationsAddHoleTable: a hole table at (XMM, YMM) on the sheet (its top-left corner), listing every circular edge in the base view ViewName with its X/Y position from the view's datum origin and its diameter. The table updates with the model (rowCount in the result is the hole count).
type AddHoleTableArgs struct {
Name string `json:"name,omitempty"`
ViewName string `json:"viewName"`
XMM float64 `json:"xmm"`
YMM float64 `json:"ymm"`
}
type AddInInfo
AddInInfo is one registry entry of MethodAddInsList / MethodAddInsGet: the manifest identity plus the host-side runtime state (the ApplicationAddIn equivalent). Location is the shared-library path the add-in was loaded from — empty for a first-party in-process add-in. HasAutomation reports whether MethodAddInsCallAutomation can target this add-in.
type AddInInfo struct {
ID string `json:"id"`
DisplayName string `json:"displayName,omitempty"`
Version string `json:"version,omitempty"`
Description string `json:"description,omitempty"`
Kind types.AddInKind `json:"kind,omitempty"`
LoadBehavior types.AddInLoadBehavior `json:"loadBehavior,omitempty"`
Activated bool `json:"activated"`
Location string `json:"location,omitempty"`
Capabilities []string `json:"capabilities,omitempty"`
HasAutomation bool `json:"hasAutomation,omitempty"`
}
type AddInManifest
AddInManifest is the JSON document a shared-library add-in embeds and returns from ObkAddInManifest (see include/oblikovati_addin.h) — the add-in's self-description. The host parses it into the registry entry it serves from addins.list, so the manifest is the single place an add-in declares its identity.
type AddInManifest struct {
ID string `json:"id"`
DisplayName string `json:"displayName"`
Version string `json:"version"`
Description string `json:"description,omitempty"`
Kind types.AddInKind `json:"kind,omitempty"`
Capabilities []string `json:"capabilities,omitempty"`
}
type AddInRefArgs
AddInRefArgs names the add-in a registry method targets — the request of MethodAddInsGet, MethodAddInsActivate and MethodAddInsDeactivate.
type AddInRefArgs struct {
ID string `json:"id"`
}
type AddInsertArgs
AddInsertArgs is the request of MethodAssemblyConstraintsAddInsert: an insert combines an axis mate (A's axis collinear with B's) and a plane mate at Offset — a bolt into a hole. Opposed selects the opposed (default) plane sense; false ⇒ aligned.
type AddInsertArgs struct {
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
Offset float64 `json:"offset,omitempty"`
Aligned bool `json:"aligned,omitempty"`
}
type AddJointArgs
AddJointArgs is the request of the add-joint methods (MethodAssemblyJointsAddRigid … MethodAssemblyJointsAddBall): build the joint between joint origins A and B. Flip reverses the primary-axis sense (which way the components face).
type AddJointArgs struct {
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
Flip bool `json:"flip,omitempty"`
}
type AddLightArgs
AddLightArgs is the request of MethodLightingAddLight: the emission shape of the light to add (it is created with neutral defaults the caller then tunes via SetLight).
type AddLightArgs struct {
DefinitionType types.LightDefinitionTypeEnum `json:"definitionType"`
}
type AddLinearDimensionArgs
AddLinearDimensionArgs is the request of MethodDrawingDimensionsAddLinear: a linear dimension on ViewName between two pick points (sheet millimetres). Each pick is snapped to the nearest projected model vertex, so the dimension re-measures when the model changes. Type selects the measured component (aligned = true distance, default; horizontal/vertical = the view-X/Y component). OffsetMM stands the dimension line off the measured points (signed, sheet mm).
type AddLinearDimensionArgs struct {
Name string `json:"name,omitempty"`
ViewName string `json:"viewName"`
Type string `json:"type,omitempty"`
X1 float64 `json:"x1"`
Y1 float64 `json:"y1"`
X2 float64 `json:"x2"`
Y2 float64 `json:"y2"`
OffsetMM float64 `json:"offsetMm,omitempty"`
}
type AddMateArgs
AddMateArgs is the request of MethodAssemblyConstraintsAddMate: make geometry A coincident with geometry B at Offset (database units). Solution selects opposed (the default mate) or aligned (flush) normals where the geometry is directional; "" ⇒ opposed.
type AddMateArgs struct {
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
Offset float64 `json:"offset,omitempty"`
Solution string `json:"solution,omitempty"`
}
type AddOrdinateDimensionsArgs
AddOrdinateDimensionsArgs is the request of MethodDrawingDimensionsAddOrdinate: an ordinate dimension for each point in Points, each measuring that point's offset from the common Datum ([x,y] sheet mm) along Axis. Datum and every point are snapped to the nearest projected model vertex, so the values stay associative. Axis is "horizontal" (the view-X offset) or "vertical" (the view-Y offset). Each ordinate is drawn as a leader to its value with no dimension line.
type AddOrdinateDimensionsArgs struct {
ViewName string `json:"viewName"`
Axis string `json:"axis,omitempty"` // horizontal (default) | vertical
Datum []float64 `json:"datum"` // [x,y] sheet mm — the common origin
Points [][]float64 `json:"points"` // each [x,y] sheet mm
}
type AddOrientationArgs
AddOrientationArgs creates a named orientation. AlignmentType defaults to "horizontal"; an empty AlignmentAxis uses the part's natural axes; AlignmentRotation is in degrees.
type AddOrientationArgs struct {
Name string `json:"name"`
AlignmentType string `json:"alignmentType,omitempty"`
AlignmentRotation float64 `json:"alignmentRotation,omitempty"`
AlignmentAxis string `json:"alignmentAxis,omitempty"`
FlipAlignmentAxis bool `json:"flipAlignmentAxis,omitempty"`
FlipBaseFace bool `json:"flipBaseFace,omitempty"`
Activate bool `json:"activate,omitempty"`
}
type AddPartsListArgs
AddPartsListArgs is the request of MethodDrawingAnnotationsAddPartsList: a parts list table at (XMM, YMM) on the sheet (its top-left corner), sourced from the referenced assembly's parts-only BOM (item number, part number, description, quantity). The table updates with the assembly.
type AddPartsListArgs struct {
Name string `json:"name,omitempty"`
XMM float64 `json:"xmm"`
YMM float64 `json:"ymm"`
}
type AddPointCloudCropArgs
AddPointCloudCropArgs is the request of MethodPointCloudsAddCrop: add an active crop over the model-space box [Min, Max] on the named cloud. The host mints the crop name.
type AddPointCloudCropArgs struct {
Cloud string `json:"cloud"`
Min types.Point `json:"min"`
Max types.Point `json:"max"`
}
type AddProjectedViewArgs
AddProjectedViewArgs is the request of MethodDrawingViewsAddProjected: a view projected from BaseView in Direction (right/left/up/down), inheriting the base's scale and style.
type AddProjectedViewArgs struct {
Name string `json:"name,omitempty"`
BaseView string `json:"baseView"`
Direction string `json:"direction"`
CenterXMM float64 `json:"centerXmm,omitempty"`
CenterYMM float64 `json:"centerYmm,omitempty"`
}
type AddProxyCutFeatureArgs
AddProxyCutFeatureArgs is the request of MethodAssemblyFeaturesAddProxyCut: add a feature whose tool is supplied as an occurrence-context proxy — the geometry of the Source occurrence (by session id), resolved into assembly space and re-resolved on every rebuild, so the machining follows the source as it moves or changes (M11-F08 proxy inputs, #734). Operation is a [types.BooleanType] spelling ("difference" cuts). The source occurrence is excluded from the new feature's default participation (a component does not machine itself).
type AddProxyCutFeatureArgs struct {
Source uint64 `json:"source"`
Operation string `json:"operation"`
}
type AddRadialDimensionArgs
AddRadialDimensionArgs is the request of MethodDrawingDimensionsAddRadial: a radius or diameter dimension on ViewName, attached to the circular model edge nearest the pick point (sheet mm). Type is "radius" or "diameter". The dimension re-measures when the model changes.
type AddRadialDimensionArgs struct {
Name string `json:"name,omitempty"`
ViewName string `json:"viewName"`
Type string `json:"type,omitempty"` // radius (default) | diameter
PickXMM float64 `json:"pickXmm"`
PickYMM float64 `json:"pickYmm"`
}
type AddRevisionCloudArgs
AddRevisionCloudArgs is the request of MethodDrawingAnnotationsAddRevisionCloud: a scalloped cloud over the sheet rectangle (XMM, YMM, WidthMM, HeightMM), with an optional revision Tag.
type AddRevisionCloudArgs struct {
Name string `json:"name,omitempty"`
XMM float64 `json:"xmm"`
YMM float64 `json:"ymm"`
WidthMM float64 `json:"widthMm"`
HeightMM float64 `json:"heightMm"`
Tag string `json:"tag,omitempty"`
}
type AddRevisionTableArgs
AddRevisionTableArgs is the request of [MethodDrawingAnnotationsAddRevisionTable]: a revision table at (XMM, YMM) on the sheet (its top-left corner), listing the given Rows (revision, date, description). The rows are user-supplied drawing history, persisted with the drawing.
type AddRevisionTableArgs struct {
Name string `json:"name,omitempty"`
XMM float64 `json:"xmm"`
YMM float64 `json:"ymm"`
Rows []RevisionTableRow `json:"rows,omitempty"`
}
type AddRevisionTagArgs
AddRevisionTagArgs is the request of [MethodDrawingAnnotationsAddRevisionTag]: a revision tag (a triangle holding the Revision letter) centred at (XMM, YMM) on the sheet, flagging where that revision changed the drawing.
type AddRevisionTagArgs struct {
Name string `json:"name,omitempty"`
XMM float64 `json:"xmm"`
YMM float64 `json:"ymm"`
Revision string `json:"revision"`
}
type AddRotateRotateArgs
AddRotateRotateArgs is the request of MethodAssemblyConstraintsAddRotateRotate: couple rotation A to rotation B by gear Ratio (revolutions of B per revolution of A).
type AddRotateRotateArgs struct {
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
Ratio float64 `json:"ratio"`
}
type AddRotateTranslateArgs
AddRotateTranslateArgs is the request of MethodAssemblyConstraintsAddRotateTranslate: couple rotation A to translation B by Distance moved per revolution (rack and pinion).
type AddRotateTranslateArgs struct {
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
Distance float64 `json:"distance"`
}
type AddSectionArgs
AddSectionArgs adds a section/clipping plane to a design-view representation.
type AddSectionArgs struct {
Rep uint64 `json:"rep"`
Plane types.SectionPlane `json:"plane"`
}
type AddSectionViewArgs
AddSectionViewArgs is the request of MethodDrawingViewsAddSection: a section view of the parent's model, cut by the plane through the section line (X1,Y1)-(X2,Y2) on the parent (sheet millimetres), perpendicular to the parent. The near half is removed, the cut outline drawn bold and the exposed faces hatched; the view is placed at (CenterXMM, CenterYMM).
type AddSectionViewArgs struct {
Name string `json:"name,omitempty"`
ParentView string `json:"parentView"`
X1 float64 `json:"x1"`
Y1 float64 `json:"y1"`
X2 float64 `json:"x2"`
Y2 float64 `json:"y2"`
CenterXMM float64 `json:"centerXmm,omitempty"`
CenterYMM float64 `json:"centerYmm,omitempty"`
}
type AddSheetArgs
AddSheetArgs is the request of MethodDrawingAddSheet. Size is a types.SheetSize spelling; for "custom" (or an empty Size) WidthMM/HeightMM give the dimensions. An empty Name lets the host assign the next "Sheet:N" name.
type AddSheetArgs struct {
Name string `json:"name,omitempty"`
Size string `json:"size,omitempty"`
Orientation string `json:"orientation,omitempty"`
WidthMM float64 `json:"widthMm,omitempty"`
HeightMM float64 `json:"heightMm,omitempty"`
}
type AddSketch3DConstraintArgs
AddSketch3DConstraintArgs is the request of MethodSketch3DAddConstraint — the discriminated 3D geometric-constraint constructor. Kind is the constraint (oblikovati.org/api/types.Geometric3DConstraintKind). Entities are the session ids of the geometry it relates, in the kind's expected order (parallel/perpendicular: two line ids; midpoint: point id + line id; ground: a point id; parallelToAxis/Plane: a single line id; coincident/concentric: two point ids; collinear: three point ids; tangent/smooth: two curve ids (line/arc/spline — the join lands on their nearest endpoints, and smooth needs at least one spline); equal: two circle/helix ids (their radius DOFs); splineFitPoints: a fit-spline id + a point id (attached to the nearest fit point); helical: a helix id + the circle it starts on, with parallel axes; bend: an arc id + the two lines it joins — the bend radius is captured from the arc's current geometry).
type AddSketch3DConstraintArgs struct {
SketchIndex int `json:"sketchIndex"`
Kind string `json:"kind"`
Entities []uint64 `json:"entities,omitempty"`
}
type AddSketch3DConstraintResult
AddSketch3DConstraintResult is the response of MethodSketch3DAddConstraint: the new constraint's index in the sketch's geometric-constraint collection, its kind, and the sketch's resulting degree-of-freedom count.
type AddSketch3DConstraintResult struct {
Index int `json:"index"`
Kind string `json:"kind"`
DOF int `json:"dof"`
}
type AddSketch3DDimensionArgs
AddSketch3DDimensionArgs is the request of MethodSketch3DAddDimension — the discriminated 3D dimensional-constraint constructor. Kind is the dimension (oblikovati.org/api/types.Dimension3DConstraintKind). Entities are the session ids of the dimensioned geometry (distance: two point ids; lineLength/radius: one entity id; pointPlaneDistance: one point id; twoLineAngle: two line ids). Expression is the unit-bearing value ("10 mm", "30 deg"). Plane selects the reference origin plane for pointPlaneDistance ("XY" | "XZ" | "YZ").
type AddSketch3DDimensionArgs struct {
SketchIndex int `json:"sketchIndex"`
Kind string `json:"kind"`
Entities []uint64 `json:"entities,omitempty"`
Expression string `json:"expression"`
Plane string `json:"plane,omitempty"`
}
type AddSketch3DDimensionResult
AddSketch3DDimensionResult is the response of MethodSketch3DAddDimension: the dimension's index, its kind, the backing parameter name, the current measured value (cm/rad), and the sketch's resulting degree-of-freedom count.
type AddSketch3DDimensionResult struct {
Index int `json:"index"`
Kind string `json:"kind"`
Parameter string `json:"parameter"`
Value float64 `json:"value"`
DOF int `json:"dof"`
}
type AddSketch3DEntityArgs
AddSketch3DEntityArgs is the request of MethodSketch3DAddEntity — the discriminated 3D entity constructor. Kind is the base entity (oblikovati.org/api/types.Sketch3DEntityKind: point | line | circle | arc | …). Points are the defining points, each [x,y,z] in model database units (cm), in the constructor's expected order (line: A,B; circle: center; arc: center,start,end). Radius is a unit-bearing expression ("10 mm") for circular kinds. Axis is the circle plane's normal [x,y,z] (defaults to +Z when empty). CCW orients an arc. Construction marks the entity as reference geometry.
type AddSketch3DEntityArgs struct {
SketchIndex int `json:"sketchIndex"`
Kind string `json:"kind"`
Points [][]float64 `json:"points,omitempty"`
Radius string `json:"radius,omitempty"`
Axis []float64 `json:"axis,omitempty"`
CCW bool `json:"ccw,omitempty"`
Construction bool `json:"construction,omitempty"`
// Helix-only fields (kind "helical"). Mode selects which two of pitch/height/
// revolutions define the helix ("pitchHeight" | "pitchRevolution" |
// "revolutionHeight" | "spiral"); the third is derived. Pitch/Height are
// unit-bearing lengths, Revolutions a turn count, Taper a per-revolution radial
// growth length (spiral pitch). Clockwise sets the handedness; Points[0] is the
// axis-base origin and Axis the winding axis (defaults to +Z).
Mode string `json:"mode,omitempty"`
Pitch string `json:"pitch,omitempty"`
Height string `json:"height,omitempty"`
Revolutions float64 `json:"revolutions,omitempty"`
Taper string `json:"taper,omitempty"`
Clockwise bool `json:"clockwise,omitempty"`
// Conic fields (kind "ellipse"/"ellipticalArc"). Points[0] is the center, Axis the
// plane normal (defaults to +Z), MajorAxis the in-plane major direction (defaults to
// +X). MajorRadius/MinorRadius are unit-bearing lengths; StartAngle/SweepAngle are
// unit-bearing angles bounding an elliptical arc.
MajorAxis []float64 `json:"majorAxis,omitempty"`
MajorRadius string `json:"majorRadius,omitempty"`
MinorRadius string `json:"minorRadius,omitempty"`
StartAngle string `json:"startAngle,omitempty"`
SweepAngle string `json:"sweepAngle,omitempty"`
// Bend-only field (kind "bend"): the session ids of the two connected lines whose
// corner the bend fills. Radius is the bend radius ("5 mm"). The lines are trimmed
// to the tangent points, the returned arc joins them, and a bend constraint keeps
// the join tangent (the reference API's SketchArcs3D.AddAsBend).
Lines []uint64 `json:"lines,omitempty"`
// Spline fields. For spline/controlPointSpline/fixedSpline, Points are the defining
// points (each [x,y,z] in cm); Closed marks a closed loop; FitMethod is the
// interpolation parameterization ([oblikovati.org/api/types.SplineFitMethod] wire
// spelling, empty ⇒ "smooth" — M06-F11, Oblikovati/Oblikovati#626). For
// equationCurve, XExpr/YExpr/ZExpr are x(t)/y(t)/z(t) over [T0,T1].
Closed bool `json:"closed,omitempty"`
FitMethod string `json:"fitMethod,omitempty"`
XExpr string `json:"xExpr,omitempty"`
YExpr string `json:"yExpr,omitempty"`
ZExpr string `json:"zExpr,omitempty"`
T0 float64 `json:"t0,omitempty"`
T1 float64 `json:"t1,omitempty"`
// Variable-shape helix fields (kind "helical" — M06-F09, #624): a row
// table varying pitch/diameter per station replaces the constant shape;
// Start/End set the end transition conditions (nil ⇒ natural ends).
Rows []HelixShapeRow `json:"rows,omitempty"`
Start *HelixEndCondition `json:"start,omitempty"`
End *HelixEndCondition `json:"end,omitempty"`
}
type AddSketch3DEntityResult
AddSketch3DEntityResult is the response of MethodSketch3DAddEntity: the created entity's session id, its base kind, and the session ids of its defining points.
type AddSketch3DEntityResult struct {
EntityID uint64 `json:"entityId"`
Kind string `json:"kind"`
PointIDs []uint64 `json:"pointIds,omitempty"`
}
type AddSketch3DSurfaceCurveArgs
AddSketch3DSurfaceCurveArgs is the request of MethodSketch3DAddSurfaceCurve — the discriminated surface-derived curve constructor. Kind is the curve (oblikovati.org/api/types.Sketch3DEntityKind: intersection | silhouette). FaceRefs are the reference keys of the referenced part faces (intersection: two faces; silhouette: one face; onFace: one face). ViewDir [x,y,z] is the silhouette view direction. UV is the flat [u0,v0,u1,v1,…] parameter-space polyline for an onFace curve (mapped onto the referenced face's surface). The Grid* fields window the base surface's parameter domain for the tracer (required for an unbounded base such as a plane); zero values default to the surface's finite domain. SourceEntityID is the in-sketch source curve for a projectToSurface or offset curve (resolved to its kernel curve). OffsetDistance + Normal [x,y,z] parameterize an offset curve (offset direction = normal × tangent). For projectToSurface, FaceRefs[0] is the target surface.
type AddSketch3DSurfaceCurveArgs struct {
SketchIndex int `json:"sketchIndex"`
Kind string `json:"kind"`
FaceRefs []string `json:"faceRefs"`
ViewDir []float64 `json:"viewDir,omitempty"`
UV []float64 `json:"uv,omitempty"`
SourceEntityID uint64 `json:"sourceEntityId,omitempty"`
OffsetDistance float64 `json:"offsetDistance,omitempty"`
Normal []float64 `json:"normal,omitempty"`
GridUMin float64 `json:"gridUMin,omitempty"`
GridUMax float64 `json:"gridUMax,omitempty"`
GridVMin float64 `json:"gridVMin,omitempty"`
GridVMax float64 `json:"gridVMax,omitempty"`
GridUSteps int `json:"gridUSteps,omitempty"`
GridVSteps int `json:"gridVSteps,omitempty"`
}
type AddSketch3DSurfaceCurveResult
AddSketch3DSurfaceCurveResult is the response of MethodSketch3DAddSurfaceCurve: the created entity's session id, its kind, and whether every face reference resolved.
type AddSketch3DSurfaceCurveResult struct {
EntityID uint64 `json:"entityId"`
Kind string `json:"kind"`
Healthy bool `json:"healthy"`
}
type AddSketchBlockArgs
AddSketchBlockArgs is the request of MethodSketchAddBlockInstance: place an instance of the named definition in a sketch. Position is the insertion point [x,y] in sketch-plane database units (cm); RotationAngle is a unit-bearing angle ("30 deg", empty ⇒ 0); Scale is a uniform scale factor (0 ⇒ 1).
type AddSketchBlockArgs struct {
SketchIndex int `json:"sketchIndex"`
Definition string `json:"definition"`
Position []float64 `json:"position"`
RotationAngle string `json:"rotationAngle,omitempty"`
Scale float64 `json:"scale,omitempty"`
}
type AddSketchBlockResult
AddSketchBlockResult is the response of MethodSketchAddBlockInstance: the created instance's session id.
type AddSketchBlockResult struct {
EntityID uint64 `json:"entityId"`
}
type AddSketchEntityArgs
AddSketchEntityArgs is the request of MethodSketchAddEntity — the discriminated entity constructor. Kind is the base entity (oblikovati.org/api/types.SketchEntityKind: line | point | circle | arc | …); Variant selects the overload within that kind ("centerRadius" | "threePoint" | "centerStartEnd"; empty ⇒ the kind's default). Points are the defining points, each [x,y] in sketch-plane database units (cm), in the constructor's expected order. Radius is a unit-bearing expression ("10 mm") for the center-radius circle. CCW orients a center-start-end arc. Construction marks the entity as reference geometry.
type AddSketchEntityArgs struct {
SketchIndex int `json:"sketchIndex"`
Kind string `json:"kind"`
Variant string `json:"variant,omitempty"`
Points [][]float64 `json:"points,omitempty"`
// PointExprs is the parameter-expression form of Points (#189): each entry is the
// defining point as ["x-expr","y-expr"], evaluated through the document's parameter
// engine ("bore_r + 2 mm") and yielding a length in cm — so generated line/arc/point
// geometry is parametric at construction, consistent with Radius/Width. When set it
// supersedes Points; a unitless literal ("12.5") is read as cm. The two forms may be
// mixed across a kind's points only via PointExprs (set every point as expressions).
PointExprs [][]string `json:"pointExprs,omitempty"`
Radius string `json:"radius,omitempty"`
CCW bool `json:"ccw,omitempty"`
Construction bool `json:"construction,omitempty"`
// Conic fields (ellipse / ellipticalArc): Points[0] is the center, Axis is the
// major-axis direction [x,y], MajorRadius/MinorRadius are unit-bearing lengths, and
// StartAngle/EndAngle (unit-bearing angles, ellipticalArc only) bound the sweep.
Axis []float64 `json:"axis,omitempty"`
MajorRadius string `json:"majorRadius,omitempty"`
MinorRadius string `json:"minorRadius,omitempty"`
StartAngle string `json:"startAngle,omitempty"`
EndAngle string `json:"endAngle,omitempty"`
// Closed marks a spline or a polyline a closed loop (spline and polyline kinds). A
// closed polyline joins its last point back to its first, yielding one closed profile.
Closed bool `json:"closed,omitempty"`
// FitMethod is the interpolation parameterization for the spline kind
// ([oblikovati.org/api/types.SplineFitMethod] wire spelling; empty ⇒
// "smooth", the pre-field behavior — M06-F11, Oblikovati/Oblikovati#626).
FitMethod string `json:"fitMethod,omitempty"`
// Sides is the edge count for the polygon kind (≥ 3); Width is a unit-bearing slot
// width. These belong to the composite kinds (rectangle/slot/polygon/polyline). The
// polyline kind connects arbitrary Points with shared-endpoint lines (Closed ⇒ a
// closed profile) — the way to author a non-regular outline (an L-bracket, a custom
// extrusion section) over the API.
Sides int `json:"sides,omitempty"`
Width string `json:"width,omitempty"`
// EntityRefs are existing entity ids the kind operates on (the two line ids for the
// fillet/chamfer corner blends; the parent spline id for offsetSpline). Radius is the
// fillet radius / chamfer first distance / offset-spline distance; Distance2 is the
// chamfer second distance (defaults to Radius when empty).
EntityRefs []uint64 `json:"entityRefs,omitempty"`
Distance2 string `json:"distance2,omitempty"`
// Equation-curve fields: x(t)/y(t) expressions over t ∈ [T0, T1].
XExpr string `json:"xExpr,omitempty"`
YExpr string `json:"yExpr,omitempty"`
T0 float64 `json:"t0,omitempty"`
T1 float64 `json:"t1,omitempty"`
}
type AddSketchEntityResult
AddSketchEntityResult is the response of MethodSketchAddEntity: the primary entity's session id, its base kind, the session ids of its defining points, and — for composite kinds (rectangle/slot/polygon) that create several entities — every created entity id. When sketch inference is enabled (M06-F10, Oblikovati/Oblikovati#625), InferredConstraints reports the geometric constraints the engine auto-applied during creation and InferredPoints how defining points were snapped onto existing geometry.
type AddSketchEntityResult struct {
EntityID uint64 `json:"entityId"`
Kind string `json:"kind"`
PointIDs []uint64 `json:"pointIds"`
EntityIDs []uint64 `json:"entityIds,omitempty"`
InferredConstraints []AppliedConstraintInference `json:"inferredConstraints,omitempty"`
InferredPoints []AppliedPointInference `json:"inferredPoints,omitempty"`
}
type AddSketchImageArgs
AddSketchImageArgs is the request of MethodSketchAddImage: place a raster image (Ref is a package-store reference/path) anchored at Anchor ([x,y] cm) with the given unit-bearing Width/Height, Rotation (unit-bearing angle, CCW about the anchor), and Opacity (0…1).
type AddSketchImageArgs struct {
SketchIndex int `json:"sketchIndex"`
Ref string `json:"ref"`
Anchor []float64 `json:"anchor"`
Width string `json:"width"`
Height string `json:"height"`
Rotation string `json:"rotation,omitempty"`
Opacity float64 `json:"opacity,omitempty"`
}
type AddSketchImageResult
AddSketchImageResult is the response of MethodSketchAddImage: the new image's id.
type AddSketchImageResult struct {
EntityID uint64 `json:"entityId"`
}
type AddSketchPatternArgs
AddSketchPatternArgs is the request of MethodSketchAddPattern — the discriminated sketch-pattern constructor. Kind is a oblikovati.org/api/types.SketchPatternKind; Entities are the seed selection.
- rectangular: Count1/Count2 instances stepped by Spacing1/Spacing2 (unit-bearing lengths) along Dir1/Dir2 ([x,y] directions; default [1,0] and [0,1]). The seed is cell (0,0), so the copies number Count1·Count2 − 1.
- circular: Count instances (incl. the seed) spread over Angle (a unit-bearing angle) about Center ([x,y] cm); the copies number Count − 1.
type AddSketchPatternArgs struct {
SketchIndex int `json:"sketchIndex"`
Kind string `json:"kind"`
Entities []uint64 `json:"entities"`
Count1 int `json:"count1,omitempty"`
Count2 int `json:"count2,omitempty"`
Spacing1 string `json:"spacing1,omitempty"`
Spacing2 string `json:"spacing2,omitempty"`
Dir1 []float64 `json:"dir1,omitempty"`
Dir2 []float64 `json:"dir2,omitempty"`
Count int `json:"count,omitempty"`
Angle string `json:"angle,omitempty"`
Center []float64 `json:"center,omitempty"`
}
type AddSketchPatternResult
AddSketchPatternResult is the response of MethodSketchAddPattern: the ids of the created (non-seed) copy entities.
type AddSketchPatternResult struct {
Created []uint64 `json:"created"`
}
type AddSliceViewArgs
AddSliceViewArgs is the request of MethodDrawingViewsAddSlice: a zero-thickness slice at the section line (X1,Y1)-(X2,Y2) on the parent (sheet mm) — only the cut outline, nothing behind.
type AddSliceViewArgs struct {
Name string `json:"name,omitempty"`
ParentView string `json:"parentView"`
X1 float64 `json:"x1"`
Y1 float64 `json:"y1"`
X2 float64 `json:"x2"`
Y2 float64 `json:"y2"`
CenterXMM float64 `json:"centerXmm,omitempty"`
CenterYMM float64 `json:"centerYmm,omitempty"`
}
type AddSurfaceTextureArgs
AddSurfaceTextureArgs is the request of [MethodDrawingAnnotationsAddSurfaceTexture]: an ISO 1302 surface texture symbol at (XMM, YMM) on the sheet. Roughness is the finish value text (e.g. "1.6" or "Ra 3.2"). MaterialRemoval is the symbol variant (types.MaterialRemoval wire spelling: "any" basic, "required" machined, "prohibited" as-cast); empty means "any". The symbol and the roughness text are generated by the host.
type AddSurfaceTextureArgs struct {
Name string `json:"name,omitempty"`
XMM float64 `json:"xmm"`
YMM float64 `json:"ymm"`
Roughness string `json:"roughness,omitempty"`
MaterialRemoval string `json:"materialRemoval,omitempty"`
}
type AddSymmetryArgs
AddSymmetryArgs is the request of MethodAssemblyConstraintsAddSymmetry: position geometry A and geometry B symmetrically about the Plane (a planar face/work-plane ref).
type AddSymmetryArgs struct {
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
Plane ConstraintGeomRef `json:"plane"`
}
type AddTangentArgs
AddTangentArgs is the request of MethodAssemblyConstraintsAddTangent: keep face A tangent to curved face B. Inside selects inside tangency (B wraps A); false ⇒ outside.
type AddTangentArgs struct {
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
Inside bool `json:"inside,omitempty"`
}
type AddTextArgs
AddTextArgs is the request of MethodSketchAddText: place Text anchored at Anchor ([x,y] cm), with a unit-bearing Height, an optional unit-bearing Rotation (CCW about the anchor), Justify (horizontal: "left" | "center" | "right"), VJustify (vertical: "baseline" | "lower" | "middle" | "upper"), and an optional Font family name and unit-bearing FontSize.
The created entity is a single sketch TEXT entity (not baked line geometry): it keeps the content + font and DERIVES its glyph outlines on demand, so editing the text re-derives the geometry and an emboss that references the text recomputes from it — nothing is baked into the document. A letter's counter (the hole in A/O/B) becomes a profile hole.
type AddTextArgs struct {
SketchIndex int `json:"sketchIndex"`
Anchor []float64 `json:"anchor"`
Text string `json:"text"`
Height string `json:"height"`
Rotation string `json:"rotation,omitempty"`
Justify string `json:"justify,omitempty"` // horizontal alignment
VJustify string `json:"vJustify,omitempty"` // vertical alignment
Font string `json:"font,omitempty"` // font family name ("" ⇒ document default)
FontSize string `json:"fontSize,omitempty"` // unit-bearing; "" ⇒ track Height
}
type AddTransitionalArgs
AddTransitionalArgs is the request of MethodAssemblyConstraintsAddTransitional: keep face A in sliding contact with face B (the transition surface) as the component moves.
type AddTransitionalArgs struct {
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
}
type AddTranslateTranslateArgs
AddTranslateTranslateArgs is the request of MethodAssemblyConstraintsAddTranslateTranslate: couple translation A to translation B by Ratio (distance of B per unit distance of A).
type AddTranslateTranslateArgs struct {
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
Ratio float64 `json:"ratio"`
}
type AddViewArgs
AddViewArgs is the request of MethodViewsAdd: create a new view of a document (adds to the document's view collection). When CopyActiveCamera is set the new view starts at the active view's camera; otherwise it gets a default framed camera. The new view becomes active.
type AddViewArgs struct {
Document uint64 `json:"document,omitempty"`
Name string `json:"name,omitempty"`
CopyActiveCamera bool `json:"copyActiveCamera,omitempty"`
}
type AnalyzeInterferenceArgs
AnalyzeInterferenceArgs requests a static interference analysis. Occurrences optionally restricts the analysis to a subset (by id); empty analyses every pair in the active assembly.
type AnalyzeInterferenceArgs struct {
Occurrences []uint64 `json:"occurrences,omitempty"`
}
type AnnotationResult
AnnotationResult is the response of the add methods: the created annotation.
type AnnotationResult struct {
Annotation DrawingAnnotationInfo `json:"annotation"`
}
type AppearanceInfo
AppearanceInfo is the JSON shape of a PBR appearance. Albedo and Emissive are "#RRGGBBAA" hex (compact, readable, matching the on-disk and theme conventions); the scalar PBR terms are in [0,1].
type AppearanceInfo struct {
ID string `json:"id"`
DisplayName string `json:"displayName"`
Source string `json:"source"`
Albedo string `json:"albedo"`
Metallic float32 `json:"metallic"`
Roughness float32 `json:"roughness"`
Emissive string `json:"emissive"`
Opacity float32 `json:"opacity"`
}
type ApplicationApiVersionResult
ApplicationApiVersionResult is the response of MethodApplicationApiVersion: the semantic version of the api contract the running host implements. Version is the full "MAJOR.MINOR.PATCH" string (== api.Version, no leading "v"); Major and Minor are broken out so an add-in can gate compatibility without parsing.
The load-time handshake (ObkAddInApiMajor/ObkAddInApiMinor in include/oblikovati_addin.h) already guarantees the add-in's major matches and its minor is not newer than the host before it is loaded; this runtime query lets a loaded add-in additionally adapt to the exact minor/patch within that major.
type ApplicationApiVersionResult struct {
Version string `json:"version"`
Major int `json:"major"`
Minor int `json:"minor"`
}
type AppliedConstraintInference
AppliedConstraintInference reports one geometric constraint the engine auto-applied while an entity was created. Kind is the oblikovati.org/api/types.ConstraintInferenceKind wire spelling; ConstraintIndex addresses the created constraint in the sketch's constraint enumeration; Entities are the session ids the constraint ties together.
type AppliedConstraintInference struct {
Kind string `json:"kind"`
ConstraintIndex int `json:"constraintIndex"`
Entities []uint64 `json:"entities"`
}
type AppliedPointInference
AppliedPointInference reports how one defining point of a created entity was inferred. Kind is the oblikovati.org/api/types.SketchPointInferenceKind wire spelling; PointID is the created point's session id; Entities are the session ids of the geometry the inference referenced.
type AppliedPointInference struct {
Kind string `json:"kind"`
PointID uint64 `json:"pointId"`
Entities []uint64 `json:"entities,omitempty"`
}
type AssemblyConstraintInfo
AssemblyConstraintInfo is one row of the assembly's constraint set: its session id, kind, name, the two geometry inputs, the driven value (offset for mate/flush/insert, angle for angle, ratio for the motion kinds), the solution-type discriminator where it applies, optional limits, health, and suppression. Default-zero/false fields are omitted.
type AssemblyConstraintInfo struct {
ID uint64 `json:"id"`
Type string `json:"type"`
Name string `json:"name"`
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
Value float64 `json:"value,omitempty"`
Solution string `json:"solution,omitempty"`
Limits *ConstraintLimits `json:"limits,omitempty"`
Health string `json:"health,omitempty"`
Suppressed bool `json:"suppressed,omitempty"`
}
type AssemblyEdgeRef
AssemblyEdgeRef addresses an edge of a placed component for an assembly dress-up feature: the Occurrence (session id) whose component the edge belongs to, and the edge's reference Key on that component (a key from model.referenceKeys run on the component). The feature machines that edge on every participating instance of the component, resolved per placement (#735).
type AssemblyEdgeRef struct {
Occurrence uint64 `json:"occurrence"`
Edge string `json:"edge"`
}
type AssemblyFaceRef
AssemblyFaceRef addresses a face of a placed component for an assembly face-edit feature: the Occurrence (session id) whose component the face belongs to, and the face's reference Key on that component (from model.referenceKeys). The feature moves that face on every participating instance of the component, resolved per placement (#735).
type AssemblyFaceRef struct {
Occurrence uint64 `json:"occurrence"`
Face string `json:"face"`
}
type AssemblyFeatureHealth
AssemblyFeatureHealth is one feature's post-recompute state in an AssemblyFeaturesChangedEvent: its id, suppression, and health reason ("" healthy).
type AssemblyFeatureHealth struct {
ID uint64 `json:"id"`
Suppressed bool `json:"suppressed,omitempty"`
Health string `json:"health,omitempty"`
}
type AssemblyFeatureInfo
AssemblyFeatureInfo renders one assembly feature: its stable id, type, display name, suppression, health (empty when healthy), and the session ids of the occurrences it machines.
type AssemblyFeatureInfo struct {
ID uint64 `json:"id"`
Kind string `json:"kind"`
Name string `json:"name"`
Suppressed bool `json:"suppressed,omitempty"`
Health string `json:"health,omitempty"`
Participants []uint64 `json:"participants,omitempty"`
// ParticipantPaths is the feature's nested-path restriction (each path a sequence of
// occurrence instance names, root first), present only when the feature is restricted
// to specific placements of a sub-assembly placed more than once. Empty means it
// machines every path through a participating leaf occurrence (the default).
ParticipantPaths [][]string `json:"participantPaths,omitempty"`
// Scalars are the editable scalar inputs [MethodAssemblyFeaturesEdit] accepts (the
// same [FeatureScalar] shape the part features.* surface uses), in display order.
// Empty for kinds whose tool is fixed at construction (e.g. the box cut and the
// drilled hole), which expose nothing editable after placement.
Scalars []FeatureScalar `json:"scalars,omitempty"`
}
type AssemblyFeatureResult
AssemblyFeatureResult is the reply of the single-feature mutators (add, setParticipants): the affected feature's refreshed info.
type AssemblyFeatureResult struct {
Feature AssemblyFeatureInfo `json:"feature"`
}
type AssemblyFeaturesChangedEvent
AssemblyFeaturesChangedEvent is the JSON shape of EventAssemblyFeaturesChanged: the assembly document's id and each feature's resulting health, in program order.
type AssemblyFeaturesChangedEvent struct {
Type string `json:"type"`
Document uint64 `json:"document"`
Features []AssemblyFeatureHealth `json:"features,omitempty"`
}
type AssemblyFeaturesResult
AssemblyFeaturesResult is the reply of MethodAssemblyFeaturesList: the feature program in order plus the end-of-features marker state.
type AssemblyFeaturesResult struct {
Features []AssemblyFeatureInfo `json:"features"`
EndOfFeatures int `json:"endOfFeatures"`
RolledBack bool `json:"rolledBack"`
}
type AssemblyHealthResult
AssemblyHealthResult is the reply of MethodAssemblyConstraintsSolve and MethodAssemblyConstraintsHealth: the assembly's overall constraint health ([types.HealthStatus] string), counts of constraints and redundant (over-constraining) ones, the total remaining free DOF, and the per-occurrence DOF breakdown.
type AssemblyHealthResult struct {
Status string `json:"status"`
Constraints int `json:"constraints"`
Redundant int `json:"redundant"`
DegreesOfFreedom int `json:"degreesOfFreedom"`
Occurrences []OccurrenceDOFInfo `json:"occurrences,omitempty"`
Converged bool `json:"converged"`
}
type AssemblyJointResult
AssemblyJointResult is the reply of the single-joint add/mutate operations: the affected joint's info (after the assembly re-solves).
type AssemblyJointResult struct {
Joint JointInfo `json:"joint"`
}
type AssemblyJointsResult
AssemblyJointsResult is the reply of MethodAssemblyJointsList: the active assembly's joint set in creation order.
type AssemblyJointsResult struct {
Joints []JointInfo `json:"joints"`
}
type AssetRefArgs
AssetRefArgs identifies an asset by id (MethodAppearancesGet/MethodMaterialsGet).
type AssetRefArgs struct {
ID string `json:"id"`
}
type AssignAppearanceArgs
AssignAppearanceArgs overrides the appearance at a scope ("part", "body", or "face"). Key is the hex reference key of the body/face (empty for the part default).
type AssignAppearanceArgs struct {
Scope string `json:"scope"`
Key string `json:"key,omitempty"`
AppearanceID string `json:"appearanceId"`
}
type AssignMaterialArgs
AssignMaterialArgs assigns a material to a body, or to the part default when BodyKey is empty. BodyKey is the body's hex reference key (stable across recompute).
type AssignMaterialArgs struct {
BodyKey string `json:"bodyKey,omitempty"`
MaterialID string `json:"materialId"`
}
type AttachPointCloudArgs
AttachPointCloudArgs is the request of MethodPointCloudsAttach: read the scan file at FullFileName and attach it to the active part. Name is the unique cloud name; when empty the host mints one (Cloud1, Cloud2, …).
type AttachPointCloudArgs struct {
Name string `json:"name,omitempty"`
FullFileName string `json:"fullFileName"`
}
type AttachmentInfo
AttachmentInfo is one attachment record: the unique name other objects bind to, the kind, the linked path (resolved through the project search paths) or the embedded resource id, and the freshness state. LastKnownFileTime is RFC 3339; for linked attachments a newer on-disk time reports outOfDate.
type AttachmentInfo struct {
Name string `json:"name"`
Kind types.AttachmentKind `json:"kind"`
FullFileName string `json:"fullFileName,omitempty"`
ResolvedFileName string `json:"resolvedFileName,omitempty"`
Resource string `json:"resource,omitempty"`
Status types.ReferenceStatus `json:"status"`
LastKnownFileTime string `json:"lastKnownFileTime,omitempty"`
BrowserVisible bool `json:"browserVisible"`
}
type AttributeInfo
AttributeInfo is the JSON shape of one attribute: the set it lives in, its name, its value, and the target it is anchored to (empty for the document itself).
type AttributeInfo struct {
Set string `json:"set"`
Name string `json:"name"`
Value types.Variant `json:"value"`
Target string `json:"target,omitempty"`
}
type AttributeMatch
AttributeMatch is one hit of MethodAttributesFind: the document session id and the matching attribute on it.
type AttributeMatch struct {
Document uint64 `json:"document"`
Attribute AttributeInfo `json:"attribute"`
}
type AttributeResult
AttributeResult is the response of MethodAttributesGet / MethodAttributesSet: the addressed attribute and whether it was found (false for a get that missed).
type AttributeResult struct {
Attribute AttributeInfo `json:"attribute"`
Found bool `json:"found"`
}
type AutoDimensionResult
AutoDimensionResult is the response of MethodSketchAutoDimension: how many constraints were added and the sketch's resulting DOF (0 when it is now fully constrained).
type AutoDimensionResult struct {
Added int `json:"added"`
DOF int `json:"dof"`
}
type BOMExportArgs
BOMExportArgs is the request of MethodAssemblyBOMExport: export the View of the active assembly's BOM to CSV. Beyond the standard columns (item, part number, description, qty, structure) each name in Columns adds a column sourced from that component property.
type BOMExportArgs struct {
View types.BOMViewKind `json:"view"`
Columns []string `json:"columns,omitempty"`
}
type BOMExportResult
BOMExportResult is the reply of MethodAssemblyBOMExport: the rendered CSV document.
type BOMExportResult struct {
CSV string `json:"csv"`
}
type BOMRowInfo
BOMRowInfo is one bill-of-materials line: its 1-based item number, the component's part number/description/structure, the quantity at this level, its custom properties, and (in the structured view) the nested child rows of an expanded sub-assembly.
type BOMRowInfo struct {
ItemNumber int `json:"itemNumber"`
PartNumber string `json:"partNumber,omitempty"`
Description string `json:"description,omitempty"`
Structure types.BOMStructure `json:"structure"`
Quantity int `json:"quantity"`
Properties map[string]string `json:"properties,omitempty"`
Children []BOMRowInfo `json:"children,omitempty"`
}
type BOMViewArgs
BOMViewArgs is the request of MethodAssemblyBOMView: read the View ([types.BOMStructured] | [types.BOMPartsOnly]) of the active assembly's BOM.
type BOMViewArgs struct {
View types.BOMViewKind `json:"view"`
}
type BOMViewResult
BOMViewResult is the reply of MethodAssemblyBOMView: the requested view and its rows (the structured view's rows carry nested Children).
type BOMViewResult struct {
View types.BOMViewKind `json:"view"`
Rows []BOMRowInfo `json:"rows"`
}
type BalloonTipClickedEvent
BalloonTipClickedEvent is the push event (type EventBalloonTipClicked) fired when the user clicks a balloon's body (not its close control).
type BalloonTipClickedEvent struct {
Type string `json:"type"` // always EventBalloonTipClicked
ID string `json:"id"`
}
type BatchPlacement
BatchPlacement is one entry of a PlaceByDefinitionBatchArgs: the new occurrence's Name and its Transform (a 4×4 placement in the assembly's space).
type BatchPlacement struct {
Name string `json:"name"`
Transform types.Matrix `json:"transform"`
}
type BatchSaveArgs
BatchSaveArgs is the request of MethodDocumentsBatchSave: execute one save operation — "save", "saveAs" or "saveCopyAs" — over every item, continuing past per-item failures.
type BatchSaveArgs struct {
Operation string `json:"operation"`
Items []BatchSaveItem `json:"items"`
}
type BatchSaveItem
BatchSaveItem is one (document → target) pair of MethodDocumentsBatchSave. TargetFileName is required for the saveAs and saveCopyAs operations and ignored for save.
type BatchSaveItem struct {
Document uint64 `json:"document"`
TargetFileName string `json:"targetFileName,omitempty"`
}
type BatchSaveItemResult
BatchSaveItemResult is one per-file outcome of MethodDocumentsBatchSave.
type BatchSaveItemResult struct {
Document uint64 `json:"document"`
FullDocumentName string `json:"fullDocumentName,omitempty"`
OK bool `json:"ok"`
Error string `json:"error,omitempty"`
}
type BatchSaveResult
BatchSaveResult is the response of MethodDocumentsBatchSave.
type BatchSaveResult struct {
Saved int `json:"saved"`
Results []BatchSaveItemResult `json:"results"`
}
type BeginMessageSectionArgs
BeginMessageSectionArgs is the request of MethodErrorsBeginSection: group the following messages under a titled section (sections nest).
type BeginMessageSectionArgs struct {
Title string `json:"title"`
}
type BeginMessageSectionResult
BeginMessageSectionResult is the response of MethodErrorsBeginSection.
type BeginMessageSectionResult struct {
Section int `json:"section"`
}
type BeginProgressArgs
BeginProgressArgs is the request of MethodProgressBegin: start a progress bar of Steps steps with an initial message. Bars nest safely — each begin returns its own id and the status bar shows the innermost live bar.
type BeginProgressArgs struct {
Steps int `json:"steps"`
Message string `json:"message,omitempty"`
}
type BeginProgressResult
BeginProgressResult is the response of MethodProgressBegin.
type BeginProgressResult struct {
ID int `json:"id"`
}
type BendAllowanceArgs
BendAllowanceArgs requests the developed flat length of one bend under the active rule's unfold method. Radius defaults to the rule's bend radius when its expression is empty; Angle is the bend angle (the swept angle of the arc, e.g. "90 deg").
type BendAllowanceArgs struct {
Angle string `json:"angle"`
Radius string `json:"radius,omitempty"`
}
type BendAllowanceResult
BendAllowanceResult reports the computed bend allowance (developed arc length, in the document's length unit) plus the bend deduction (setback) for the same bend.
type BendAllowanceResult struct {
BendAllowance float64 `json:"bendAllowance"`
BendDeduction float64 `json:"bendDeduction"`
}
type BendInfo
BendInfo is one bend in the part's bend lineage (M13-F04): the feature that introduced it and the unfold values the flat pattern develops it by. Angle is in degrees; the lengths (radius/thickness/allowance/deduction) are in database units (cm), matching the rest of the sheet-metal surface. The allowance is the developed neutral-axis arc length the flat must include; the deduction is the setback subtracted from outside flange lengths. Together they let an add-in predict the flat extents before the flat is built.
type BendInfo struct {
Feature string `json:"feature"`
Angle float64 `json:"angle"`
Radius float64 `json:"radius"`
Thickness float64 `json:"thickness"`
Allowance float64 `json:"allowance"`
Deduction float64 `json:"deduction"`
}
type BendOrderInfo
BendOrderInfo is one bend's place in the press-brake sequence: the feature that created it, its 1-based order, and its bend angle (degrees) and inside radius (database units cm).
type BendOrderInfo struct {
Feature string `json:"feature"`
Order int `json:"order"`
Angle float64 `json:"angle"`
Radius float64 `json:"radius"`
}
type BendOrderResult
BendOrderResult is the reply of listBendOrder/setBendOrder: the part's bends in order.
type BendOrderResult struct {
Bends []BendOrderInfo `json:"bends"`
}
type BendsResult
BendsResult is the reply of bends: every bend in the folded part, in creation order, plus the summed bend allowance (the total developed length the flat adds for all bends).
type BendsResult struct {
Bends []BendInfo `json:"bends"`
TotalAllowance float64 `json:"totalAllowance"`
}
type BindTransientKeyArgs
BindTransientKeyArgs is the request of MethodBodyBindTransientKey.
type BindTransientKeyArgs struct {
BodyIndex int `json:"bodyIndex"`
TransientKey uint64 `json:"transientKey"`
}
type BindTransientKeyResult
BindTransientKeyResult is the response of MethodBodyBindTransientKey.
type BindTransientKeyResult struct {
Found bool `json:"found"`
Kind string `json:"kind,omitempty"`
Key string `json:"key,omitempty"`
}
type BindingInfo
BindingInfo is one bindable action in the keymap catalog (MethodKeymapList).
type BindingInfo struct {
ActionID string `json:"actionId"`
DisplayName string `json:"displayName"`
Kind string `json:"kind"` // "command" or "builtin"
Chord string `json:"chord,omitempty"` // effective shortcut; "" if unbound
DefaultChord string `json:"defaultChord,omitempty"` // out-of-the-box shortcut
Alias string `json:"alias,omitempty"` // effective user alias; "" if none
Customized bool `json:"customized,omitempty"` // chord or alias differs from default
}
type BodyIndexArgs
BodyIndexArgs addresses one body of the active part.
type BodyIndexArgs struct {
BodyIndex int `json:"bodyIndex"`
}
type BodyInfo
BodyInfo is one body's summary in MethodBodyList's result. Name is the body's display name ("Solid1" by default, overridable with MethodBodyRename); Visible reports whether it is shown, toggled with MethodBodySetVisible — the body-level API multi-body workflows (Combine, Split, Mold) need to enumerate, rename and show/hide their results. Key is the body's persistent reference key (stable across recompute), the handle used to assign a color style; Style is the assigned color-style name, empty when the body wears its plain appearance. MaterialID is the body's effective assigned material id — its own override if set, else the part-default material — and is empty when no material is assigned; resolve it to properties with MethodMaterialsGet. It is the read-back counterpart of MethodModelAssignMaterial (write-only), letting an analysis add-in build a per-body material model.
type BodyInfo struct {
Index int `json:"index"`
Name string `json:"name"`
Solid bool `json:"solid"`
Visible bool `json:"visible"`
Faces int `json:"faces"`
Edges int `json:"edges"`
Vertices int `json:"vertices"`
Shells int `json:"shells"`
Wires int `json:"wires"`
Key string `json:"key,omitempty"`
Style string `json:"style,omitempty"`
MaterialID string `json:"materialID,omitempty"`
}
type BodyInfoResult
BodyInfoResult is the response of MethodBodySetVisible: the body's refreshed summary.
type BodyInfoResult struct {
Body BodyInfo `json:"body"`
}
type BodyListResult
BodyListResult is the response of MethodBodyList.
type BodyListResult struct {
Bodies []BodyInfo `json:"bodies,omitempty"`
}
type BodyPhysicalPropertiesArgs
BodyPhysicalPropertiesArgs is the request of [MethodBodyPhysicalProperties]: the geometry and mass properties of one body (the per-body counterpart of MethodModelPhysicalProperties, which sums all bodies). DensityGCm3 0 ⇒ the part's assigned material density (1.0 g/cm³ when none); Accuracy is "low"/"medium"/"high" (empty ⇒ medium).
type BodyPhysicalPropertiesArgs struct {
BodyIndex int `json:"bodyIndex"`
DensityGCm3 float64 `json:"densityGCm3,omitempty"`
Accuracy string `json:"accuracy,omitempty"`
}
type BodyRangeBoxArgs
BodyRangeBoxArgs is the request of MethodBodyRangeBox: the topology box by default, the tessellation-tight box with Precise, the minimal oriented box with Oriented.
type BodyRangeBoxArgs struct {
BodyIndex int `json:"bodyIndex"`
Precise bool `json:"precise,omitempty"`
Oriented bool `json:"oriented,omitempty"`
}
type BodyRangeBoxResult
BodyRangeBoxResult is the response of MethodBodyRangeBox: Min/Max for the axis-aligned forms; Corner plus the three edge vectors for the oriented one.
type BodyRangeBoxResult struct {
Min []float64 `json:"min,omitempty"`
Max []float64 `json:"max,omitempty"`
Corner []float64 `json:"corner,omitempty"`
DirectionOne []float64 `json:"directionOne,omitempty"`
DirectionTwo []float64 `json:"directionTwo,omitempty"`
DirectionThree []float64 `json:"directionThree,omitempty"`
}
type BodyRenameArgs
BodyRenameArgs is the request of MethodBodyRename: set the display name of the body at BodyIndex (from MethodBodyList). The name is stored per body (keyed by its reference key), survives recompute, and round-trips in the .obk; an empty name reverts to the index-derived default ("Solid{N}").
type BodyRenameArgs struct {
BodyIndex int `json:"bodyIndex"`
Name string `json:"name"`
}
type BodySetVisibleArgs
BodySetVisibleArgs is the request of MethodBodySetVisible: show or hide the body at BodyIndex (from MethodBodyList). Visible is set, not toggled, so the call is idempotent.
type BodySetVisibleArgs struct {
BodyIndex int `json:"bodyIndex"`
Visible bool `json:"visible"`
}
type BodyShellsResult
BodyShellsResult is the response of MethodBodyShells.
type BodyShellsResult struct {
Shells []FaceShellInfo `json:"shells,omitempty"`
}
type BodyTopology
BodyTopology groups one body's faces/edges/vertices by reference key.
type BodyTopology struct {
Faces []TopologyRef `json:"faces"`
Edges []TopologyRef `json:"edges"`
Vertices []TopologyRef `json:"vertices"`
}
type BodyWiresResult
BodyWiresResult is the response of MethodBodyWires.
type BodyWiresResult struct {
Wires []WireInfo `json:"wires,omitempty"`
}
type BrepBodyRef
BrepBodyRef addresses an operation source: exactly one of Handle (transient, 1-based) or BodyIndex (document body) must be set.
type BrepBodyRef struct {
Handle int `json:"handle,omitempty"`
BodyIndex *int `json:"bodyIndex,omitempty"`
}
type BrepBodyStats
BrepBodyStats summarizes a transient body after an operation.
type BrepBodyStats struct {
Solid bool `json:"solid"`
Faces int `json:"faces"`
Edges int `json:"edges"`
Vertices int `json:"vertices"`
Shells int `json:"shells"`
Wires int `json:"wires"`
Volume float64 `json:"volume"`
}
type BrepBooleanArgs
BrepBooleanArgs is the request of MethodBrepBoolean: the blank (a transient handle — it is modified in place) combined with the tool under Operation (a oblikovati.org/api/types.BooleanType wire spelling).
type BrepBooleanArgs struct {
BlankHandle int `json:"blankHandle"`
Tool BrepBodyRef `json:"tool"`
Operation string `json:"operation"`
}
type BrepCopyArgs
BrepCopyArgs is the request of MethodBrepCopy.
type BrepCopyArgs struct {
Source BrepBodyRef `json:"source"`
}
type BrepCreateFromDefinitionArgs
BrepCreateFromDefinitionArgs is the request of MethodBrepCreateFromDefinition: the bottom-up definition graph.
type BrepCreateFromDefinitionArgs struct {
Definition types.BrepBodyDefinition `json:"definition"`
}
type BrepCreateFromDefinitionResult
BrepCreateFromDefinitionResult is the response: a handle on success, the per-definition issues otherwise (no body is created when issues exist).
type BrepCreateFromDefinitionResult struct {
Handle int `json:"handle,omitempty"`
Stats BrepBodyStats `json:"stats,omitempty"`
Issues []types.BrepDefinitionIssue `json:"issues,omitempty"`
}
type BrepDeleteFacesArgs
BrepDeleteFacesArgs is the request of MethodBrepDeleteFaces: faces named by reference key are deleted (or with KeepInstead, everything BUT them); the openings stay open (the result may become a surface body).
type BrepDeleteFacesArgs struct {
Handle int `json:"handle"`
FaceKeys []string `json:"faceKeys"`
KeepInstead bool `json:"keepInstead,omitempty"`
}
type BrepHandleArgs
BrepHandleArgs addresses one transient body.
type BrepHandleArgs struct {
Handle int `json:"handle"`
}
type BrepHandleResult
BrepHandleResult is the common "a transient body came back" payload.
type BrepHandleResult struct {
Handle int `json:"handle"`
Stats BrepBodyStats `json:"stats"`
}
type BrepIdenticalBodiesArgs
BrepIdenticalBodiesArgs is the request of MethodBrepIdenticalBodies.
type BrepIdenticalBodiesArgs struct {
Sources []BrepBodyRef `json:"sources"`
// Tolerance is relative (0 → 1e-6, the reference default).
Tolerance float64 `json:"tolerance,omitempty"`
MatchTopology bool `json:"matchTopology,omitempty"`
// MatchReflection defaults TRUE (mirrored bodies match) per the
// reference; the pointer distinguishes "unset" from explicit false.
MatchReflection *bool `json:"matchReflection,omitempty"`
}
type BrepIdenticalBodiesResult
BrepIdenticalBodiesResult groups indices into Sources; identical bodies share a group.
type BrepIdenticalBodiesResult struct {
Groups [][]int `json:"groups,omitempty"`
}
type BrepImprintArgs
BrepImprintArgs is the request of MethodBrepImprint.
type BrepImprintArgs struct {
BodyOne BrepBodyRef `json:"bodyOne"`
BodyTwo BrepBodyRef `json:"bodyTwo"`
// ImprintCoincidentEdges is accepted for reference parity; coincident
// boundary edges are always imprinted by the planar arrangement.
ImprintCoincidentEdges bool `json:"imprintCoincidentEdges,omitempty"`
}
type BrepImprintResult
BrepImprintResult is the response of MethodBrepImprint: imprinted copies plus the touched faces / new imprint edges of each, by reference key.
type BrepImprintResult struct {
HandleOne int `json:"handleOne"`
HandleTwo int `json:"handleTwo"`
OneTouchedFaceKeys []string `json:"oneTouchedFaceKeys,omitempty"`
TwoTouchedFaceKeys []string `json:"twoTouchedFaceKeys,omitempty"`
OneImprintedEdgeKeys []string `json:"oneImprintedEdgeKeys,omitempty"`
TwoImprintedEdgeKeys []string `json:"twoImprintedEdgeKeys,omitempty"`
}
type BrepListResult
BrepListResult is the response of MethodBrepList.
type BrepListResult struct {
Handles []int `json:"handles,omitempty"`
}
type BrepOffsetFacesArgs
BrepOffsetFacesArgs is the request of MethodBrepOffsetFaces: offset the faces of Source named by reference key outward by Distance along their surface normals, returning a transient body of the offset faces (addressable by the other brep.* methods — e.g. tessellate or MethodBodyFaceEvaluate to sample it). CAM uses it for 3D surfacing tool compensation: offset the part surface by the tool radius, then drop the tool onto the offset. The offset is exact for analytic surfaces (plane, cylinder, sphere, cone, torus) and a tolerant parallel surface otherwise.
The parameters are Distance, Reverse (offset the opposite way, into the solid), and Tolerance (the chordal tolerance for offsetting a freeform surface; 0 ⇒ a kernel default).
type BrepOffsetFacesArgs struct {
Source BrepBodyRef `json:"source"`
FaceKeys []string `json:"faceKeys"`
Distance float64 `json:"distance"`
Reverse bool `json:"reverse,omitempty"`
Tolerance float64 `json:"tolerance,omitempty"`
}
type BrepRuledSurfaceArgs
BrepRuledSurfaceArgs is the request of MethodBrepRuledSurface.
type BrepRuledSurfaceArgs struct {
SectionOne BrepWireRef `json:"sectionOne"`
SectionTwo BrepWireRef `json:"sectionTwo"`
}
type BrepSectionArgs
BrepSectionArgs is the request of MethodBrepSectionWithPlane.
type BrepSectionArgs struct {
Source BrepBodyRef `json:"source"`
PlaneOrigin []float64 `json:"planeOrigin"`
PlaneNormal []float64 `json:"planeNormal"`
}
type BrepSilhouetteArgs
BrepSilhouetteArgs is the request of MethodBrepSilhouette: the silhouette curves of one face viewed along ViewDirection.
type BrepSilhouetteArgs struct {
Source BrepBodyRef `json:"source"`
FaceKey string `json:"faceKey"`
ViewDirection []float64 `json:"viewDirection"`
// IncludeBoundary keeps silhouette runs lying on the face's own edges.
IncludeBoundary bool `json:"includeBoundary,omitempty"`
}
type BrepTransformArgs
BrepTransformArgs is the request of MethodBrepTransform: a 4×4 row-major matrix restricted to rotation/translation/reflection/uniform scale.
type BrepTransformArgs struct {
Handle int `json:"handle"`
Matrix []float64 `json:"matrix"`
}
type BrepWireRef
BrepWireRef addresses one wire of a body for the ruled surface.
type BrepWireRef struct {
Body BrepBodyRef `json:"body"`
WireIndex int `json:"wireIndex"`
}
type BrepWiresResult
BrepWiresResult is the payload of section/silhouette results: the wires land on a new transient body and are also returned sampled.
type BrepWiresResult struct {
Handle int `json:"handle"`
Wires []WirePolyline `json:"wires,omitempty"`
}
type BrowserMenuItem
BrowserMenuItem is one entry of a node's right-click context menu. ID names the item in the BrowserNodeEvent when chosen; Label is what's shown; Disabled greys it out (the zero value is enabled, the common case).
type BrowserMenuItem struct {
ID string `json:"id"`
Label string `json:"label"`
Disabled bool `json:"disabled,omitempty"`
}
type BrowserNodeEvent
BrowserNodeEvent is the push event (type EventBrowserNode) an add-in receives when the user interacts with one of its pane nodes. Gesture is "select", "double", "expand", "collapse", or "menu". For "menu", MenuItem is the chosen item's ID.
type BrowserNodeEvent struct {
Type string `json:"type"` // always EventBrowserNode
Pane string `json:"pane"`
Node string `json:"node"`
Gesture string `json:"gesture"`
MenuItem string `json:"menuItem,omitempty"` // chosen context-menu item id (Gesture "menu")
}
type BrowserNodeSpec
BrowserNodeSpec is one node of an add-in browser pane: a label with an optional icon and children, drawn like a built-in document-tree node. ID must be unique within its pane — it names the node in the BrowserNodeEvent the add-in receives when the user interacts with it. Expanded is the node's initial state; the user's expansion is kept across re-sets of the pane (the spec declares content, not view state). IconSVG is an inline themed glyph (the ribbon's sentinel-colour SVG convention) the host rasterises beside the label, so an add-in node looks like a document node. Menu is the node's right-click context menu; choosing an item reports a BrowserNodeEvent with Gesture "menu" and MenuItem set.
type BrowserNodeSpec struct {
ID string `json:"id"`
Label string `json:"label"`
Icon string `json:"icon,omitempty"` // built-in icon key (host nodes)
IconSVG string `json:"iconSVG,omitempty"` // inline themed glyph (add-in nodes)
Expanded bool `json:"expanded,omitempty"`
Menu []BrowserMenuItem `json:"menu,omitempty"`
Children []BrowserNodeSpec `json:"children,omitempty"`
}
type BrowserPaneSpec
BrowserPaneSpec is one add-in browser pane: a named tree shown alongside the built-in Model pane (the ClientBrowserNodeDefinition equivalent, M05-F03 #256). Setting a pane replaces its whole tree — the declared-bulk-state model the clientGraphics groups established — so an add-in never patches node-by-node.
type BrowserPaneSpec struct {
ID string `json:"id"`
Title string `json:"title"`
Nodes []BrowserNodeSpec `json:"nodes,omitempty"`
}
type CalculateFacetsArgs
CalculateFacetsArgs is the request of MethodBodyCalculateFacets and MethodBodyExistingFacets.
type CalculateFacetsArgs struct {
BodyIndex int `json:"bodyIndex"`
Tolerance float64 `json:"tolerance"`
// IncludeTextureMap adds per-vertex surface-parameter (u, v) pairs.
IncludeTextureMap bool `json:"includeTextureMap,omitempty"`
}
type CalculateStrokesArgs
CalculateStrokesArgs is the request of MethodBodyCalculateStrokes and MethodBodyExistingStrokes.
type CalculateStrokesArgs struct {
BodyIndex int `json:"bodyIndex"`
Tolerance float64 `json:"tolerance"`
}
type CallAddInAutomationArgs
CallAddInAutomationArgs is the request of MethodAddInsCallAutomation: invoke a method on another add-in's automation surface (ApplicationAddIn.Automation). Args is the target's own request shape, passed through opaquely — the host routes, it does not interpret.
type CallAddInAutomationArgs struct {
ID string `json:"id"`
Method string `json:"method"`
Args json.RawMessage `json:"args,omitempty"`
}
type CallAddInAutomationResult
CallAddInAutomationResult is the response of MethodAddInsCallAutomation: the target add-in's reply, passed through opaquely.
type CallAddInAutomationResult struct {
Result json.RawMessage `json:"result,omitempty"`
}
type CameraChangedEvent
CameraChangedEvent is the payload of the EventCameraChanged push event: the document whose active-view camera moved and the new frame.
type CameraChangedEvent struct {
Document uint64 `json:"document"`
Camera CameraView `json:"camera"`
}
type CameraView
CameraView is the JSON shape of the viewport's camera as a look-at frame: the eye position, the target it looks at, the up vector, and the vertical field of view in radians. It is the response of MethodViewGetCamera and MethodViewSetCamera.
The look-at form is the host-native representation (lossless round-trip with the renderer's camera). A collaboration add-in that wants a position+orientation form (e.g. for slerp during presenter-follow, see the oblikovati-meeting ADR-0003) derives the rotation from eye→target and up on its own side.
Eye and Target are positions, Up a direction — the M01-F05 geometry value types, whose [x, y, z] JSON form is identical to the [3]float64 encoding this type used before they existed.
type CameraView struct {
Eye types.Point `json:"eye"`
Target types.Point `json:"target"`
Up types.Vector `json:"up"`
FOV float64 `json:"fov"`
}
type CaptureNamedViewArgs
CaptureNamedViewArgs is the request of MethodViewsCaptureNamed: save the active view's current camera under Name (replacing any existing named view of that name).
type CaptureNamedViewArgs struct {
Document uint64 `json:"document,omitempty"`
Name string `json:"name"`
}
type CaptureRepArgs
CaptureRepArgs captures the current scene state into a new representation of its family.
type CaptureRepArgs struct {
Name string `json:"name"`
}
type CaptureViewportArgs
CaptureViewportArgs is the request of MethodViewportCapture: write the active document's viewport framebuffer to a PNG at Path (empty ⇒ a default temp location). The capture reflects the NEXT rendered frame, so the host writes the file asynchronously and the caller reads it once written.
type CaptureViewportArgs struct {
Path string `json:"path,omitempty"`
}
type CaptureViewportResult
CaptureViewportResult is the reply of MethodViewportCapture: the PNG path the host will write and the viewport's pixel size. The file appears within a frame of the call (poll Path / its mtime).
type CaptureViewportResult struct {
Path string `json:"path"`
Width int `json:"width"`
Height int `json:"height"`
}
type CaptureWindowArgs
CaptureWindowArgs is the request of MethodViewportCaptureWindow: write the WHOLE application window — the ImGui chrome (ribbon, browser, dialogs) composited with the 3D viewport, i.e. everything the user sees — to a PNG at Path (empty ⇒ a default temp location). Unlike CaptureViewportArgs, which captures only the 3D framebuffer, this captures the full swapchain image, so it shows open dialogs and UI state. The host writes the file asynchronously (within a frame); the caller reads it once written.
type CaptureWindowArgs struct {
Path string `json:"path,omitempty"`
}
type CaptureWindowResult
CaptureWindowResult is the reply of MethodViewportCaptureWindow: the PNG path the host will write and the window's pixel size. The file appears within a frame of the call (poll Path / its mtime).
type CaptureWindowResult struct {
Path string `json:"path"`
Width int `json:"width"`
Height int `json:"height"`
}
type CenterMarksResult
CenterMarksResult is the response of MethodDrawingAnnotationsAddCenterMarks: the marks created.
type CenterMarksResult struct {
Annotations []DrawingAnnotationInfo `json:"annotations"`
}
type CenterlineInfo
CenterlineInfo is one cosmetic centerline on the flat: its index and the line segment (start→end) in flat 2D coordinates (database units, cm).
type CenterlineInfo struct {
Index int `json:"index"`
Start types.Point2d `json:"start"`
End types.Point2d `json:"end"`
}
type CenterlinesResult
CenterlinesResult is the reply of addCenterline/listCenterlines/deleteCenterline: the flat's cosmetic centerlines.
type CenterlinesResult struct {
Centerlines []CenterlineInfo `json:"centerlines"`
}
type CircularPatternFeatureArgs
CircularPatternFeatureArgs is the args object for a FeatureKindPatternCircular MethodFeaturesAdd call: replicate SourceFeatures (tree names) in a circular array about an axis. Count is the occurrence count; CountExpr is its parameter-expression form ("slots", "poles/2") evaluated through the document's parameter engine and, when set, supersedes Count — so the pattern count is parameter-driven (#189). Angle is the unit-bearing total sweep ("360 deg"). AxisPoint/AxisDir default to the origin and +Z.
type CircularPatternFeatureArgs struct {
SourceFeatures []string `json:"sourceFeatures"`
Count int `json:"count,omitempty"`
CountExpr string `json:"countExpr,omitempty"`
Angle string `json:"angle,omitempty"`
AxisPoint []float64 `json:"axisPoint,omitempty"`
AxisDir []float64 `json:"axisDir,omitempty"`
}
type ClientApplicationInfo
ClientApplicationInfo is one entry of MethodClientAppsList: an external client application (an out-of-process automation driver, e.g. an MCP client connected through the bridge) registered for the session — the ClientApplications equivalent, distinct from in-process add-ins.
type ClientApplicationInfo struct {
ID int `json:"id"`
Name string `json:"name"`
}
type ClientGraphicsInfo
ClientGraphicsInfo is one row of MethodClientGraphicsList.
type ClientGraphicsInfo struct {
ClientId string `json:"clientId"`
Lane string `json:"lane"`
Visible bool `json:"visible"`
NodeCount int `json:"nodeCount"`
PrimitiveCount int `json:"primitiveCount"`
}
type ClientOperationEvent
ClientOperationEvent is the push event (type EventClientOperation) telling a subtype's owner its flavored document needs servicing: Operation is "created", "opened", "activated" or "saved".
type ClientOperationEvent struct {
Type string `json:"type"` // always EventClientOperation
Document uint64 `json:"document"`
SubType string `json:"subType"`
Operation string `json:"operation"`
}
type CloseAllDocumentsArgs
CloseAllDocumentsArgs is the request of MethodDocumentsCloseAll: close every open document. Force discards unsaved changes (the usual choice to start a clean session).
type CloseAllDocumentsArgs struct {
Force bool `json:"force"`
}
type CloseDocumentArgs
CloseDocumentArgs is the request of MethodDocumentsClose: the session id of the document to close. Force discards unsaved changes instead of saving them first.
type CloseDocumentArgs struct {
ID uint64 `json:"id"`
Force bool `json:"force"`
}
type CloseDocumentsResult
CloseDocumentsResult is the response of MethodDocumentsClose / MethodDocumentsCloseAll: how many documents were closed.
type CloseDocumentsResult struct {
Closed int `json:"closed"`
}
type CloseTaskPanelArgs
CloseTaskPanelArgs is the request of MethodTaskPanelClose (programmatic dismissal).
type CloseTaskPanelArgs struct {
ID string `json:"id"`
}
type CloseViewArgs
CloseViewArgs is the request of MethodViewsClose: remove the indexed view. Closing the last remaining view of a document is refused (a document always has ≥1 view).
type CloseViewArgs struct {
Document uint64 `json:"document,omitempty"`
Index int `json:"index"`
}
type CloseViewTabArgs
CloseViewTabArgs is the request of MethodWindowsCloseTab; Force discards unsaved changes (otherwise the document is saved first).
type CloseViewTabArgs struct {
Document uint64 `json:"document"`
Force bool `json:"force,omitempty"`
}
type CloseWebDialogArgs
CloseWebDialogArgs is the request of MethodDialogsCloseWebDialog.
type CloseWebDialogArgs struct {
ID string `json:"id"`
}
type ColorMapperInfo
ColorMapperInfo is one entry of ColorMappersResult: a registered named mapper.
type ColorMapperInfo struct {
Name string `json:"name"`
StopCount int `json:"stopCount"`
}
type ColorMappersResult
ColorMappersResult is the response of MethodClientGraphicsListMappers.
type ColorMappersResult struct {
Mappers []ColorMapperInfo `json:"mappers"`
}
type ColorSchemeView
ColorSchemeView is the JSON shape of one color scheme — the element of ColorSchemesResult and the response of MethodColorSchemesGetActive / MethodColorSchemesSetActive. The background colors honor BackgroundType: ScreenColor for a solid background, Top/BottomScreenColor for a gradient. Highlight/select colors feed the selection pipeline.
type ColorSchemeView struct {
Name string `json:"name"`
Active bool `json:"active"`
BackgroundType types.BackgroundTypeEnum `json:"backgroundType"`
ScreenColor types.Color `json:"screenColor"`
TopScreen types.Color `json:"topScreenColor"`
BottomScreen types.Color `json:"bottomScreenColor"`
Highlight types.Color `json:"highlightColor"`
PrimarySelect types.Color `json:"primarySelectColor"`
SecondSelect types.Color `json:"secondarySelectColor"`
}
type ColorSchemesResult
ColorSchemesResult is the response of MethodColorSchemesList: every scheme, with the active one flagged.
type ColorSchemesResult struct {
Schemes []ColorSchemeView `json:"schemes"`
}
type ColorStyleView
ColorStyleView is the JSON shape of one color style — the element of ColorStylesResult and the response of MethodStylesGet / MethodStylesSet and the request of the latter. The color components are full [types.Color] value objects; Shininess/Opacity are in [0,1].
type ColorStyleView struct {
Name string `json:"name"`
Diffuse types.Color `json:"diffuse"`
Ambient types.Color `json:"ambient"`
Specular types.Color `json:"specular"`
Emissive types.Color `json:"emissive"`
Shininess float64 `json:"shininess"`
Opacity float64 `json:"opacity"`
Location types.StyleLocationEnum `json:"location"`
}
type ColorStylesResult
ColorStylesResult is the response of MethodStylesList: every color style in the document.
type ColorStylesResult struct {
Styles []ColorStyleView `json:"styles"`
}
type CommandInfo
CommandInfo is the JSON shape of a registered command (its control-definition metadata) plus its current enabled state.
type CommandInfo struct {
ID string `json:"id"`
DisplayName string `json:"displayName"`
Ribbon types.RibbonKey `json:"ribbon,omitempty"`
Tab string `json:"tab,omitempty"`
Category string `json:"category,omitempty"`
Environment types.Environment `json:"environment,omitempty"`
Alias string `json:"alias,omitempty"`
Tooltip string `json:"tooltip,omitempty"`
// TooltipTitle / TooltipExpanded are the progressive tooltip (M05-F09): the
// title heads the hover tip; the expanded text appears after a longer hover.
TooltipTitle string `json:"tooltipTitle,omitempty"`
TooltipExpanded string `json:"tooltipExpanded,omitempty"`
Icon string `json:"icon,omitempty"`
// IconSVG is inline SVG markup the add-in supplied for this button (see
// [CreateCommandArgs.IconSVG]); empty when the button uses a host-bundled Icon key.
IconSVG string `json:"iconSvg,omitempty"`
ButtonStyle types.ButtonStyle `json:"buttonStyle,omitempty"`
Enabled bool `json:"enabled"`
}
type CommandLineResult
CommandLineResult is the response of MethodCommandLineSubmit. Output is the scrollback lines this submission produced (echoes, prompts, results). Prompt is the active command's next step prompt, and Awaiting is true while a command is mid-interaction (more input expected). Error carries a command-line error (e.g. an unknown command) as a message rather than a transport failure, so the caller can show it inline like the UI does.
type CommandLineResult struct {
Output []string `json:"output,omitempty"`
Prompt string `json:"prompt,omitempty"`
Awaiting bool `json:"awaiting"`
Error string `json:"error,omitempty"`
}
type CommandStartedEvent
CommandStartedEvent is the push event (type EventCommandStarted) fired when a command begins — the OnStartCommand observation; command.ended already reports completion.
type CommandStartedEvent struct {
Type string `json:"type"` // always EventCommandStarted
Command string `json:"command"`
}
type CompatibleUnitsResult
CompatibleUnitsResult reports whether an expression's resolved unit is dimensionally compatible with the target category (response of MethodUnitsCompatibleUnits).
type CompatibleUnitsResult struct {
Compatible bool `json:"compatible"`
}
type Constraint3DInfo
Constraint3DInfo is one enumerated geometric constraint from MethodSketch3DConstraints: its index, kind (oblikovati.org/api/types.Geometric3DConstraintKind), and the session ids of the entities/points it relates.
type Constraint3DInfo struct {
Index int `json:"index"`
Kind string `json:"kind"`
Entities []uint64 `json:"entities,omitempty"`
}
type ConstraintEventPayload
ConstraintEventPayload is the body of the assembly relationship events (EventAssemblyConstraintAdded, EventAssemblyConstraintDeleted, EventAssemblyResolved): which assembly (Document), and for add/delete the affected constraint's id and kind. The resolved event carries no constraint (Constraint is 0, Kind empty).
type ConstraintEventPayload struct {
Type string `json:"type"`
Document uint64 `json:"document"`
Constraint uint64 `json:"constraint,omitempty"`
Kind string `json:"kind,omitempty"`
}
type ConstraintGeomRef
ConstraintGeomRef addresses one geometry input of a constraint: the Occurrence (session id) whose component carries the geometry, and the Entity's reference key on that component (a face, edge, or vertex key). The solver resolves it to assembly-space geometry through the occurrence's placement.
type ConstraintGeomRef struct {
Occurrence uint64 `json:"occurrence"`
Entity string `json:"entity"`
}
type ConstraintInfo
ConstraintInfo is one enumerated geometric constraint from MethodSketchConstraints: its index, kind (oblikovati.org/api/types.GeometricConstraintKind), and the session ids of the entities it relates. Deletable is false for system-owned constraints (the textBox anchor — M06-F11, Oblikovati/Oblikovati#626); sketch.deleteConstraint rejects those. ClientID and Name carry the owning add-in and the record name of a "custom" tag constraint.
type ConstraintInfo struct {
Index int `json:"index"`
Kind string `json:"kind"`
Entities []uint64 `json:"entities"`
Deletable bool `json:"deletable"`
ClientID string `json:"clientId,omitempty"`
Name string `json:"name,omitempty"`
}
type ConstraintLimits
ConstraintLimits bounds a constraint's driven value (offset/angle). Each bound is optional; an absent bound (its Has* flag false) does not clamp. Resting is the value a drive returns to when released.
type ConstraintLimits struct {
HasMin bool `json:"hasMin,omitempty"`
Min float64 `json:"min,omitempty"`
HasMax bool `json:"hasMax,omitempty"`
Max float64 `json:"max,omitempty"`
HasResting bool `json:"hasResting,omitempty"`
Resting float64 `json:"resting,omitempty"`
}
type ConstraintResult
ConstraintResult is the reply of the single-constraint add operations: the new constraint's info (after the assembly re-solves).
type ConstraintResult struct {
Constraint AssemblyConstraintInfo `json:"constraint"`
}
type ConstraintStatusResult
ConstraintStatusResult is the response of MethodSketchConstraintStatus: the sketch's constraint state without moving geometry (a non-mutating DOF analysis). Status is a oblikovati.org/api/types.ConstraintStatus; DOF is the remaining free degrees of freedom; Variables/Equations are the system size; Redundant counts the dependent constraints (> 0 ⇒ over-constrained).
type ConstraintStatusResult struct {
Status string `json:"status"`
DOF int `json:"dof"`
Variables int `json:"variables"`
Equations int `json:"equations"`
Redundant int `json:"redundant"`
}
type ConstraintsResult
ConstraintsResult is the reply of MethodAssemblyConstraintsList: the active assembly's constraint set in creation order.
type ConstraintsResult struct {
Constraints []AssemblyConstraintInfo `json:"constraints"`
}
type ContactMemberArgs
ContactMemberArgs adds or removes an occurrence to/from a contact set.
type ContactMemberArgs struct {
Set uint64 `json:"set"`
Occurrence uint64 `json:"occurrence"`
}
type ContactSetInfo
ContactSetInfo is one contact set: its id, name, and member occurrence ids.
type ContactSetInfo struct {
ID uint64 `json:"id"`
Name string `json:"name"`
Members []uint64 `json:"members,omitempty"`
}
type ContactSetRef
ContactSetRef names a contact set by id (the request of delete).
type ContactSetRef struct {
ID uint64 `json:"id"`
}
type ContactSetResult
Result envelopes.
type ContactSetResult struct {
ContactSet ContactSetInfo `json:"contactSet"`
}
type ContactSetsResult
Result envelopes.
type ContactSetsResult struct {
ContactSets []ContactSetInfo `json:"contactSets"`
}
type ContactSolverEnableArgs
ContactSolverEnableArgs enables or disables the contact solver.
type ContactSolverEnableArgs struct {
Enabled bool `json:"enabled"`
}
type ContactSolverInfo
ContactSolverInfo is the contact solver's state: whether it is enabled and how many sets it governs.
type ContactSolverInfo struct {
Enabled bool `json:"enabled"`
SetCount int `json:"setCount,omitempty"`
}
type ContactSolverResult
Result envelopes.
type ContactSolverResult struct {
Solver ContactSolverInfo `json:"solver"`
}
type ContextMenuItemSpec
ContextMenuItemSpec is one injected context-menu entry: the label shown and the command it runs.
type ContextMenuItemSpec struct {
Label string `json:"label"`
CommandID string `json:"commandId"`
}
type ConvertUnitsArgs
ConvertUnitsArgs is the request of MethodUnitsConvert: a numeric value to convert From one unit name To another (both must name the same category).
type ConvertUnitsArgs struct {
Value float64 `json:"value"`
From string `json:"from"`
To string `json:"to"`
}
type ConvertUnitsResult
ConvertUnitsResult is the converted value (response of MethodUnitsConvert).
type ConvertUnitsResult struct {
Value float64 `json:"value"`
}
type ConvexityEdgesArgs
ConvexityEdgesArgs is the request of MethodBodyConvexityEdges; Collection is an oblikovati.org/api/types.EdgeCollectionKind wire spelling.
type ConvexityEdgesArgs struct {
BodyIndex int `json:"bodyIndex"`
Collection string `json:"collection"`
}
type ConvexityEdgesResult
ConvexityEdgesResult is the response of MethodBodyConvexityEdges.
type ConvexityEdgesResult struct {
Edges []TopologyRef `json:"edges,omitempty"`
}
type CopyComponentsArgs
CopyComponentsArgs is the request of MethodAssemblyCopy: add an independent copy of each Source occurrence (by session id) — same component and placement, a new instance.
type CopyComponentsArgs struct {
Sources []uint64 `json:"sources"`
}
type CopySketchArgs
CopySketchArgs is the request of MethodSketchCopyTo. SourceIndex/TargetIndex are the sketches' indices. EntityIDs selects the source entities to copy (from sketch.entities); empty copies the whole sketch's contents. Position (target-plane [x, y] in cm) offsets the copies; absent (nil) copies in place.
type CopySketchArgs struct {
SourceIndex int `json:"sourceIndex"`
TargetIndex int `json:"targetIndex"`
EntityIDs []uint64 `json:"entityIds,omitempty"`
Position []float64 `json:"position,omitempty"`
}
type CopySketchResult
CopySketchResult is the response of MethodSketchCopyTo: the session ids of the entities created in the target sketch, and their count. The geometric constraints and dimensions whose operands lie entirely within the copied set are carried over too — remapped onto the clones — while relations that reference geometry outside the set are dropped (Oblikovati/Oblikovati#1083). A copied driving dimension mints a fresh parameter in the target.
type CopySketchResult struct {
Created []uint64 `json:"created"`
Count int `json:"count"`
}
type CreaseFreeformEdgesArgs
CreaseFreeformEdgesArgs is the request of MethodFreeformCreaseEdges: set the crease sharpness on the selected cage edges, each addressed by its two cage vertex indices. Sharpness runs 0 (smooth) to 1 (fully sharp).
type CreaseFreeformEdgesArgs struct {
ID uint64 `json:"id"`
Edges [][2]int `json:"edges"`
Sharpness float64 `json:"sharpness"`
}
type CreateBlockDefinitionArgs
CreateBlockDefinitionArgs is the request of MethodSketchBlockDefinitionCreate. Name must be unique among the part's block definitions. When SourceSketchIndex and EntityRefs are set, the definition is created from that selection: the referenced entities (with their defining points) move out of the sketch into the definition and one instance replaces them in place (the interactive "create block from selection"). Without them, an empty definition is created to be populated by later edits.
type CreateBlockDefinitionArgs struct {
Name string `json:"name"`
SourceSketchIndex int `json:"sourceSketchIndex,omitempty"`
EntityRefs []uint64 `json:"entityRefs,omitempty"`
}
type CreateCommandArgs
CreateCommandArgs is the request of MethodCommandsCreate: an add-in registering a ribbon button. The host creates a command with this metadata that appears in the ribbon; clicking it runs no host logic but fires a command-ended event the add-in receives via its Notify entry point and acts on. ID and DisplayName are required; the rest place and style the button.
Ribbon picks which document ribbon the button lands on (empty ⇒ the Part ribbon); Environment scopes it to a context (empty/base ⇒ always shown; sketch ⇒ the contextual Sketch tab). Together with Tab/Category this places a button on a named panel of a named tab of a chosen ribbon (e.g. the Draw panel of the Sketch tab of the Part ribbon). Kind picks the control's behavior (default a one-shot button). A PopupControl names other registered commands in Items: the button opens a menu of them and each item runs its own command — the CommandBarPopUp equivalent (M05-F03, #247).
type CreateCommandArgs struct {
ID string `json:"id"`
DisplayName string `json:"displayName"`
Ribbon types.RibbonKey `json:"ribbon,omitempty"`
Tab string `json:"tab,omitempty"`
Category string `json:"category,omitempty"`
Environment types.Environment `json:"environment,omitempty"`
Alias string `json:"alias,omitempty"`
Tooltip string `json:"tooltip,omitempty"`
// The progressive tooltip (M05-F09): title heads the hover tip; the expanded
// text appears after a longer hover.
TooltipTitle string `json:"tooltipTitle,omitempty"`
TooltipExpanded string `json:"tooltipExpanded,omitempty"`
Icon string `json:"icon,omitempty"`
// IconSVG lets an add-in ship its own button glyph as inline SVG markup instead of
// referencing a host-bundled Icon key — so an add-in is not limited to the icons the
// host happens to embed. When set it takes precedence over Icon. The markup should
// follow the host's glyph conventions: a square (24×24) viewBox and the theme's sentinel
// paints (the outline, a fill role, and an accent role), which the host recolours per
// theme. Oversized markup is rejected by the host. (Oblikovati#671)
IconSVG string `json:"iconSvg,omitempty"`
ButtonStyle types.ButtonStyle `json:"buttonStyle,omitempty"`
Kind types.ControlKind `json:"kind,omitempty"`
Items []string `json:"items,omitempty"`
}
type CreateContactSetArgs
CreateContactSetArgs creates a new contact set named Name.
type CreateContactSetArgs struct {
Name string `json:"name"`
}
type CreateDocumentArgs
CreateDocumentArgs is the request of MethodDocumentsCreate: the kind (part|assembly|drawing|presentation) and the document name. SubType, when set, stamps the new document with a REGISTERED flavored subtype (documents.registerSubType) whose base type must match Type (M05-F15).
type CreateDocumentArgs struct {
Type string `json:"type"`
Name string `json:"name"`
SubType string `json:"subType,omitempty"`
}
type CreateHighlightSetArgs
CreateHighlightSetArgs is the request of MethodModelHighlightSetCreate: a unique Name and a "#rrggbb" Color. The set starts empty; add references with MethodModelHighlightSetAddItems.
type CreateHighlightSetArgs struct {
Name string `json:"name"`
Color string `json:"color"`
}
type CreateModelStateArgs
CreateModelStateArgs creates a model state selecting one representation of each family by name (an empty family name leaves that family unchanged on activate).
type CreateModelStateArgs struct {
Name string `json:"name"`
DesignView string `json:"designView,omitempty"`
Positional string `json:"positional,omitempty"`
LevelOfDetail string `json:"levelOfDetail,omitempty"`
}
type CreatePatternArgs
CreatePatternArgs is the request of MethodAssemblyPatternCreate: replicate the Seed occurrence (by session id) across an arrangement, adding one occurrence per generated element beyond the seed. Kind selects the arrangement and the fields it reads:
- "circular": Origin, Axis, Angle (radians between adjacent elements), Count (total, including the seed);
- "rectangular": Direction1/Spacing1/Count1 and Direction2/Spacing2/Count2 (a Count1×Count2 grid; the seed is element 0,0).
type CreatePatternArgs struct {
Seed uint64 `json:"seed"`
Kind string `json:"kind"`
// Circular arrangement.
Origin [3]float64 `json:"origin,omitempty"`
Axis [3]float64 `json:"axis,omitempty"`
Angle float64 `json:"angle,omitempty"`
Count int `json:"count,omitempty"`
// Rectangular arrangement.
Direction1 [3]float64 `json:"direction1,omitempty"`
Spacing1 float64 `json:"spacing1,omitempty"`
Count1 int `json:"count1,omitempty"`
Direction2 [3]float64 `json:"direction2,omitempty"`
Spacing2 float64 `json:"spacing2,omitempty"`
Count2 int `json:"count2,omitempty"`
}
type CreatePrimitiveArgs
CreatePrimitiveArgs is the request of MethodBrepCreatePrimitive. Kind selects the shape and which fields apply:
- "block": Min, Max (opposite box corners);
- "cylinderCone": Bottom, Top (section centers), BottomRadius, TopRadius (equal = cylinder, one zero = full cone);
- "sphere": Center, Radius;
- "torus": Center, Axis, MajorRadius, MinorRadius.
type CreatePrimitiveArgs struct {
Kind string `json:"kind"`
Min []float64 `json:"min,omitempty"`
Max []float64 `json:"max,omitempty"`
Bottom []float64 `json:"bottom,omitempty"`
Top []float64 `json:"top,omitempty"`
BottomRadius float64 `json:"bottomRadius,omitempty"`
TopRadius float64 `json:"topRadius,omitempty"`
Center []float64 `json:"center,omitempty"`
Axis []float64 `json:"axis,omitempty"`
Radius float64 `json:"radius,omitempty"`
MajorRadius float64 `json:"majorRadius,omitempty"`
MinorRadius float64 `json:"minorRadius,omitempty"`
}
type CreateSketch3DArgs
CreateSketch3DArgs is the request of MethodSketch3DCreate: an optional name for the new (empty) 3D sketch. A 3D sketch has no host plane — its geometry lives directly in model space.
type CreateSketch3DArgs struct {
Name string `json:"name,omitempty"`
}
type CreateSketch3DResult
CreateSketch3DResult is the response of MethodSketch3DCreate: the new sketch's index.
type CreateSketch3DResult struct {
SketchIndex int `json:"sketchIndex"`
}
type CreateSketchArgs
CreateSketchArgs is the request of MethodSketchCreate: where to start the new sketch. By default it is an origin plane (Plane: XY | XZ | YZ; empty defaults to XY). Set WorkPlaneIndex to sketch on a user work plane instead (its index in list_work_planes) — the way to sketch on a plane built on a feature-created face, so later features reference earlier geometry. WorkPlaneIndex, when set, takes precedence over Plane.
type CreateSketchArgs struct {
Plane string `json:"plane,omitempty"`
WorkPlaneIndex *int `json:"workPlaneIndex,omitempty"`
}
type CreateSketchResult
CreateSketchResult is the response of MethodSketchCreate: the new sketch's index (for sketch.rectangle / features.add) and the normalized plane label.
type CreateSketchResult struct {
SketchIndex int `json:"sketchIndex"`
Plane string `json:"plane"`
}
type CreateWorkPlaneArgs
CreateWorkPlaneArgs is the request of MethodWorkPlanesCreate: which constructor (Kind, a oblikovati.org/api/types.WorkPlaneKind value) and its inputs.
- Refs are work-feature references the plane is built on — origin constants (types.WorkRefXYPlane …), refs returned by MethodWorkPlanesList, or a face reference for the tangent kinds. Each kind expects a fixed count/order (e.g. "plane-offset" wants one plane ref; "three-points" wants three point refs).
- Offset and Angle are unit-bearing expressions ("10 mm", "45 deg") for the offset and line-plane-angle kinds.
- Origin, XAxis, YAxis give the AddFixed frame: the origin point [x,y,z] (model units) and two in-plane axis direction components.
type CreateWorkPlaneArgs struct {
Kind string `json:"kind"`
Refs []string `json:"refs,omitempty"`
Offset string `json:"offset,omitempty"`
Angle string `json:"angle,omitempty"`
Origin []float64 `json:"origin,omitempty"`
XAxis []float64 `json:"xaxis,omitempty"`
YAxis []float64 `json:"yaxis,omitempty"`
}
type CreateWorkPlaneResult
CreateWorkPlaneResult is the response of MethodWorkPlanesCreate: the new plane's index in the work-planes collection, its stable reference (for building further datums), its name, and whether it resolved (an unsatisfiable definition reports healthy=false rather than failing the call).
type CreateWorkPlaneResult struct {
Index int `json:"index"`
Ref string `json:"ref"`
Name string `json:"name"`
Healthy bool `json:"healthy"`
}
type CreateWorkPointArgs
CreateWorkPointArgs is the request of MethodWorkPointsCreate: a datum point fixed at a position. At is the point [x, y, z] in model units.
type CreateWorkPointArgs struct {
At []float64 `json:"at"`
}
type CreateWorkPointResult
CreateWorkPointResult is the response of MethodWorkPointsCreate: the new point's index in the work-points collection, its stable reference (usable as a point input to a work plane — e.g. a three-point plane — or to MethodWorkPlanesRedefine's Repick), and its name.
type CreateWorkPointResult struct {
Index int `json:"index"`
Ref string `json:"ref"`
Name string `json:"name"`
}
type CustomPropertyFormatInfo
CustomPropertyFormatInfo is the JSON shape of how a parameter value is formatted when exposed as a custom document property. PropertyType and Precision carry the wire spellings of types.CustomPropertyType and types.CustomPropertyPrecision; Units empty means the document display unit.
type CustomPropertyFormatInfo struct {
PropertyType string `json:"propertyType"`
Units string `json:"units,omitempty"`
Precision string `json:"precision"`
ShowLeadingZeros bool `json:"showLeadingZeros,omitempty"`
ShowTrailingZeros bool `json:"showTrailingZeros,omitempty"`
ShowUnitsString bool `json:"showUnitsString,omitempty"`
}
type DSDOFInfo
DSDOFInfo is one degree of freedom of a DS joint: whether it is translational or rotational, how its motion is imposed (free/driven/locked), and its current value (cm or radians).
type DSDOFInfo struct {
Rotational bool `json:"rotational"`
ImposedMotion string `json:"imposedMotion"`
Value float64 `json:"value,omitempty"`
}
type DSJointInfo
DSJointInfo is one row of the DS-joint set: its id, kind, name, and per-DOF imposed-motion breakdown — the kinematic (degrees-of-freedom) view of a joint that motion/simulation consumers read.
type DSJointInfo struct {
ID uint64 `json:"id"`
Type string `json:"type"`
Name string `json:"name"`
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
DegreesOfFreedom []DSDOFInfo `json:"degreesOfFreedom"`
}
type DSJointResult
DSJointResult is the reply of the single DS-joint operations.
type DSJointResult struct {
Joint DSJointInfo `json:"joint"`
}
type DSJointsResult
DSJointsResult is the reply of MethodDSJointsList: the DS-joint set.
type DSJointsResult struct {
Joints []DSJointInfo `json:"joints"`
}
type DatabaseUnitsResult
DatabaseUnitsResult is the evaluated database-unit value of an expression and the category it resolved to (response of MethodUnitsGetDatabaseUnitsFromExpression).
type DatabaseUnitsResult struct {
Value float64 `json:"value"`
UnitsType string `json:"unitsType"`
}
type DeleteAnnotationArgs
DeleteAnnotationArgs is the request of MethodDrawingAnnotationsDelete.
type DeleteAnnotationArgs struct {
Name string `json:"name"`
}
type DeleteAssemblyConstraintArgs
DeleteAssemblyConstraintArgs is the request of MethodAssemblyConstraintsDelete: remove the constraint with id ID from the active assembly.
type DeleteAssemblyConstraintArgs struct {
ID uint64 `json:"id"`
}
type DeleteAttributeArgs
DeleteAttributeArgs is the request of MethodAttributesDelete: remove the named attribute in the set, or the whole set when Name is empty, on the target (empty = the document itself).
type DeleteAttributeArgs struct {
Document uint64 `json:"document"`
Set string `json:"set"`
Name string `json:"name,omitempty"`
Target string `json:"target,omitempty"`
}
type DeleteAttributeResult
DeleteAttributeResult is the response of MethodAttributesDelete: how many attributes were removed (0 when nothing matched).
type DeleteAttributeResult struct {
Removed int `json:"removed"`
}
type DeleteBlockDefinitionArgs
DeleteBlockDefinitionArgs is the request of MethodSketchBlockDefinitionDelete. A definition that still has instances cannot be deleted; the error names the block and the sketches consuming it.
type DeleteBlockDefinitionArgs struct {
Name string `json:"name"`
}
type DeleteBrowserPaneArgs
DeleteBrowserPaneArgs is the request of MethodBrowserDeletePane.
type DeleteBrowserPaneArgs struct {
ID string `json:"id"`
}
type DeleteCenterlineArgs
DeleteCenterlineArgs removes the cosmetic centerline at Index.
type DeleteCenterlineArgs struct {
Index int `json:"index"`
}
type DeleteClientGraphicsArgs
DeleteClientGraphicsArgs is the request of MethodClientGraphicsDelete.
type DeleteClientGraphicsArgs struct {
ClientId string `json:"clientId"`
}
type DeleteConstraintArgs
DeleteConstraintArgs is the request of MethodSketchDeleteConstraint: which sketch and the index of the geometric constraint to remove (as listed by MethodSketchConstraints).
type DeleteConstraintArgs struct {
SketchIndex int `json:"sketchIndex"`
ConstraintIndex int `json:"constraintIndex"`
}
type DeleteDSJointArgs
DeleteDSJointArgs is the request of MethodDSJointsDelete: remove the DS joint with id ID.
type DeleteDSJointArgs struct {
ID uint64 `json:"id"`
}
type DeleteDimensionArgs
DeleteDimensionArgs is the request of MethodDrawingDimensionsDelete.
type DeleteDimensionArgs struct {
Name string `json:"name"`
}
type DeleteDockableWindowArgs
DeleteDockableWindowArgs is the request of MethodDockableWindowsDelete.
type DeleteDockableWindowArgs struct {
ID string `json:"id"`
}
type DeleteFeatureResult
DeleteFeatureResult is the response of MethodFeaturesDelete.
type DeleteFeatureResult struct {
ID uint64 `json:"id"`
Deleted bool `json:"deleted"`
}
type DeleteJointArgs
DeleteJointArgs is the request of MethodAssemblyJointsDelete: remove the joint with id ID.
type DeleteJointArgs struct {
ID uint64 `json:"id"`
}
type DeleteOrientationArgs
type DeleteOrientationArgs struct {
Name string `json:"name"`
}
type DeletePointCloudCropResult
DeletePointCloudCropResult is the response of MethodPointCloudsDeleteCrop.
type DeletePointCloudCropResult struct {
Crop string `json:"crop"`
Deleted bool `json:"deleted"`
}
type DeletePointCloudResult
DeletePointCloudResult is the response of MethodPointCloudsDelete.
type DeletePointCloudResult struct {
Name string `json:"name"`
Deleted bool `json:"deleted"`
}
type DeleteSketch3DConstraintArgs
DeleteSketch3DConstraintArgs is the request of MethodSketch3DDeleteConstraint: which sketch and which geometric constraint (by index) to remove.
type DeleteSketch3DConstraintArgs struct {
SketchIndex int `json:"sketchIndex"`
ConstraintIndex int `json:"constraintIndex"`
}
type DeleteViewArgs
DeleteViewArgs is the request of MethodDrawingViewsDelete: the view to remove (deleting a base view also removes the views projected from it).
type DeleteViewArgs struct {
Name string `json:"name"`
}
type DeriveBreakLinkArgs
DeriveBreakLinkArgs is the request of MethodAssemblyDeriveBreakLink: freeze and sever the source link of the derived-assembly or shrinkwrap feature with this id (from model.tree), so the part keeps the current geometry without further updates.
type DeriveBreakLinkArgs struct {
ID uint64 `json:"id"`
}
type DeriveCreateArgs
DeriveCreateArgs is the request of MethodAssemblyDeriveCreate: derive the open assembly document Source into the active part as a base body, merging every component (the include-all derive). Source is a document session id from documents.list; it must name an open assembly document.
type DeriveCreateArgs struct {
Source uint64 `json:"source"`
}
type DeriveStatusArgs
DeriveStatusArgs is the request of MethodAssemblyDeriveStatus and MethodAssemblyDeriveUpdate: address a derive-family feature (derived-assembly, derived-part, or shrinkwrap) by its id (from model.tree).
type DeriveStatusArgs struct {
ID uint64 `json:"id"`
}
type DeriveStatusResult
DeriveStatusResult reports whether a derived component is out of date relative to its source document — the reference API's drive state. OutOfDate is true when the source's current recipe revision (CurrentRevision) differs from the one captured when the derive was last created/updated (SavedRevision); it is the basis for the "out of date" badge. Linked is false after a break-link (the source is frozen). SourceDocument is the source's full document name. CurrentRevision is empty when the source is not currently resolvable.
type DeriveStatusResult struct {
OutOfDate bool `json:"outOfDate"`
Linked bool `json:"linked"`
SourceDocument string `json:"sourceDocument"`
SavedRevision string `json:"savedRevision,omitempty"`
CurrentRevision string `json:"currentRevision,omitempty"`
}
type DerivedParameterReference
DerivedParameterReference is one derived parameter's link back to its source — the JSON projection of the reference API's DerivedParameter.ReferencedEntity (#1561): the local derived parameter's name, the document it derives from, and the source parameter's name there.
type DerivedParameterReference struct {
Parameter string `json:"parameter"`
SourceDocument string `json:"sourceDocument"`
SourceParameter string `json:"sourceParameter"`
}
type DerivedParameterTableAddArgs
DerivedParameterTableAddArgs is the request of MethodParametersDerivedTablesAdd: the source document and the source parameter names to link. An empty Linked links nothing yet — the table still records the connection and lists candidates.
type DerivedParameterTableAddArgs struct {
SourceDocument string `json:"sourceDocument"`
Linked []string `json:"linked,omitempty"`
}
type DerivedParameterTableDeleteArgs
DerivedParameterTableDeleteArgs is the request of MethodParametersDerivedTablesDelete. Deleting a table deletes its derived parameters; a table owned by a derived component cannot be deleted directly (delete the component instead).
type DerivedParameterTableDeleteArgs struct {
ID int `json:"id"`
}
type DerivedParameterTableInfo
DerivedParameterTableInfo is the JSON shape of one table: its stable id, the source document (full document name), the linked source-parameter names, the source parameters available to link (the candidates), the table's health — "" when every link resolves, otherwise a reason (e.g. the source document is missing or a linked parameter was removed at the source) — the per-derived-parameter references back to their source (the reference API's DerivedParameter.ReferencedEntity), and the table's provenance.
type DerivedParameterTableInfo struct {
ID int `json:"id"`
SourceDocument string `json:"sourceDocument"`
Linked []string `json:"linked,omitempty"`
Available []string `json:"available,omitempty"`
Health string `json:"health,omitempty"`
// References pairs each produced derived parameter with the source parameter
// it tracks (#1561). One entry per linked-and-produced parameter.
References []DerivedParameterReference `json:"references,omitempty"`
// HasReferenceComponent reports whether this table was created by a derived
// component (the reference API's DerivedParameterTable.HasReferenceComponent).
// Such a table dies with its component and cannot be deleted directly.
HasReferenceComponent bool `json:"hasReferenceComponent,omitempty"`
// ReferenceComponent is the document the owning derived component sources from,
// when HasReferenceComponent; "" otherwise.
ReferenceComponent string `json:"referenceComponent,omitempty"`
}
type DerivedParameterTableSetLinkedArgs
DerivedParameterTableSetLinkedArgs is the request of MethodParametersDerivedTablesSetLinked: it replaces the table's linked subset — newly linked names gain derived parameters, unlinked ones lose theirs.
type DerivedParameterTableSetLinkedArgs struct {
ID int `json:"id"`
Linked []string `json:"linked,omitempty"`
}
type DeselectArgs
DeselectArgs is the request of MethodModelDeselect (#157): remove the named entities from the current selection (references not currently selected are ignored). The reply is the new selection.
type DeselectArgs struct {
Refs []string `json:"refs"`
}
type DesignViewInfo
DesignViewInfo is one design-view representation: its identity, the count of hidden occurrences and appearance overrides, its section planes, and the captured camera (if any).
type DesignViewInfo struct {
RepresentationInfo
HiddenCount int `json:"hiddenCount,omitempty"`
AppearanceCount int `json:"appearanceCount,omitempty"`
SectionPlanes []types.SectionPlane `json:"sectionPlanes,omitempty"`
Camera *CameraView `json:"camera,omitempty"`
}
type DesignViewResult
Result envelopes.
type DesignViewResult struct {
Representation DesignViewInfo `json:"representation"`
}
type DesignViewsResult
Result envelopes.
type DesignViewsResult struct {
Representations []DesignViewInfo `json:"representations"`
}
type Dimension3DInfo
Dimension3DInfo is one enumerated dimensional constraint from MethodSketch3DDimensions: its index, kind (oblikovati.org/api/types.Dimension3DConstraintKind), backing parameter name + expression, current model value (cm/rad), and whether it is driven (reports) rather than driving (constrains).
type Dimension3DInfo struct {
Index int `json:"index"`
Kind string `json:"kind"`
Name string `json:"name"`
Expression string `json:"expression"`
Value float64 `json:"value"`
Driven bool `json:"driven"`
}
type DimensionInfo
DimensionInfo is one enumerated dimensional constraint from MethodSketchDimensions: its index, kind (oblikovati.org/api/types.DimensionConstraintKind), backing parameter name + expression, current model value (cm/rad), and whether it is driven (reports) rather than driving (constrains).
type DimensionInfo struct {
Index int `json:"index"`
Kind string `json:"kind"`
Name string `json:"name"`
Expression string `json:"expression"`
Value float64 `json:"value"`
Driven bool `json:"driven"`
}
type DimensionResult
DimensionResult is the response of MethodDrawingDimensionsAddLinear: the created dimension.
type DimensionResult struct {
Dimension DrawingDimensionInfo `json:"dimension"`
}
type DimensionSetResult
DimensionSetResult is the response of the dimension-set methods: the created dimensions.
type DimensionSetResult struct {
Dimensions []DrawingDimensionInfo `json:"dimensions"`
}
type DimensionStyleInfo
DimensionStyleInfo is the JSON shape of a dimension style.
type DimensionStyleInfo struct {
Name string `json:"name"`
TextHeightMM float64 `json:"textHeightMm"`
ArrowSizeMM float64 `json:"arrowSizeMm"`
DecimalPlaces int `json:"decimalPlaces"`
Unit string `json:"unit"` // types.DimensionUnit spelling ("mm"/"in")
LineWeightMM float64 `json:"lineWeightMm"`
}
type DisplayHelpArgs
DisplayHelpArgs is the request of MethodHelpDisplay: open a topic of a registered source ("" ⇒ the host's own documentation).
type DisplayHelpArgs struct {
Source string `json:"source,omitempty"`
Topic string `json:"topic,omitempty"`
}
type DisplayModeInfo
DisplayModeInfo is one entry of ListDisplayModesResult: a selectable mode, its label, and whether it is the active one — enough to populate a display-mode picker.
type DisplayModeInfo struct {
Mode types.DisplayModeEnum `json:"mode"`
Name string `json:"name"`
Active bool `json:"active"`
}
type DisplayModeOptionsView
DisplayModeOptionsView is the JSON shape of the application-level display options — the response of MethodDisplayGetOptions and the request of MethodDisplaySetOptions.
type DisplayModeOptionsView struct {
DisplayQuality types.DisplayQualityEnum `json:"displayQuality"`
ViewTransitionTime float64 `json:"viewTransitionTime"`
MinimumFrameRate float64 `json:"minimumFrameRate"`
HiddenLineDimmingPercent int `json:"hiddenLineDimmingPercent"`
EdgeColor types.Color `json:"edgeColor"`
NewWindowDisplayMode types.DisplayModeEnum `json:"newWindowDisplayMode"`
NewWindowProjection types.ProjectionTypeEnum `json:"newWindowProjection"`
BackFaceCulling types.BackFaceCullingEnum `json:"backFaceCulling"`
UseRayTracing bool `json:"useRayTracing"`
RayTracingQuality types.RayTracingQualityEnum `json:"rayTracingQuality"`
Shaded ShadedDisplayModeOptionsView `json:"shaded"`
Wireframe WireframeDisplayModeOptionsView `json:"wireframe"`
}
type DisplayModeView
DisplayModeView is the JSON shape of the viewport's current display mode: the enum value and its label. The response of MethodViewGetDisplayMode and MethodViewSetDisplayMode.
type DisplayModeView struct {
Mode types.DisplayModeEnum `json:"mode"`
Name string `json:"name"`
}
type DisplayOptionsView
DisplayOptionsView is the "display" group: the color scheme (the active theme's name — themes themselves are managed by the theme.* methods) and the ViewCube. CubeCorner is the viewport corner the cube anchors to (0=top-right, 1=top-left, 2=bottom-right, 3=bottom-left).
type DisplayOptionsView struct {
ColorScheme string `json:"colorScheme"`
ViewCubeHidden bool `json:"viewCubeHidden,omitempty"`
CompassHidden bool `json:"compassHidden,omitempty"`
LockToSelection bool `json:"lockToSelection,omitempty"`
CubeInactiveOpacity float64 `json:"cubeInactiveOpacity,omitempty"`
CubeSizePx int `json:"cubeSizePx,omitempty"`
CubeCorner int `json:"cubeCorner,omitempty"`
}
type DisplaySettingsView
DisplaySettingsView is the JSON shape of a document's per-document display settings — the response of MethodDocumentGetDisplaySettings and the request of MethodDocumentSetDisplaySettings.
type DisplaySettingsView struct {
BackgroundType types.BackgroundTypeEnum `json:"backgroundType"`
EdgeColor types.Color `json:"edgeColor"`
DepthDimming bool `json:"depthDimming"`
DisplaySilhouettes bool `json:"displaySilhouettes"`
HiddenLineDimmingPercent int `json:"hiddenLineDimmingPercent"`
NewWindowDisplayMode types.DisplayModeEnum `json:"newWindowDisplayMode"`
DisplayModeSource types.DisplayModeSourceTypeEnum `json:"displayModeSource"`
NewWindowProjection types.ProjectionTypeEnum `json:"newWindowProjection"`
GroundPlane GroundPlaneView `json:"groundPlane"`
GroundShadow types.GroundShadowEnum `json:"groundShadow"`
ShadowDirection types.ShadowDirectionEnum `json:"shadowDirection"`
ShowGroundReflections bool `json:"showGroundReflections"`
ShowObjectShadows bool `json:"showObjectShadows"`
ShowAmbientShadows bool `json:"showAmbientShadows"`
TexturesOn bool `json:"texturesOn"`
}
type DockableWindowChangedEvent
DockableWindowChangedEvent is the push event (type EventDockableWindowChanged) fired when a dockable window's visibility changes — whether by the add-in, a host menu toggle, or the user closing the window (the DockableWindowsEvents OnShow/OnHide equivalent).
type DockableWindowChangedEvent struct {
Type string `json:"type"` // always EventDockableWindowChanged
ID string `json:"id"`
Visible bool `json:"visible"`
}
type DockableWindowSpec
DockableWindowSpec is one add-in dockable window (M05-F03, #247): a titled panel the host docks into its layout (or floats), holding declarative content the host renders. Setting it again replaces title/content; Dock is only the initial placement (the user's re-docking wins afterwards).
type DockableWindowSpec struct {
ID string `json:"id"`
Title string `json:"title"`
Dock types.DockingState `json:"dock,omitempty"`
Visible bool `json:"visible"`
Controls []PanelControlSpec `json:"controls,omitempty"`
}
type DocumentFileReferenceInfo
DocumentFileReferenceInfo is one entry of MethodDocumentsListFileReferences: the document-side view of a file reference, bridging to the resolved document when one was found.
type DocumentFileReferenceInfo struct {
DisplayName string `json:"displayName,omitempty"`
FullFileName string `json:"fullFileName"`
Status types.ReferenceStatus `json:"status"`
DocumentFound bool `json:"documentFound"`
DifferentDocument bool `json:"differentDocument,omitempty"`
}
type DocumentInfo
DocumentInfo is the JSON shape of an open document.
type DocumentInfo struct {
ID uint64 `json:"id"`
Name string `json:"name"`
Type string `json:"type"`
SubType string `json:"subType,omitempty"` // add-in flavored subtype id (M05-F15)
Dirty bool `json:"dirty"`
Visible bool `json:"visible"`
Active bool `json:"active"`
}
type DocumentSubTypeInfo
DocumentSubTypeInfo is one entry of MethodDocumentsListSubTypes.
type DocumentSubTypeInfo struct {
ID string `json:"id"`
BaseType string `json:"baseType"`
DisplayName string `json:"displayName,omitempty"`
}
type DocumentUnitsInfo
DocumentUnitsInfo is the document's display-unit preferences and precision (response of MethodDocumentsGetUnits, request body of partial updates via SetDocumentUnitsArgs). Unit fields carry unit-name spellings ("mm", "deg", "kg", "s"); the precisions are decimal places; LengthDisplayFormat is a types.ParameterDisplayFormat spelling ("decimal"/"fractional"/"architectural").
type DocumentUnitsInfo struct {
LengthUnit string `json:"lengthUnit"`
AngleUnit string `json:"angleUnit"`
MassUnit string `json:"massUnit"`
TimeUnit string `json:"timeUnit"`
LengthDisplayPrecision int `json:"lengthDisplayPrecision"`
AngleDisplayPrecision int `json:"angleDisplayPrecision"`
LengthDisplayFormat string `json:"lengthDisplayFormat,omitempty"`
// WorkingScaleCm is the centimetre size of one stored (working) length unit (ADR-0042
// Phase 2). The kernel stores and reports geometry in working units; 1.0 means they are
// centimetres (the default). A document centred on an extreme unit (µm/pm, km) reports a
// different value, so an add-in reading raw geometry quantities multiplies by the
// appropriate power of this to recover centimetres. Omitted (0) means the centimetre default.
WorkingScaleCm float64 `json:"workingScaleCm,omitempty"`
}
type DragContext
DragContext rides every drag event: where the gesture started, the current pointer ray, the modifiers, and any point inference the position snapped to.
type DragContext struct {
Start types.Point `json:"start"`
RayOrigin types.Point `json:"rayOrigin"`
RayDir types.Vector `json:"rayDir"`
Shift bool `json:"shift,omitempty"`
Ctrl bool `json:"ctrl,omitempty"`
Inference types.PointInferenceKind `json:"inference,omitempty"`
}
type DrawingAnnotationInfo
DrawingAnnotationInfo is the JSON shape of one drawing annotation.
type DrawingAnnotationInfo struct {
Name string `json:"name"`
Kind string `json:"kind"` // types.DrawingAnnotationKind ("cog"/"revisionCloud"/"centerMark"/"centerline"/"featureControlFrame"/"datumFeature"/"surfaceTexture"/"partsList"/"balloon"/"holeTable")
ViewName string `json:"viewName,omitempty"` // the view a CoG marker / centre mark is on
Tag string `json:"tag,omitempty"` // a revision cloud's label
CurveCount int `json:"curveCount"`
RowCount int `json:"rowCount,omitempty"` // a parts list's data-row count (BOM items)
}
type DrawingCurveSegment
DrawingCurveSegment is one projected edge segment in sheet millimetres: its endpoints, its visibility (solid vs dashed), and the hex reference key of the source model edge.
type DrawingCurveSegment struct {
AX float64 `json:"ax"`
AY float64 `json:"ay"`
BX float64 `json:"bx"`
BY float64 `json:"by"`
Visible bool `json:"visible"`
Kind string `json:"kind,omitempty"` // types.DrawingCurveKind ("edge" default; section/hatch/break)
EdgeKey string `json:"edgeKey,omitempty"`
}
type DrawingDimensionInfo
DrawingDimensionInfo is the JSON shape of one drawing dimension.
type DrawingDimensionInfo struct {
Name string `json:"name"`
Type string `json:"type"` // types.DrawingDimensionType: aligned|horizontal|vertical|radius|diameter|angular|ordinate|arcLength
ViewName string `json:"viewName"`
ValueMM float64 `json:"valueMm"` // measured model distance (mm), scale-independent; 0 for angular
ValueDeg float64 `json:"valueDeg,omitempty"` // measured angle (degrees) for an angular dimension
Text string `json:"text"` // displayed dimension text
CurveCount int `json:"curveCount"`
}
type DrawingSketchInfo
DrawingSketchInfo flattens a drawing sketch for the wire.
type DrawingSketchInfo struct {
Name string `json:"name"`
EntityCount int `json:"entityCount"`
CurveCount int `json:"curveCount"`
}
type DrawingSketchResult
DrawingSketchResult is the response of the sketch add methods: the affected sketch.
type DrawingSketchResult struct {
Sketch DrawingSketchInfo `json:"sketch"`
}
type DrawingViewInfo
DrawingViewInfo is the JSON shape of one drawing view.
type DrawingViewInfo struct {
Name string `json:"name"`
Type string `json:"type"` // types.DrawingViewType spelling (base/projected/auxiliary/…)
Projected bool `json:"projected"` // true only for an orthographic projected view
BaseView string `json:"baseView,omitempty"` // the parent view (projected/auxiliary/…)
Orientation string `json:"orientation"` // types.BaseViewOrientation spelling
Direction string `json:"direction,omitempty"` // types.ProjectionDirection (projected views)
FoldAngleDeg float64 `json:"foldAngleDeg,omitempty"` // fold-line angle on the parent (auxiliary views)
Scale float64 `json:"scale"`
Style string `json:"style"` // types.DrawingViewStyle spelling
CenterXMM float64 `json:"centerXmm"`
CenterYMM float64 `json:"centerYmm"`
VisibleCount int `json:"visibleCount"`
HiddenCount int `json:"hiddenCount"`
}
type DriveDimensionArgs
DriveDimensionArgs is the request of MethodSketchDriveDimension: which dimension (by collection index) to edit, an optional new value (a unit-bearing expression; empty leaves it), whether to set its driven flag (SetDriven + Driven), and optional limits.
type DriveDimensionArgs struct {
SketchIndex int `json:"sketchIndex"`
DimensionIndex int `json:"dimensionIndex"`
Expression string `json:"expression,omitempty"`
SetDriven bool `json:"setDriven,omitempty"`
Driven bool `json:"driven,omitempty"`
SetLimits bool `json:"setLimits,omitempty"`
Min float64 `json:"min,omitempty"`
Max float64 `json:"max,omitempty"`
}
type DriveFrame
DriveFrame is one step of a drive: the driven value and the occurrence placements the assembly solved to there. Collided marks the frame at which interference was detected.
type DriveFrame struct {
Value float64 `json:"value"`
Placements []DrivePlacement `json:"placements"`
Collided bool `json:"collided,omitempty"`
}
type DriveJointArgs
DriveJointArgs is the request of MethodAssemblyDrivePreview: sweep the joint with the given id through Settings and return the resulting frames.
type DriveJointArgs struct {
Joint uint64 `json:"joint"`
Settings DriveSettingsDTO `json:"settings"`
}
type DrivePlacement
DrivePlacement is one occurrence's resulting transform at a drive frame (row-major, in the assembly's space).
type DrivePlacement struct {
Occurrence uint64 `json:"occurrence"`
Transform types.Matrix `json:"transform"`
}
type DriveResult
DriveResult is the response of a drive preview: the frames in play order, and — when collision detection halted the sweep — the flag and the index of the last (collided) frame.
type DriveResult struct {
Frames []DriveFrame `json:"frames"`
StoppedByCollision bool `json:"stoppedByCollision,omitempty"`
StoppedAtStep int `json:"stoppedAtStep,omitempty"`
}
type DriveSettingsDTO
DriveSettingsDTO describes a sweep: which variable, the value range and (positive) step, repetitions, ping-pong, and the collision-stop flag. Units follow the variable — radians for angular, centimetres for linear.
type DriveSettingsDTO struct {
Variable string `json:"variable,omitempty"` // natural (default) | angular | linear
Start float64 `json:"start"`
End float64 `json:"end"`
Step float64 `json:"step"`
RepetitionCount int `json:"repetitionCount,omitempty"`
RepetitionStartEndStart bool `json:"repetitionStartEndStart,omitempty"`
CollisionDetection bool `json:"collisionDetection,omitempty"`
}
type DriveSketch3DDimensionArgs
DriveSketch3DDimensionArgs is the request of MethodSketch3DDriveDimension: which dimension to edit, an optional new value expression, and an optional driving/driven toggle (SetDriven gates whether Driven is applied).
type DriveSketch3DDimensionArgs struct {
SketchIndex int `json:"sketchIndex"`
DimensionIndex int `json:"dimensionIndex"`
Expression string `json:"expression,omitempty"`
SetDriven bool `json:"setDriven,omitempty"`
Driven bool `json:"driven,omitempty"`
}
type DrivingParametersResult
DrivingParametersResult lists the parameter names an expression references (response of MethodUnitsGetDrivingParameters).
type DrivingParametersResult struct {
Names []string `json:"names"`
}
type DuplicateAssetArgs
DuplicateAssetArgs creates a custom asset by copying an existing one under a new name (MethodAppearancesCreate/MethodMaterialsCreate).
type DuplicateAssetArgs struct {
BaseID string `json:"baseId"`
Name string `json:"name"`
}
type EdgesOfTypeArgs
EdgesOfTypeArgs filters the flat's classified edges to a single type ("bendUp", "bendDown" or "tangent"); an empty Type returns all classified edges.
type EdgesOfTypeArgs struct {
Type string `json:"type,omitempty"`
}
type EdgesResult
EdgesResult is the reply of edgesOfType: the matching classified edges.
type EdgesResult struct {
Edges []FlatEdgeInfo `json:"edges"`
}
type EditAssemblyFeatureArgs
EditAssemblyFeatureArgs is the request of MethodAssemblyFeaturesEdit: set editable scalars of assembly feature ID in place (the assembly-context Edit Feature), mirroring the part EditFeatureArgs. Scalar indices come from AssemblyFeatureInfo.Scalars; values are unit-bearing expressions ("5 mm", "30 deg"). Every edit is validated before any is applied, then the feature program recomputes once.
type EditAssemblyFeatureArgs struct {
ID uint64 `json:"id"`
Scalars []ScalarEdit `json:"scalars"`
}
type EditCommittedEvent
EditCommittedEvent is the JSON shape of an EventEditCommitted push event: a model mutation that was committed on a document, expressed as the very wire request that produced it. The host delivers it to an add-in's Notify entry point (ADR-0016); there is no request/response method and no client call — an add-in matches on Type.
It is the basis for operational replication in a collaboration session (oblikovati-meeting ADR-0004): a remote add-in can replay the edit by dispatching Method with Args through its own client, since the payload is the same frozen contract.
Method is a method-name constant from this package (e.g. MethodParametersSet); Args is that method's request DTO, left raw so the receiver decodes it with the matching type. Document is the affected document's id.
NOTE (v1 scope): only edits that arrive through the host's method router are emitted. Edits performed directly in the host UI are not yet captured — a known gap tracked in oblikovati-meeting ADR-0004.
type EditCommittedEvent struct {
Type string `json:"type"` // always EventEditCommitted
Document uint64 `json:"document"`
Method string `json:"method"`
Args json.RawMessage `json:"args,omitempty"`
}
type EditFeatureArgs
EditFeatureArgs is the request of MethodFeaturesEdit: edit the feature in place — set editable scalars AND/OR re-pick its geometric references. Every edit (scalar parse, slot resolution) is validated before ANY is applied, so a failed batch (bad value, unbindable key, wrong slot kind) leaves the definition untouched; then the part recomputes once. Scalar indices come from FeatureDetail.Scalars; Repick slot indices from FeatureDetail.Slots.
type EditFeatureArgs struct {
ID uint64 `json:"id"`
Scalars []ScalarEdit `json:"scalars,omitempty"`
Repick []FeatureRepick `json:"repick,omitempty"`
}
type EditHelixArgs
EditHelixArgs is the request of MethodSketch3DEditHelix: redefine an existing helical curve in place. Entity is the helix's session id. Mode, Pitch, Height, Revolutions, Taper and Clockwise have the same meaning as in AddSketch3DEntityArgs and replace the constant-shape definition; a non-empty Rows replaces the definition with a variable shape instead. Start/End set the end conditions (nil keeps the current ones). The curve is regenerated and dependents resolve against the new shape.
type EditHelixArgs struct {
SketchIndex int `json:"sketchIndex"`
Entity uint64 `json:"entity"`
Mode string `json:"mode,omitempty"`
Pitch string `json:"pitch,omitempty"`
Height string `json:"height,omitempty"`
Revolutions float64 `json:"revolutions,omitempty"`
Taper string `json:"taper,omitempty"`
Clockwise bool `json:"clockwise,omitempty"`
Rows []HelixShapeRow `json:"rows,omitempty"`
Start *HelixEndCondition `json:"start,omitempty"`
End *HelixEndCondition `json:"end,omitempty"`
}
type EditSketch3DResult
EditSketch3DResult is the response of MethodSketch3DEdit/MethodSketch3DExitEdit: the sketch index and its resulting edit state.
type EditSketch3DResult struct {
SketchIndex int `json:"sketchIndex"`
Editing bool `json:"editing"`
}
type EditSketchResult
EditSketchResult is the response of MethodSketchEdit / MethodSketchExitEdit: the sketch index and its resulting edit state.
type EditSketchResult struct {
SketchIndex int `json:"sketchIndex"`
Editing bool `json:"editing"`
}
type EditTextArgs
EditTextArgs is the request of MethodSketchEditText: edit the existing sketch text entity EntityID in sketch SketchIndex. Only the non-empty/non-nil fields are applied (a partial edit), so an add-in can change just the content or just the font. Height and FontSize are unit-bearing; Justify/VJustify use the AddTextArgs vocabularies.
type EditTextArgs struct {
SketchIndex int `json:"sketchIndex"`
EntityID uint64 `json:"entityId"`
Text *string `json:"text,omitempty"`
Height string `json:"height,omitempty"`
Rotation string `json:"rotation,omitempty"`
Justify string `json:"justify,omitempty"`
VJustify string `json:"vJustify,omitempty"`
Font string `json:"font,omitempty"`
FontSize string `json:"fontSize,omitempty"`
}
type EndMessageSectionArgs
EndMessageSectionArgs is the request of MethodErrorsEndSection.
type EndMessageSectionArgs struct {
Section int `json:"section"`
}
type EndOfFeaturesResult
EndOfFeaturesResult is the reply of MethodAssemblyGetEndOfFeatures: the marker position (-1 at the end) and whether the assembly is currently rolled back.
type EndOfFeaturesResult struct {
Position int `json:"position"`
RolledBack bool `json:"rolledBack"`
}
type EndOfPartResult
EndOfPartResult is the reply of MethodDocumentGetEndOfPart and MethodDocumentSetEndOfPart: the marker position (-1 at the end) and whether the part is currently rolled back.
type EndOfPartResult struct {
Position int `json:"position"`
RolledBack bool `json:"rolledBack"`
}
type EndProgressArgs
EndProgressArgs is the request of MethodProgressEnd.
type EndProgressArgs struct {
ID int `json:"id"`
}
type EnumerateEntities3DResult
EnumerateEntities3DResult is the response of MethodSketch3DEntities.
type EnumerateEntities3DResult struct {
Entities []Sketch3DEntityInfo `json:"entities"`
}
type EnumerateEntitiesResult
EnumerateEntitiesResult is the response of MethodSketchEntities.
type EnumerateEntitiesResult struct {
Entities []SketchEntityInfo `json:"entities"`
}
type EnumeratorPage
EnumeratorPage is the canonical paged-result envelope for query methods that enumerate large sets: embed it next to the items slice in the result DTO. NextCursor is the opaque position to pass back to fetch the following page; Done reports that no further pages exist. (logs.tail predates this envelope and keeps its frozen NextSeq spelling.)
type EnumeratorPage struct {
NextCursor uint64 `json:"nextCursor,omitempty"`
Done bool `json:"done,omitempty"`
}
type EnvironmentChangedEvent
EnvironmentChangedEvent is the push event (type EventEnvironmentChanged) fired when the UI environment switches (base ↔ sketch) — the OnEnvironmentChange equivalent, so add-ins re-aim their contextual UI.
type EnvironmentChangedEvent struct {
Type string `json:"type"` // always EventEnvironmentChanged
Environment types.Environment `json:"environment"`
}
type EnvironmentInfo
EnvironmentInfo is one entry of MethodUIListEnvironments: a UI environment the command framework scopes by (base = always shown; others are contextual tab sets), flagging the active one. Add-in-created environments are tracked by Oblikovati/Oblikovati#667.
type EnvironmentInfo struct {
Environment types.Environment `json:"environment"`
Name string `json:"name"`
Active bool `json:"active"`
}
type EnvironmentPresetInfo
EnvironmentPresetInfo is one entry of EnvironmentPresetListResult: a selectable built-in environment and whether it is the active one.
type EnvironmentPresetInfo struct {
Name string `json:"name"`
Active bool `json:"active"`
}
type EnvironmentPresetListResult
EnvironmentPresetListResult is the response of MethodEnvironmentListPresets.
type EnvironmentPresetListResult struct {
Presets []EnvironmentPresetInfo `json:"presets"`
}
type EnvironmentView
EnvironmentView is the JSON shape of the active IBL environment — the response of MethodEnvironmentGet / MethodEnvironmentSet / MethodEnvironmentLoadImage. Preset is the built-in name (empty when a file is loaded); FilePath is the loaded HDR (empty for a preset). Rotation is radians about vertical; Intensity scales the IBL; ShowImage draws the sky as the background.
type EnvironmentView struct {
Preset string `json:"preset"`
FilePath string `json:"filePath"`
Rotation float64 `json:"rotation"`
Intensity float64 `json:"intensity"`
ShowImage bool `json:"showImage"`
}
type ExecuteCommandArgs
ExecuteCommandArgs is the request of MethodCommandsExecute: the id of the command to run.
type ExecuteCommandArgs struct {
ID string `json:"id"`
}
type ExportDXFArgs
ExportDXFArgs is the request of MethodExportDXF: the host-side path to write and the DXF version to target. The active 2D sketch is exported. Version is a types.DXFVersion string ("r2000" or "r2018"); empty defaults to r2000.
type ExportDXFArgs struct {
Path string `json:"path"`
Version string `json:"version,omitempty"`
}
type ExportDXFResult
ExportDXFResult is the response of MethodExportDXF: how many sketch curves were written.
type ExportDXFResult struct {
EntityCount int `json:"entityCount"`
}
type ExportDrawingDXFArgs
ExportDrawingDXFArgs is the request of MethodDrawingExportDXF: write the active sheet to the DXF file at Path. Version is a types.DXFVersion spelling ("r2000"/"r2018"; "" ⇒ r2000).
type ExportDrawingDXFArgs struct {
Path string `json:"path"`
Version string `json:"version,omitempty"`
}
type ExportDrawingDXFResult
ExportDrawingDXFResult is the response of MethodDrawingExportDXF: the file written and the number of DXF entities (view edges, border and title-block lines/text) in it.
type ExportDrawingDXFResult struct {
Path string `json:"path"`
Entities int `json:"entities"`
}
type ExportRequest
ExportRequest is the request of MethodDocumentsExport: write the active part's bodies to Path in Format at the given tessellation Resolution (an oblikovati.org/api/types.MeshResolution string; "" ⇒ medium).
type ExportRequest struct {
Path string `json:"path"`
Format string `json:"format"`
Resolution string `json:"resolution,omitempty"`
}
type ExportResponse
ExportResponse is the reply of MethodDocumentsExport: the total triangle count written and any non-fatal warnings.
type ExportResponse struct {
TriangleCount int `json:"triangleCount"`
Warnings []string `json:"warnings,omitempty"`
}
type ExpressionArgs
ExpressionArgs is the request of the expression methods that auto-detect the unit: MethodUnitsGetDatabaseUnitsFromExpression, MethodUnitsGetLocaleCorrectedExpression, and MethodUnitsGetDrivingParameters.
type ExpressionArgs struct {
Expression string `json:"expression"`
}
type ExpressionListInfo
ExpressionListInfo is the JSON shape of a parameter's multi-value choices. An absent/empty Expressions means the parameter is single-valued.
type ExpressionListInfo struct {
Expressions []string `json:"expressions,omitempty"`
AllowCustomValues bool `json:"allowCustomValues,omitempty"`
CustomOrder bool `json:"customOrder,omitempty"`
}
type ExpressionValidResult
ExpressionValidResult reports whether an expression is valid for the target category, with the parse/dimension error when not (response of MethodUnitsIsExpressionValid).
type ExpressionValidResult struct {
Valid bool `json:"valid"`
Error string `json:"error,omitempty"`
}
type ExpressionWithTypeArgs
ExpressionWithTypeArgs is the request of the expression methods that need a target category: MethodUnitsGetValueFromExpression, MethodUnitsIsExpressionValid, and MethodUnitsCompatibleUnits. UnitsType is a types.UnitsType spelling.
type ExpressionWithTypeArgs struct {
Expression string `json:"expression"`
UnitsType string `json:"unitsType"`
}
type FaceEvaluateArgs
FaceEvaluateArgs is the request of MethodBodyFaceEvaluate: a batched evaluation of one face's surface, addressed by reference key. Inputs is a flat array — (u, v) parameter pairs for the parametric modes, or (x, y, z) point triples (database units, cm) for closestPoint. Batching matters: callers that sample a surface densely (surface-following toolpaths, drop-cutter projection) issue one request, not one per point.
type FaceEvaluateArgs struct {
BodyIndex int `json:"bodyIndex"`
FaceKey string `json:"faceKey"`
Mode string `json:"mode"`
Inputs []float64 `json:"inputs,omitempty"`
}
type FaceEvaluateResult
FaceEvaluateResult is the response of MethodBodyFaceEvaluate. Only the arrays relevant to the requested mode are populated; each is flat and parallel to the inputs (xyz triples for points/normals/tangents, uv pairs for UVs). ParamRange is always returned as [uMin, vMin, uMax, vMax] (infinite surface domains are clamped to a finite window). Points and tangents are in database units (cm); normals are unit vectors.
type FaceEvaluateResult struct {
Points []float64 `json:"points,omitempty"`
Normals []float64 `json:"normals,omitempty"`
UTangents []float64 `json:"uTangents,omitempty"`
VTangents []float64 `json:"vTangents,omitempty"`
UVs []float64 `json:"uvs,omitempty"`
ParamRange []float64 `json:"paramRange"`
}
type FaceFacetsArgs
FaceFacetsArgs is the request of MethodFaceCalculateFacets and MethodFaceCalculateStrokes: one face addressed by its reference key.
type FaceFacetsArgs struct {
BodyIndex int `json:"bodyIndex"`
FaceKey string `json:"faceKey"`
Tolerance float64 `json:"tolerance"`
}
type FaceShellInfo
FaceShellInfo is one shell in MethodBodyShells's result.
type FaceShellInfo struct {
Index int `json:"index"`
// Closed: the shell bounds a region; Void: it is an inner cavity skin.
Closed bool `json:"closed"`
Void bool `json:"void,omitempty"`
Faces int `json:"faces"`
Edges int `json:"edges"`
// Volume is the magnitude of the bounded region's volume in cm³.
Volume float64 `json:"volume"`
// RangeBox is [minX, minY, minZ, maxX, maxY, maxZ].
RangeBox []float64 `json:"rangeBox,omitempty"`
// Key is the persistent reference key; TransientKey the session id.
Key string `json:"key"`
TransientKey uint64 `json:"transientKey"`
}
type FacesResult
FacesResult is the reply of faces: the developed flat's classified faces (front and back).
type FacesResult struct {
Faces []FlatFaceInfo `json:"faces"`
}
type FacetSetResult
FacetSetResult is the facet payload: triangle mesh plus the per-face triangle-index counts (in body face order; one entry for a face-level set).
type FacetSetResult struct {
VertexCount int `json:"vertexCount"`
FacetCount int `json:"facetCount"`
VertexCoordinates []float64 `json:"vertexCoordinates,omitempty"`
NormalVectors []float64 `json:"normalVectors,omitempty"`
VertexIndices []int `json:"vertexIndices,omitempty"`
TextureCoordinates []float64 `json:"textureCoordinates,omitempty"`
IndexCountPerFace []int `json:"indexCountPerFace,omitempty"`
}
type FacetTolerancesResult
FacetTolerancesResult is the response of MethodBodyFacetTolerances and MethodBodyStrokeTolerances: the tolerances cached sets exist at, ascending.
type FacetTolerancesResult struct {
Tolerances []float64 `json:"tolerances,omitempty"`
}
type FeatureDetail
FeatureDetail is one placed feature with its history position and the editable inputs MethodFeaturesEdit accepts: scalar fields (FeatureScalar) and re-pickable geometry slots (FeatureSlot). Both are empty for features whose definition exposes nothing of that kind (e.g. a cosmetic feature has neither).
type FeatureDetail struct {
FeatureInfo
Index int `json:"index"`
Scalars []FeatureScalar `json:"scalars,omitempty"`
Slots []FeatureSlot `json:"slots,omitempty"`
}
type FeatureDetailResult
FeatureDetailResult is the response of MethodFeaturesGet, MethodFeaturesEdit, MethodFeaturesRename, MethodFeaturesSetSuppressed, and MethodFeaturesReorder: the feature's refreshed state after the call (post-recompute health included).
type FeatureDetailResult struct {
Feature FeatureDetail `json:"feature"`
}
type FeatureError
FeatureError is one feature that failed to evaluate during an update/rebuild: its stable id (from model.tree), display name, kind, and the reason it is sick.
type FeatureError struct {
ID uint64 `json:"id"`
Name string `json:"name"`
Kind string `json:"kind"`
Message string `json:"message,omitempty"`
}
type FeatureHealth
FeatureHealth is one feature's health on the wire: its Name, Status ("ok"/"warning"/"sick"/ "suppressed", matching oblikovati.org/api/types.HealthStatus) and a Reason when not OK.
type FeatureHealth struct {
Name string `json:"name"`
Status string `json:"status"`
Reason string `json:"reason,omitempty"`
}
type FeatureInfo
FeatureInfo is the JSON shape of one feature in the model tree. Health is empty when the feature is healthy.
type FeatureInfo struct {
ID uint64 `json:"id"`
Name string `json:"name"`
Kind string `json:"kind"`
Suppressed bool `json:"suppressed"`
Health string `json:"health,omitempty"`
}
type FeatureKindInfo
FeatureKindInfo is the self-describing entry for one feature operation: its name, summary, and JSON Schema for arguments — enough for a client (or an LLM) to call MethodFeaturesAdd.
type FeatureKindInfo struct {
Kind string `json:"kind"`
Summary string `json:"summary"`
Schema json.RawMessage `json:"schema"`
}
type FeatureLifecycleEvent
FeatureLifecycleEvent is the JSON shape of the EventFeatureAdded / EventFeatureEdited / EventFeatureDeleted push events (#148): a feature was created, modified, or removed on a document. Delivered to an add-in's Notify entry point (ADR-0016) with no request/response — an add-in matches on Type and reads the affected feature's identity from the payload (so it need not diff model.tree). Kind is the feature's operation kind (e.g. "extrude", "circular- pattern"); Name is its tree name. The Feature id is stable across rename/reorder.
Fires for both UI-driven and add-in-driven feature creation, editing, and deletion — the host emits at its session-level feature seams, so an interactive extrude and a features.add call alike reach the add-in (Oblikovati/Oblikovati#1085, lifting #148's router-only v1 scope). The batched ModelChangedEvent remains the coarse signal that also covers other model paths.
type FeatureLifecycleEvent struct {
Type string `json:"type"` // EventFeatureAdded, EventFeatureEdited, or EventFeatureDeleted
Document uint64 `json:"document"`
Feature uint64 `json:"feature"`
Name string `json:"name,omitempty"`
Kind string `json:"kind,omitempty"`
}
type FeatureRefArgs
FeatureRefArgs is the request of MethodFeaturesGet and MethodFeaturesDelete: one placed feature, addressed by the stable id from FeatureInfo (model.tree). The id survives rename and reorder; an index does not, so the wire never uses one to address a feature.
type FeatureRefArgs struct {
ID uint64 `json:"id"`
}
type FeatureRepick
FeatureRepick re-points one geometric Slot (a FeatureSlot index) of a placed feature. The fields read by the slot's Kind:
- edges/faces/face: Ref is a topology reference key from MethodModelReferenceKeys.
- profile: SketchIndex + ProfileIndex name a sketch region (from model.tree / sketch.profiles).
- plane: Ref is a planar-face key, a work-plane ref ("plane/N"), or an origin plane ("origin/plane/xy").
Clear empties a clearable multi-slot (edges/faces) and ignores the other fields.
type FeatureRepick struct {
Slot int `json:"slot"`
Ref string `json:"ref,omitempty"`
SketchIndex int `json:"sketchIndex,omitempty"`
ProfileIndex int `json:"profileIndex,omitempty"`
Clear bool `json:"clear,omitempty"`
}
type FeatureScalar
FeatureScalar describes one editable scalar of a placed feature — a distance, radius, angle, or pattern count — mirroring WorkPlaneScalar: its slot Index, Label, the Unit its value is shown in ("mm", "deg", …), and the current Value in that unit. Integer marks a whole-number input (a pattern count). An edit sets it via ScalarEdit keyed on Index.
type FeatureScalar struct {
Index int `json:"index"`
Label string `json:"label"`
Unit string `json:"unit,omitempty"`
Value float64 `json:"value"`
Integer bool `json:"integer,omitempty"`
}
type FeatureSlot
FeatureSlot describes one re-pickable geometric input of a placed feature — the edges of a fillet, the removed faces of a shell, a hole's face, an extrude's profile, a mirror's plane. Index addresses it in a FeatureRepick; Kind ("edges"|"faces"|"face"| "profile"|"plane") says what reference it accepts; Multi marks a slot that accumulates several references (edges/faces) and can be cleared; Count is how many it currently holds.
type FeatureSlot struct {
Index int `json:"index"`
Label string `json:"label"`
Kind string `json:"kind"`
Multi bool `json:"multi,omitempty"`
Count int `json:"count"`
}
type FileDialogChosenEvent
FileDialogChosenEvent is the push event (type EventFileDialogChosen) that delivers the user's choice; Cancelled true means they dismissed the dialog.
type FileDialogChosenEvent struct {
Type string `json:"type"` // always EventFileDialogChosen
ID string `json:"id"`
Paths []string `json:"paths,omitempty"`
Cancelled bool `json:"cancelled,omitempty"`
}
type FileDialogHookPayload
FileDialogHookPayload is the JSON shape of the file-UI hook events (EventFileNew, EventFileNewDialog, EventFileOpenDialog, EventFileSaveAsDialog, EventFileOpenFromMRU, EventFilePopulateMetadata). Only the fields relevant to the hook are set: DocumentType for a new document, TemplateFile/FileName for the dialog flows (the path a subscriber pre-seeded, or the one the user chose), SaveCopyAs for the save-as variant, Metadata for the populate-metadata collection.
type FileDialogHookPayload struct {
Type string `json:"type"`
DocumentType types.DocumentType `json:"documentType,omitempty"`
TemplateFile string `json:"templateFile,omitempty"`
FileName string `json:"fileName,omitempty"`
SaveCopyAs bool `json:"saveCopyAs,omitempty"`
Metadata []FileMetadataEntry `json:"metadata,omitempty"`
}
type FileDirtyEventPayload
FileDirtyEventPayload is the JSON shape of EventFileDirty: a document gained unsaved changes (the clean→dirty transition; further edits while already dirty do not re-fire).
type FileDirtyEventPayload struct {
Type string `json:"type"` // always EventFileDirty
Document uint64 `json:"document"`
FullDocumentName string `json:"fullDocumentName"`
}
type FileInfo
FileInfo is the response of MethodFilesGet: one file's identity and load state. InternalName is the stable GUID minted at creation; RevisionID stamps the file's content as of its last save, DatabaseRevisionID stamps only the model (geometry/reference) content, so an unchanged model keeps its database revision across property-only saves.
type FileInfo struct {
FullFileName string `json:"fullFileName"`
InternalName string `json:"internalName"`
RevisionID string `json:"revisionId"`
DatabaseRevisionID string `json:"databaseRevisionId"`
SaveCounter int `json:"saveCounter"`
VersionCreated string `json:"versionCreated,omitempty"`
VersionSaved string `json:"versionSaved,omitempty"`
Loaded bool `json:"loaded"`
Referenced bool `json:"referenced"`
Documents []uint64 `json:"documents,omitempty"`
}
type FileMetadataEntry
FileMetadataEntry is one name/value pair collected by the EventFilePopulateMetadata hook (file properties gathered around a save).
type FileMetadataEntry struct {
Name string `json:"name"`
Value string `json:"value"`
}
type FileReferenceInfo
FileReferenceInfo is one persisted file-to-file reference record of MethodFilesListReferences — the as-saved logical name (relative + library), where it resolved this session, and the broken-reference detail flags that explain a non-upToDate status.
type FileReferenceInfo struct {
FullFileName string `json:"fullFileName"`
RelativeFileName string `json:"relativeFileName,omitempty"`
LibraryName string `json:"libraryName,omitempty"`
LocationType types.FileLocationType `json:"locationType"`
ResolvedFileName string `json:"resolvedFileName,omitempty"`
ReferencedInternalName string `json:"referencedInternalName,omitempty"`
SaveCounter int `json:"saveCounter,omitempty"`
Status types.ReferenceStatus `json:"status"`
Missing bool `json:"missing,omitempty"`
Replaced bool `json:"replaced,omitempty"`
LocationDifferent bool `json:"locationDifferent,omitempty"`
InternalNameDifferent bool `json:"internalNameDifferent,omitempty"`
}
type FileResolutionEventPayload
FileResolutionEventPayload is the JSON shape of EventFileResolution: a referenced document name failed to resolve. ResolvedName is the substitute a subscriber supplied ("" when nothing resolved it and the open failed).
type FileResolutionEventPayload struct {
Type string `json:"type"` // always EventFileResolution
RequestedName string `json:"requestedName"`
ResolvedName string `json:"resolvedName,omitempty"`
}
type FindByAttributeArgs
FindByAttributeArgs is the request of MethodAttributesFind: locate the open documents carrying an attribute in Set; restrict to a given Name when it is non-empty.
type FindByAttributeArgs struct {
Set string `json:"set"`
Name string `json:"name,omitempty"`
}
type FindByAttributeResult
FindByAttributeResult is the response of MethodAttributesFind: every match across open documents.
type FindByAttributeResult struct {
Matches []AttributeMatch `json:"matches"`
}
type FindUsingRayArgs
FindUsingRayArgs is the request of MethodBodyFindUsingRay.
type FindUsingRayArgs struct {
BodyIndex int `json:"bodyIndex"`
Origin []float64 `json:"origin"`
Direction []float64 `json:"direction"`
// Radius widens the ray into a pick cylinder for edges and vertices.
Radius float64 `json:"radius,omitempty"`
FindFirstOnly bool `json:"findFirstOnly,omitempty"`
}
type FindUsingRayResult
FindUsingRayResult is the response of MethodBodyFindUsingRay, nearest first.
type FindUsingRayResult struct {
Hits []LocatedEntityInfo `json:"hits,omitempty"`
}
type FitPointCloudPlaneArgs
FitPointCloudPlaneArgs is the request of MethodPointCloudsFitPlane: fit a work plane to the named cloud's currently displayed points — those in model space passing the cloud's active crops — so cropping to a planar region first selects what the plane is fitted to.
type FitPointCloudPlaneArgs struct {
Cloud string `json:"cloud"`
}
type FitPointCloudPlaneResult
FitPointCloudPlaneResult is the response of MethodPointCloudsFitPlane: the created work plane's browser name, and the fitted plane's Origin (the points' centroid) and unit Normal (the least-variance direction). Normal is a direction, not a position.
type FitPointCloudPlaneResult struct {
WorkPlane string `json:"workPlane"`
Origin types.Point `json:"origin"`
Normal types.Point `json:"normal"`
}
type FlatBendLineInfo
FlatBendLineInfo is one fold line in the flat pattern: the segment (in base-plane 2D, cm) and the bend angle in degrees — what a DXF export draws on the bend layer.
type FlatBendLineInfo struct {
Start types.Point2d `json:"start"`
End types.Point2d `json:"end"`
Angle float64 `json:"angle"`
}
type FlatEdgeInfo
FlatEdgeInfo is one classified edge of the developed flat: the fold/tangent line segment (in flat 2D, database units cm) and its type, plus the bend angle for a fold line.
type FlatEdgeInfo struct {
Start types.Point2d `json:"start"`
End types.Point2d `json:"end"`
Type string `json:"type"`
Angle float64 `json:"angle,omitempty"`
}
type FlatFaceInfo
FlatFaceInfo is one classified flat face: its type ("front"/"back"/…) and developed area (cm²).
type FlatFaceInfo struct {
Type string `json:"type"`
Area float64 `json:"area"`
}
type FlatPatternInfo
FlatPatternInfo is the developed flat: its 2D extents (the footprint bounding box in base-plane coordinates), the gauge, the developed footprint area, and the fold lines. All lengths are in database units (cm), matching the rest of the sheet-metal surface; areas in cm². It lets an add-in size stock and place bend lines before cutting.
type FlatPatternInfo struct {
Extents types.Box2d `json:"extents"`
Thickness float64 `json:"thickness"`
Area float64 `json:"area"`
Bends []FlatBendLineInfo `json:"bends"`
}
type FlatPatternOrientationInfo
FlatPatternOrientationInfo is one orientation, as reported by listOrientations and returned by addOrientation/activateOrientation. AlignmentRotation is in degrees; Length and Width are the flat's extents under this orientation (database units, cm). AlignmentAxis is a topology reference key, empty when the orientation uses the part's natural axes.
type FlatPatternOrientationInfo struct {
Name string `json:"name"`
AlignmentType string `json:"alignmentType"`
AlignmentRotation float64 `json:"alignmentRotation"`
AlignmentAxis string `json:"alignmentAxis,omitempty"`
FlipAlignmentAxis bool `json:"flipAlignmentAxis,omitempty"`
FlipBaseFace bool `json:"flipBaseFace,omitempty"`
Active bool `json:"active,omitempty"`
Length float64 `json:"length"`
Width float64 `json:"width"`
}
type FlatPatternSettings
FlatPatternSettings is the per-document flat-pattern settings. DeferUpdate suppresses the automatic flat-pattern recompute, so a heavy flat is only developed on demand.
type FlatPatternSettings struct {
DeferUpdate bool `json:"deferUpdate"`
}
type FontFace
FontFace is one selectable font in the picker: a family + style, its Source ("embedded" for an application-bundled face, "system" for a host-installed one), and — for a system face — the file Path whose bytes are embedded into the document when it is chosen (ADR-0031).
type FontFace struct {
Family string `json:"family"`
Style string `json:"style,omitempty"`
Source string `json:"source"` // "embedded" | "system"
Path string `json:"path,omitempty"` // system fonts only: the file to embed on select
}
type GeneralOptionsView
GeneralOptionsView is the "general" group: application-level behavior.
type GeneralOptionsView struct {
StartupAction types.StartupActionType `json:"startupAction"`
}
type GetAttributeArgs
GetAttributeArgs is the request of MethodAttributesGet: address one attribute by its set and name on the document, anchored to Target (empty = the document itself).
type GetAttributeArgs struct {
Document uint64 `json:"document"`
Set string `json:"set"`
Name string `json:"name"`
Target string `json:"target,omitempty"`
}
type GetCameraArgs
GetCameraArgs is the request of MethodViewGetCamera: which document's active-view camera to read. Document is optional and defaults to the active document (so a no-arg call reads the active document's active view, as before camera became per-view).
type GetCameraArgs struct {
Document uint64 `json:"document,omitempty"` // 0 ⇒ active document; reads that document's active view
}
type GetDisplaySettingsArgs
GetDisplaySettingsArgs is the request of MethodDocumentGetDisplaySettings: which document's settings to read (empty selects the active document).
type GetDisplaySettingsArgs struct {
Document string `json:"document,omitempty"`
}
type GetFileArgs
GetFileArgs is the request of MethodFilesGet and MethodFilesListReferences: the full file name of an open file.
type GetFileArgs struct {
FullFileName string `json:"fullFileName"`
}
type GetMarkingMenuArgs
GetMarkingMenuArgs is the request of MethodUIGetMarkingMenu.
type GetMarkingMenuArgs struct {
Environment types.Environment `json:"environment"`
}
type GetOptionGroupArgs
GetOptionGroupArgs is the request of MethodOptionsGetGroup.
type GetOptionGroupArgs struct {
Group string `json:"group"`
}
type GetPropertyArgs
GetPropertyArgs is the request of MethodDocumentsGetProperty: address one property by its set and name on the document.
type GetPropertyArgs struct {
Document uint64 `json:"document"`
Set string `json:"set"`
Name string `json:"name"`
}
type GetSketchSettingsArgs
GetSketchSettingsArgs is the request of MethodDocumentGetSketchSettings: the document whose sketch settings to read.
type GetSketchSettingsArgs struct {
Document uint64 `json:"document"`
}
type GetStyleArgs
GetStyleArgs is the request of MethodStylesGet / MethodStylesDelete: the style by name.
type GetStyleArgs struct {
Name string `json:"name"`
}
type GetTextArgs
GetTextArgs is the request of MethodSketchGetText: read back the style of sketch text entity EntityID in sketch SketchIndex.
type GetTextArgs struct {
SketchIndex int `json:"sketchIndex"`
EntityID uint64 `json:"entityId"`
}
type GraphicsColorMapper
GraphicsColorMapper maps scalar vertex values to colors — the heatmap legend. Values is an ascending list of scalar stops; Colors is the rgba quad for each stop (len(Colors) == 4*len(Values)). The host interpolates piecewise-linearly between stops and clamps outside the range. A primitive carrying both Scalars and ColorMapper resolves per-vertex colors from them.
type GraphicsColorMapper struct {
Values []float64 `json:"values"`
Colors []float32 `json:"colors"`
}
type GraphicsNode
GraphicsNode groups primitives under one transform and visibility/opacity. Transform (optional 16-element row-major matrix) places the node's geometry; Visible nil means "inherit the group's visibility".
type GraphicsNode struct {
Id string `json:"id,omitempty"`
Transform []float64 `json:"transform,omitempty"`
Visible *bool `json:"visible,omitempty"`
Opacity float32 `json:"opacity,omitempty"`
Primitives []GraphicsPrimitive `json:"primitives"`
// Selectable makes the node's primitives pickable (default false: overlay graphics do not
// intercept picks). ComponentKey anchors the node to a component/feature by reference key so
// it transforms with that owner rather than the document root (the ComponentGraphics case).
Selectable bool `json:"selectable,omitempty"`
ComponentKey string `json:"componentKey,omitempty"`
}
type GraphicsPrimitive
GraphicsPrimitive is one drawable primitive in a node (a line, point, triangle, or text primitive). Geometry travels inline as flat arrays.
- Kind is a oblikovati.org/api/types.GraphicsPrimitiveKind value.
- Coordinates/Indices define the vertices and topology.
- Per-vertex color is resolved in priority order: Colors (rgba quads) if present; else Scalars+ColorMapper; else the overall Color broadcast to every vertex.
- ColorBinding/NormalBinding are the binding modes (types.GraphicsColorBinding/…).
- Text/Anchor/FontSize apply to the "text" kind (Anchor is the xyz world anchor).
- OnTop draws the primitive ignoring the depth test (always visible, drawn through occluders); Opacity 0..1 (0 = use the lane/node default, i.e. opaque).
type GraphicsPrimitive struct {
Kind string `json:"kind"`
Coordinates []float64 `json:"coordinates,omitempty"`
Indices []int `json:"indices,omitempty"`
Colors []float32 `json:"colors,omitempty"`
Normals []float64 `json:"normals,omitempty"`
Scalars []float64 `json:"scalars,omitempty"`
ColorMapper *GraphicsColorMapper `json:"colorMapper,omitempty"`
Color []float32 `json:"color,omitempty"`
ColorBinding string `json:"colorBinding,omitempty"`
NormalBinding string `json:"normalBinding,omitempty"`
LineType string `json:"lineType,omitempty"`
LineWeight float64 `json:"lineWeight,omitempty"`
PointStyle string `json:"pointStyle,omitempty"`
PointSize float64 `json:"pointSize,omitempty"`
Text string `json:"text,omitempty"`
Anchor []float64 `json:"anchor,omitempty"`
FontSize float64 `json:"fontSize,omitempty"`
Opacity float32 `json:"opacity,omitempty"`
OnTop bool `json:"onTop,omitempty"`
DepthPriority int `json:"depthPriority,omitempty"`
// Body-derived primitives ("surface"/"curve"): render an existing B-rep body/face/edge by
// its persistent reference key (BodyKey) or transient handle (TransientKey) with the override
// Color/Transform — the geometry stays host-side (no mesh shipped over the wire).
BodyKey string `json:"bodyKey,omitempty"`
TransientKey uint64 `json:"transientKey,omitempty"`
// Image billboards ("image"): ImagePath is the source image; ImageWidth/ImageHeight size the
// quad (model units, or pixels when Behavior is pixel-scaling); Anchor is its world point.
ImagePath string `json:"imagePath,omitempty"`
ImageWidth float64 `json:"imageWidth,omitempty"`
ImageHeight float64 `json:"imageHeight,omitempty"`
// TextureCoords are uv pairs (len%2==0, one per vertex) for an image-mapped overlay mesh.
TextureCoords []float64 `json:"textureCoords,omitempty"`
// MapperName references a color mapper registered via [MethodClientGraphicsRegisterMapper]
// (an alternative to the inline ColorMapper) so a legend is shared across primitives.
MapperName string `json:"mapperName,omitempty"`
// Selectable makes this primitive participate in picking (nil = inherit the node default);
// Behavior is the view-relative behavior of an image/text billboard (front-facing / pixel
// scaling); LineSpace is the coordinate space a line's width/pattern is defined in.
Selectable *bool `json:"selectable,omitempty"`
Behavior types.DisplayTransformBehaviorEnum `json:"behavior,omitempty"`
LineSpace types.LineDefinitionSpaceEnum `json:"lineSpace,omitempty"`
}
type GroundOccurrenceArgs
GroundOccurrenceArgs is the request of MethodAssemblyGround: fix (Grounded=true) or release the occurrence with id ID in the assembly's space.
type GroundOccurrenceArgs struct {
ID uint64 `json:"id"`
Grounded bool `json:"grounded"`
}
type GroundPlaneView
GroundPlaneView is the JSON shape of a document's ground-plane settings — a member of DisplaySettingsView. Lengths are cm; Opacity/Reflectivity in [0,1].
type GroundPlaneView struct {
Visible bool `json:"visible"`
Color types.Color `json:"color"`
HeightOffset float64 `json:"heightOffset"`
DisplayGridLines bool `json:"displayGridLines"`
MinorGridLineSpacing float64 `json:"minorGridLineSpacing"`
MinorLinesPerMajorGridLine int `json:"minorLinesPerMajorGridLine"`
Opacity float64 `json:"opacity"`
Reflectivity float64 `json:"reflectivity"`
}
type HasDocumentInterestArgs
HasDocumentInterestArgs is the request of MethodDocumentsHasInterest: Client matches either a record's ClientID or its Name — the cheap discovery probe ("does anyone hold data here?").
type HasDocumentInterestArgs struct {
Document uint64 `json:"document"`
Client string `json:"client"`
}
type HasDocumentInterestResult
HasDocumentInterestResult is the response of MethodDocumentsHasInterest.
type HasDocumentInterestResult struct {
HasInterest bool `json:"hasInterest"`
}
type HelixDefinitionView
HelixDefinitionView is the response of MethodSketch3DEditHelix: the definition as stored. ShapeKind is the oblikovati.org/api/types.HelicalShapeDefinitionKind wire spelling; Variable reports a row-table definition (Rows then carries the resolved stations with both height and revolution filled in, in database units — diameter/pitch in cm). Start/End are always present with resolved angles in radians.
type HelixDefinitionView struct {
ShapeKind string `json:"shapeKind"`
Variable bool `json:"variable"`
Pitch float64 `json:"pitch,omitempty"`
Height float64 `json:"height,omitempty"`
Revolutions float64 `json:"revolutions,omitempty"`
Taper float64 `json:"taper,omitempty"`
Clockwise bool `json:"clockwise,omitempty"`
Rows []HelixShapeRow `json:"rows,omitempty"`
Start *HelixEndCondition `json:"start,omitempty"`
End *HelixEndCondition `json:"end,omitempty"`
}
type HelixEndCondition
HelixEndCondition is the treatment of one helix end. Kind is the oblikovati.org/api/types.HelixEndKind wire spelling (empty ⇒ "natural"); TransitionAngle and FlatAngle (unit-bearing angles) shape a flat end: the transition sweep blends from the true helix pitch down to flat, then the flat sweep continues at zero pitch.
type HelixEndCondition struct {
Kind string `json:"kind,omitempty"`
TransitionAngle string `json:"transitionAngle,omitempty"`
FlatAngle string `json:"flatAngle,omitempty"`
}
type HelixShapeRow
HelixShapeRow is one station of a variable-shape helix. Diameter and Pitch are unit-bearing lengths; exactly one of Height (unit-bearing length from the helix base) or Revolution (turn count from the start) positions the station, matching the definition's shape kind. Empty fields interpolate between neighboring rows.
type HelixShapeRow struct {
Diameter string `json:"diameter,omitempty"`
Pitch string `json:"pitch,omitempty"`
Height string `json:"height,omitempty"`
Revolution float64 `json:"revolution,omitempty"`
}
type HelpPathResult
HelpPathResult is the response of MethodHelpPath: a source's registered base.
type HelpPathResult struct {
Source string `json:"source,omitempty"`
Base string `json:"base"`
}
type HighlightSetInfo
HighlightSetInfo is one highlight set's summary: its name, "#rrggbb" colour, and how many references it holds. The response of create/addItems/setColor and a row of the list.
type HighlightSetInfo struct {
Name string `json:"name"`
Color string `json:"color"`
Count int `json:"count"`
}
type HighlightSetItemsArgs
HighlightSetItemsArgs is the request of MethodModelHighlightSetAddItems: add the given model references (from model.referenceKeys) to the named set.
type HighlightSetItemsArgs struct {
Name string `json:"name"`
Refs []string `json:"refs"`
}
type HighlightSetRefArgs
HighlightSetRefArgs addresses a highlight set by Name (MethodModelHighlightSetDelete).
type HighlightSetRefArgs struct {
Name string `json:"name"`
}
type ImportDWGArgs
ImportDWGArgs is the request of MethodImportDWG: the host-side path of a .dwg file and the target work plane for a 2D drawing. Plane names a plane from list_work_planes (e.g. "XY Plane", or a user work plane); empty defaults to the first origin plane. A non-planar drawing imports into a 3D sketch and ignores Plane. The DWG world origin maps onto the chosen plane's origin.
type ImportDWGArgs struct {
Path string `json:"path"`
Plane string `json:"plane,omitempty"`
}
type ImportDWGResult
ImportDWGResult is the response of MethodImportDWG: whether the drawing landed in a 3D sketch (vs a 2D sketch on the chosen plane), how many curve entities were added, and any per-entity warnings (unmapped/undecodable objects that were skipped).
type ImportDWGResult struct {
Is3D bool `json:"is3D"`
EntityCount int `json:"entityCount"`
Warnings []string `json:"warnings,omitempty"`
}
type ImportDXFArgs
ImportDXFArgs is the request of MethodImportDXF: the host-side path of a .dxf file and the target work plane for a 2D drawing. Plane names a plane from list_work_planes (e.g. "XY Plane", or a user work plane); empty defaults to the first origin plane. A non-planar drawing imports into a 3D sketch and ignores Plane. The DXF world origin maps onto the chosen plane's origin. (DXF is DWG's open text sibling; the import behaves identically.)
type ImportDXFArgs struct {
Path string `json:"path"`
Plane string `json:"plane,omitempty"`
}
type ImportDXFResult
ImportDXFResult is the response of MethodImportDXF: whether the drawing landed in a 3D sketch (vs a 2D sketch on the chosen plane), how many curve entities were added, and any per-entity warnings (unmapped/undecodable objects that were skipped).
type ImportDXFResult struct {
Is3D bool `json:"is3D"`
EntityCount int `json:"entityCount"`
Warnings []string `json:"warnings,omitempty"`
}
type ImportPDFArgs
ImportPDFArgs is the request of MethodImportPDF: the host-side path of a vector .pdf file and the target work plane for its 2D geometry. Plane names a plane from list_work_planes (e.g. "XY Plane", or a user work plane); empty defaults to the first origin plane. Every page imports onto the same plane (one 2D sketch per page), the PDF page origin mapping onto the plane origin.
type ImportPDFArgs struct {
Path string `json:"path"`
Plane string `json:"plane,omitempty"`
}
type ImportPDFResult
ImportPDFResult is the response of MethodImportPDF: whether any page landed in a 3D sketch (always false for the page-flat PDFs this importer targets, but kept parallel to the DWG/DXF results), how many curve entities were added across all pages, and any per-page warnings (unsupported operators, skipped text/raster content, or pages that could not be decoded).
type ImportPDFResult struct {
Is3D bool `json:"is3D"`
EntityCount int `json:"entityCount"`
Warnings []string `json:"warnings,omitempty"`
}
type ImportRequest
ImportRequest is the request of MethodDocumentsImport: read the file at Path (interpreted as Format — an oblikovati.org/api/types.ExchangeFormat string) into the active part as an imported-body feature. Options carries free-form translator knobs (e.g. "weldTolerance"); unknown keys are ignored.
type ImportRequest struct {
Path string `json:"path"`
Format string `json:"format"`
Options map[string]string `json:"options,omitempty"`
}
type ImportResponse
ImportResponse is the reply of MethodDocumentsImport: how many bodies were imported, whether the (first) body came in as a watertight solid (vs an open surface body), and any non-fatal warnings (non-manifold edges, dropped attributes).
type ImportResponse struct {
BodyCount int `json:"bodyCount"`
Solid bool `json:"solid"`
Warnings []string `json:"warnings,omitempty"`
}
type ImportStyleLibraryArgs
ImportStyleLibraryArgs is the request of MethodStylesImportLibrary: the path to a style library file to load into the cascade.
type ImportStyleLibraryArgs struct {
Path string `json:"path"`
}
type IncludeSketch2DArgs
IncludeSketch2DArgs is the request of MethodSketch3DIncludeSketch: include geometry of an existing 2D sketch into a 3D sketch as associative reference geometry, lifted through the 2D sketch's host plane. SketchIndex is the target 3D sketch; SourceSketchIndex is the source 2D sketch; EntityIDs are the session ids of the 2D points/curves to include.
type IncludeSketch2DArgs struct {
SketchIndex int `json:"sketchIndex"`
SourceSketchIndex int `json:"sourceSketchIndex"`
EntityIDs []uint64 `json:"entityIDs"`
}
type IncludeSketch3DArgs
IncludeSketch3DArgs is the request of MethodSketch3DInclude: include referenced part geometry (edges/vertices, by reference key) into a 3D sketch as associative reference geometry. Refs are the reference keys of the part edges/vertices to include.
type IncludeSketch3DArgs struct {
SketchIndex int `json:"sketchIndex"`
Refs []string `json:"refs"`
}
type IncludeSketch3DResult
IncludeSketch3DResult is the response of MethodSketch3DInclude: the session ids of the created included entities, and whether every reference resolved (Healthy false ⇒ a reference was lost, its include skipped).
type IncludeSketch3DResult struct {
Created []uint64 `json:"created,omitempty"`
Healthy bool `json:"healthy"`
}
type InferenceOptionsView
InferenceOptionsView is the sketch inference configuration: whether point and constraint inference run at all, and which constraint family wins when two could apply (the oblikovati.org/api/types.ConstraintInferencePriority wire spelling). It is the result of MethodSketchGetInferenceOptions and the request of MethodSketchSetInferenceOptions; on set, empty Priority keeps the current value.
type InferenceOptionsView struct {
InferEnabled bool `json:"inferEnabled"`
ConstrainEnabled bool `json:"constrainEnabled"`
Priority string `json:"priority,omitempty"`
}
type InteractionState
InteractionState is the JSON shape of the host's current interaction status — whether the local user is mid-action — the response of MethodInteractionState.
It exists so a collaboration add-in can gate incoming remote edits: applying a remote mutation while the local user is dragging a handle or running a tool risks a race in the host's recompute/undo state, so the add-in buffers remote operations while Busy is true (oblikovati-meeting ADR-0005).
Busy is the single predicate add-ins should branch on (true when an interactive tool or command is active, or an explicit transaction is open). ActiveCommand/ActiveTool name what is running, for diagnostics/UI; they are empty when nothing is active.
type InteractionState struct {
Busy bool `json:"busy"`
ActiveCommand string `json:"activeCommand,omitempty"`
ActiveTool string `json:"activeTool,omitempty"`
InTransaction bool `json:"inTransaction"`
}
type InterferenceResultInfo
InterferenceResultInfo is one overlapping pair: the two occurrence ids, the overlap volume (cm³), and a representative point inside the overlap.
type InterferenceResultInfo struct {
OccurrenceA uint64 `json:"occurrenceA"`
OccurrenceB uint64 `json:"occurrenceB"`
Volume float64 `json:"volume"`
Center types.Point `json:"center"`
}
type InterferenceResultsResult
Result envelopes.
type InterferenceResultsResult struct {
Results []InterferenceResultInfo `json:"results"`
TotalVolume float64 `json:"totalVolume,omitempty"`
}
type IsPointInsideArgs
IsPointInsideArgs is the request of MethodBodyIsPointInside. ShellIndex (when non-nil) classifies against one shell's bounded region instead of the whole body's material.
type IsPointInsideArgs struct {
BodyIndex int `json:"bodyIndex"`
ShellIndex *int `json:"shellIndex,omitempty"`
Point []float64 `json:"point"`
// OnTolerance is the distance treated as ON the boundary (0 → 1e-6 cm).
OnTolerance float64 `json:"onTolerance,omitempty"`
}
type IsPointInsideResult
IsPointInsideResult is the response of MethodBodyIsPointInside.
type IsPointInsideResult struct {
Containment string `json:"containment"`
}
type JointEventPayload
JointEventPayload is the body of the assembly joint events (EventAssemblyJointAdded, EventAssemblyJointDeleted): which assembly (Document), and the affected joint's id and kind.
type JointEventPayload struct {
Type string `json:"type"`
Document uint64 `json:"document"`
Joint uint64 `json:"joint"`
Kind string `json:"kind,omitempty"`
}
type JointInfo
JointInfo is one row of the assembly's joint set: its session id, kind, name, the two joint-origin geometry inputs, the flip flag, optional limits, the free DOF the joint leaves, health, and suppression.
type JointInfo struct {
ID uint64 `json:"id"`
Type string `json:"type"`
Name string `json:"name"`
A ConstraintGeomRef `json:"a"`
B ConstraintGeomRef `json:"b"`
Flip bool `json:"flip,omitempty"`
DegreesOfFreedom int `json:"degreesOfFreedom"`
Limits *JointLimits `json:"limits,omitempty"`
Health string `json:"health,omitempty"`
Suppressed bool `json:"suppressed,omitempty"`
}
type JointLimits
JointLimits bounds a joint's driven values: a linear range (slider/cylindrical translation, cm) and an angular range (rotational/cylindrical rotation, radians). Each bound is independently optional.
type JointLimits struct {
HasLinearMin bool `json:"hasLinearMin,omitempty"`
LinearMin float64 `json:"linearMin,omitempty"`
HasLinearMax bool `json:"hasLinearMax,omitempty"`
LinearMax float64 `json:"linearMax,omitempty"`
HasAngularMin bool `json:"hasAngularMin,omitempty"`
AngularMin float64 `json:"angularMin,omitempty"`
HasAngularMax bool `json:"hasAngularMax,omitempty"`
AngularMax float64 `json:"angularMax,omitempty"`
}
type KeyedObjectRef
KeyedObjectRef is one string-keyed object reference: the canonical element of an ObjectCollectionByVariant over the wire.
type KeyedObjectRef struct {
Key string `json:"key"`
Ref types.ObjectRef `json:"ref"`
}
type KeyedObjectRefList
KeyedObjectRefList is the ordered, string-keyed object-reference list.
type KeyedObjectRefList []KeyedObjectRef
type KeymapExport
KeymapExport is the response of MethodKeymapExport and the request of MethodKeymapImport: the user's full customization delta, portable across installs. Keys are action ids; chord values are canonical chord strings. Importing replaces the current customization.
type KeymapExport struct {
Chords map[string]string `json:"chords,omitempty"`
Aliases map[string]string `json:"aliases,omitempty"`
}
type LODInfo
LODInfo is one level-of-detail representation: its identity and the count of suppressed occurrences.
type LODInfo struct {
RepresentationInfo
SuppressedCount int `json:"suppressedCount,omitempty"`
}
type LODResult
Result envelopes.
type LODResult struct {
Representation LODInfo `json:"representation"`
}
type LODsResult
Result envelopes.
type LODsResult struct {
Representations []LODInfo `json:"representations"`
}
type LanguageInfoResult
LanguageInfoResult is the response of MethodLanguageInfo: the host's locale as a BCP-47 tag (e.g. "en-US"), for add-ins formatting numbers/dates to match. Translated-name catalogs do not exist yet; command display names are canonical (the #160 ADR records the declined translation surface).
type LanguageInfoResult struct {
Locale string `json:"locale"`
}
type LayoutResult
LayoutResult is the response of MethodViewsGetLayout / MethodViewsSetLayout: the document's current tiling layout.
type LayoutResult struct {
Document uint64 `json:"document,omitempty"`
Layout types.ViewLayout `json:"layout"`
}
type LightInfo
LightInfo is the JSON shape of one scene light — the element of LightListResult and the payload of MethodLightingAddLight / MethodLightingSetLight. Direction/Position are world-space (cm); Color is the light color and Intensity scales it.
type LightInfo struct {
Index int `json:"index"`
LightType types.LightTypeEnum `json:"lightType"`
LightDefinitionType types.LightDefinitionTypeEnum `json:"definitionType"`
On bool `json:"on"`
Color types.Rgba `json:"color"`
Intensity float64 `json:"intensity"`
Direction types.Vector `json:"direction"`
Position types.Point `json:"position"`
SpotInnerAngle float64 `json:"spotInnerAngle"`
SpotOuterAngle float64 `json:"spotOuterAngle"`
Attenuation [3]float64 `json:"attenuation"`
}
type LightListResult
LightListResult is the response of MethodLightingListLights.
type LightListResult struct {
Lights []LightInfo `json:"lights"`
}
type LightingStyleInfo
LightingStyleInfo is one entry of LightingStyleListResult: a selectable style and whether it is the active one.
type LightingStyleInfo struct {
Name string `json:"name"`
Active bool `json:"active"`
}
type LightingStyleListResult
LightingStyleListResult is the response of MethodLightingListStyles.
type LightingStyleListResult struct {
Styles []LightingStyleInfo `json:"styles"`
}
type LightingStyleView
LightingStyleView is the JSON shape of the active lighting style — the response of MethodLightingGetStyle and MethodLightingSetStyle.
type LightingStyleView struct {
Name string `json:"name"`
StyleType types.LightingStyleTypeEnum `json:"styleType"`
Ambience float64 `json:"ambience"`
Brightness float64 `json:"brightness"`
Exposure float64 `json:"exposure"`
IBLBrightness float64 `json:"iblBrightness"`
IBLRotation float64 `json:"iblRotation"`
ShadowDensity float64 `json:"shadowDensity"`
ShadowSoftness float64 `json:"shadowSoftness"`
ShadowDir types.ShadowDirectionEnum `json:"shadowDirection"`
}
type LineStyleInfo
LineStyleInfo is the JSON shape of a drawing line style.
type LineStyleInfo struct {
Name string `json:"name"`
WeightMM float64 `json:"weightMm"`
}
type ListAddInsResult
ListAddInsResult is the response of MethodAddInsList, in registration order.
type ListAddInsResult struct {
AddIns []AddInInfo `json:"addIns"`
}
type ListAppearancesResult
ListAppearancesResult / ListMaterialsResult are the list responses.
type ListAppearancesResult struct {
Appearances []AppearanceInfo `json:"appearances"`
}
type ListAttachmentsArgs
ListAttachmentsArgs is the request of MethodDocumentsListAttachments.
type ListAttachmentsArgs struct {
Document uint64 `json:"document"`
}
type ListAttachmentsResult
ListAttachmentsResult is the response of MethodDocumentsListAttachments.
type ListAttachmentsResult struct {
Attachments []AttachmentInfo `json:"attachments"`
}
type ListAttributeSetsArgs
ListAttributeSetsArgs is the request of MethodAttributesListSets: the document whose attribute set names to enumerate.
type ListAttributeSetsArgs struct {
Document uint64 `json:"document"`
}
type ListAttributeSetsResult
ListAttributeSetsResult is the response of MethodAttributesListSets: the set names, sorted.
type ListAttributeSetsResult struct {
Sets []string `json:"sets"`
}
type ListAttributesArgs
ListAttributesArgs is the request of MethodAttributesList: every attribute on the document, or only those in Set when it is non-empty. By default it lists the document-scoped attributes; set Target to list a specific entity's attributes, or set AllTargets to list every attribute on every target (each carrying its Target in the result).
type ListAttributesArgs struct {
Document uint64 `json:"document"`
Set string `json:"set,omitempty"`
Target string `json:"target,omitempty"`
AllTargets bool `json:"allTargets,omitempty"`
}
type ListAttributesResult
ListAttributesResult is the response of MethodAttributesList: the matching attributes in set then insertion order.
type ListAttributesResult struct {
Attributes []AttributeInfo `json:"attributes"`
}
type ListBindingsResult
ListBindingsResult is the response of MethodKeymapList: the full catalog, in a stable display order (commands first in registration order, then built-ins).
type ListBindingsResult struct {
Bindings []BindingInfo `json:"bindings"`
}
type ListBlockDefinitionsResult
ListBlockDefinitionsResult is the response of MethodSketchBlockDefinitionList: every block definition of the active part's component definition.
type ListBlockDefinitionsResult struct {
Definitions []SketchBlockDefinitionInfo `json:"definitions"`
}
type ListBlockInstancesResult
ListBlockInstancesResult is the response of MethodSketchListBlockInstances.
type ListBlockInstancesResult struct {
Instances []SketchBlockInfo `json:"instances"`
}
type ListBrowserPanesResult
ListBrowserPanesResult is the response of MethodBrowserListPanes: every add-in pane in creation order (the built-in Model pane is not listed — it is the document tree, served by model.tree).
type ListBrowserPanesResult struct {
Panes []BrowserPaneSpec `json:"panes"`
}
type ListClientApplicationsResult
ListClientApplicationsResult is the response of MethodClientAppsList, in registration order.
type ListClientApplicationsResult struct {
Clients []ClientApplicationInfo `json:"clients"`
}
type ListClientGraphicsResult
ListClientGraphicsResult is the response of MethodClientGraphicsList.
type ListClientGraphicsResult struct {
Groups []ClientGraphicsInfo `json:"groups"`
}
type ListCommandsResult
ListCommandsResult is the response of MethodCommandsList.
type ListCommandsResult struct {
Commands []CommandInfo `json:"commands"`
}
type ListConstraints3DResult
ListConstraints3DResult is the response of MethodSketch3DConstraints.
type ListConstraints3DResult struct {
Constraints []Constraint3DInfo `json:"constraints"`
}
type ListConstraintsResult
ListConstraintsResult is the response of MethodSketchConstraints.
type ListConstraintsResult struct {
Constraints []ConstraintInfo `json:"constraints"`
}
type ListDerivedParameterTablesResult
ListDerivedParameterTablesResult is the response of MethodParametersDerivedTablesList.
type ListDerivedParameterTablesResult struct {
Tables []DerivedParameterTableInfo `json:"tables,omitempty"`
}
type ListDimensions3DResult
ListDimensions3DResult is the response of MethodSketch3DDimensions.
type ListDimensions3DResult struct {
Dimensions []Dimension3DInfo `json:"dimensions"`
}
type ListDimensionsResult
ListDimensionsResult is the response of MethodSketchDimensions.
type ListDimensionsResult struct {
Dimensions []DimensionInfo `json:"dimensions"`
}
type ListDisplayModesResult
ListDisplayModesResult is the response of MethodViewListDisplayModes.
type ListDisplayModesResult struct {
Modes []DisplayModeInfo `json:"modes"`
}
type ListDockableWindowsResult
ListDockableWindowsResult is the response of MethodDockableWindowsList, in creation order.
type ListDockableWindowsResult struct {
Windows []DockableWindowSpec `json:"windows"`
}
type ListDocumentFileReferencesArgs
ListDocumentFileReferencesArgs is the request of MethodDocumentsListFileReferences: the session id of the document whose file references to enumerate.
type ListDocumentFileReferencesArgs struct {
Document uint64 `json:"document"`
}
type ListDocumentFileReferencesResult
ListDocumentFileReferencesResult is the response of MethodDocumentsListFileReferences.
type ListDocumentFileReferencesResult struct {
References []DocumentFileReferenceInfo `json:"references"`
}
type ListDocumentInterestsArgs
ListDocumentInterestsArgs is the request of MethodDocumentsListInterests.
type ListDocumentInterestsArgs struct {
Document uint64 `json:"document"`
}
type ListDocumentInterestsResult
ListDocumentInterestsResult is the response of MethodDocumentsListInterests.
type ListDocumentInterestsResult struct {
Interests []types.DocumentInterestRecord `json:"interests"`
}
type ListDocumentSubTypesResult
ListDocumentSubTypesResult is the response of MethodDocumentsListSubTypes.
type ListDocumentSubTypesResult struct {
SubTypes []DocumentSubTypeInfo `json:"subTypes"`
}
type ListDocumentsResult
ListDocumentsResult is the response of MethodDocumentsList: every open document and (via each DocumentInfo.Active flag) which one is active.
type ListDocumentsResult struct {
Documents []DocumentInfo `json:"documents"`
}
type ListDrawingAnnotationsResult
ListDrawingAnnotationsResult is the response of MethodDrawingAnnotationsList.
type ListDrawingAnnotationsResult struct {
Annotations []DrawingAnnotationInfo `json:"annotations"`
}
type ListDrawingDimensionsResult
ListDrawingDimensionsResult is the response of MethodDrawingDimensionsList.
type ListDrawingDimensionsResult struct {
Dimensions []DrawingDimensionInfo `json:"dimensions"`
}
type ListDrawingSketchesResult
ListDrawingSketchesResult is the response of MethodDrawingSketchesList.
type ListDrawingSketchesResult struct {
Sketches []DrawingSketchInfo `json:"sketches"`
}
type ListDrawingViewsResult
ListDrawingViewsResult is the response of MethodDrawingViewsList: the active sheet's views.
type ListDrawingViewsResult struct {
Views []DrawingViewInfo `json:"views"`
}
type ListEnvironmentsResult
ListEnvironmentsResult is the response of MethodUIListEnvironments.
type ListEnvironmentsResult struct {
Environments []EnvironmentInfo `json:"environments"`
}
type ListErrorsResult
ListErrorsResult is the response of MethodErrorsList: the message tree and the aggregate flags (the ErrorManager HasErrors/HasWarnings equivalents).
type ListErrorsResult struct {
Root MessageSectionView `json:"root"`
HasErrors bool `json:"hasErrors"`
HasWarnings bool `json:"hasWarnings"`
LastMessage string `json:"lastMessage,omitempty"`
}
type ListFeatureKindsResult
ListFeatureKindsResult is the response of MethodFeaturesList.
type ListFeatureKindsResult struct {
Kinds []FeatureKindInfo `json:"kinds"`
}
type ListFileReferencesResult
ListFileReferencesResult is the response of MethodFilesListReferences.
type ListFileReferencesResult struct {
References []FileReferenceInfo `json:"references"`
}
type ListFontsResult
ListFontsResult is the response of MethodFontsList: every face the picker can offer — the application's bundled faces plus the fonts installed on the host.
type ListFontsResult struct {
Faces []FontFace `json:"faces"`
}
type ListHighlightSetsResult
ListHighlightSetsResult is the response of MethodModelHighlightSetList.
type ListHighlightSetsResult struct {
Sets []HighlightSetInfo `json:"sets"`
}
type ListMaterialsResult
type ListMaterialsResult struct {
Materials []MaterialInfo `json:"materials"`
}
type ListMiniToolbarsResult
ListMiniToolbarsResult is the response of MethodMiniToolbarList, in creation order.
type ListMiniToolbarsResult struct {
Toolbars []MiniToolbarSpec `json:"toolbars"`
}
type ListOptionGroupsResult
ListOptionGroupsResult is the response of MethodOptionsListGroups.
type ListOptionGroupsResult struct {
Groups []string `json:"groups"`
}
type ListParameterGroupsResult
ListParameterGroupsResult is the response of MethodParametersGroupsList.
type ListParameterGroupsResult struct {
Groups []ParameterGroupInfo `json:"groups,omitempty"`
}
type ListParametersResult
ListParametersResult is the response of MethodParametersList.
type ListParametersResult struct {
Parameters []ParameterInfo `json:"parameters"`
}
type ListPaths3DResult
ListPaths3DResult is the response of MethodSketch3DPaths.
type ListPaths3DResult struct {
Paths []Path3DInfo `json:"paths"`
}
type ListPointCloudCropsArgs
ListPointCloudCropsArgs is the request of MethodPointCloudsListCrops: the owning cloud's name.
type ListPointCloudCropsArgs struct {
Cloud string `json:"cloud"`
}
type ListPointCloudCropsResult
ListPointCloudCropsResult is the response of MethodPointCloudsListCrops.
type ListPointCloudCropsResult struct {
Crops []PointCloudCropInfo `json:"crops"`
}
type ListPointCloudsResult
ListPointCloudsResult is the response of MethodPointCloudsList.
type ListPointCloudsResult struct {
PointClouds []PointCloudInfo `json:"pointClouds"`
}
type ListProfiles3DResult
ListProfiles3DResult is the response of MethodSketch3DProfiles.
type ListProfiles3DResult struct {
Profiles []Profile3DInfo `json:"profiles"`
}
type ListProfilesResult
ListProfilesResult is the response of MethodSketchProfiles.
type ListProfilesResult struct {
Profiles []ProfileInfo `json:"profiles"`
}
type ListPropertiesArgs
ListPropertiesArgs is the request of MethodDocumentsListProperties: the document whose properties to enumerate (by session id from documents.list).
type ListPropertiesArgs struct {
Document uint64 `json:"document"`
}
type ListPropertiesResult
ListPropertiesResult is the response of MethodDocumentsListProperties: every property of the document, across all its sets, in set then insertion order.
type ListPropertiesResult struct {
Properties []PropertyInfo `json:"properties"`
}
type ListRibbonResult
ListRibbonResult is the response of MethodRibbonList: the ribbon currently shown for the active document (Key is ZeroDoc when none is open), with its tabs/panels/controls. It is the discovery surface an add-in reads to find the internal names to insert into (it lists the contents of the ribbon). Contextual tabs (e.g. Sketch) appear only when their environment is active.
type ListRibbonResult struct {
Key types.RibbonKey `json:"key"`
Tabs []RibbonTabInfo `json:"tabs,omitempty"`
}
type ListSheetsResult
ListSheetsResult is the response of MethodDrawingListSheets: every sheet (the active one flagged) and the drawing's primary referenced model, if set.
type ListSheetsResult struct {
Sheets []SheetInfo `json:"sheets"`
ModelReference string `json:"modelReference,omitempty"`
}
type ListSketches3DResult
ListSketches3DResult is the response of MethodSketch3DList.
type ListSketches3DResult struct {
Sketches []Sketch3DInfo `json:"sketches"`
}
type ListSketchesResult
ListSketchesResult is the response of MethodSketchList.
type ListSketchesResult struct {
Sketches []SketchInfo `json:"sketches"`
}
type ListStandardsResult
ListStandardsResult is the response of MethodDrawingStylesListStandards: the available drafting standards and the active one.
type ListStandardsResult struct {
Standards []string `json:"standards"`
Active string `json:"active"`
}
type ListThemesResult
ListThemesResult is the response of MethodThemeList.
type ListThemesResult struct {
Themes []ThemeSummary `json:"themes"`
}
type ListViewFramesResult
ListViewFramesResult is the response of MethodWindowsListFrames.
type ListViewFramesResult struct {
Frames []ViewFrameInfo `json:"frames"`
}
type ListViewTabsResult
ListViewTabsResult is the response of MethodWindowsListTabs, in strip order.
type ListViewTabsResult struct {
Tabs []ViewTabInfo `json:"tabs"`
}
type ListViewsArgs
ListViewsArgs is the request of MethodViewsList: which document to enumerate.
type ListViewsArgs struct {
Document uint64 `json:"document,omitempty"` // 0 ⇒ active document
}
type ListViewsResult
ListViewsResult is the response of MethodViewsList: every view of a document, which one is active, and the current tiling layout.
type ListViewsResult struct {
Views []ViewInfo `json:"views"`
ActiveIndex int `json:"activeIndex"`
Layout types.ViewLayout `json:"layout"`
}
type ListWebViewsResult
ListWebViewsResult is the response of MethodDialogsListWebViews, in creation order — the WebView(s) enumeration.
type ListWebViewsResult struct {
Views []WebDialogSpec `json:"views"`
}
type ListWorkPlanesResult
ListWorkPlanesResult is the response of MethodWorkPlanesList.
type ListWorkPlanesResult struct {
Planes []WorkPlaneInfo `json:"planes"`
}
type ListWorkSurfacesResult
ListWorkSurfacesResult is the response of MethodWorkSurfacesList.
type ListWorkSurfacesResult struct {
Surfaces []WorkSurfaceInfo `json:"surfaces"`
}
type LoadEnvironmentImageArgs
LoadEnvironmentImageArgs is the request of MethodEnvironmentLoadImage: the path to an equirectangular HDR file (.hdr) to use as the environment.
type LoadEnvironmentImageArgs struct {
FilePath string `json:"filePath"`
}
type LocateUsingPointArgs
LocateUsingPointArgs is the request of MethodBodyLocateUsingPoint.
type LocateUsingPointArgs struct {
BodyIndex int `json:"bodyIndex"`
Point []float64 `json:"point"`
// EntityKind filters the search ("vertex"/"edge"/"face"; empty = any).
EntityKind string `json:"entityKind,omitempty"`
// ProximityTolerance bounds the accepted distance (cm).
ProximityTolerance float64 `json:"proximityTolerance"`
}
type LocateUsingPointResult
LocateUsingPointResult is the response of MethodBodyLocateUsingPoint.
type LocateUsingPointResult struct {
Found bool `json:"found"`
Entity LocatedEntityInfo `json:"entity,omitempty"`
}
type LocatedEntityInfo
LocatedEntityInfo describes one located/hit entity.
type LocatedEntityInfo struct {
Kind string `json:"kind"`
// Key is the persistent reference key; TransientKey the session id.
Key string `json:"key"`
TransientKey uint64 `json:"transientKey"`
// Point is the closest/hit point on the entity; Distance from the query
// point (or along the ray for [MethodBodyFindUsingRay]).
Point []float64 `json:"point,omitempty"`
Distance float64 `json:"distance"`
}
type LogRecord
LogRecord is one entry of the host operation trace. A record is either an operation entry (Method set — a router call, with DurationMicros and OK/Error/Panic) or a structured log entry (Method empty — a captured slog record with Message). Panic carries the recovered value and Stack the goroutine stack when a handler panicked (the kernel-bug signal).
type LogRecord struct {
Seq uint64 `json:"seq"`
TimeMillis int64 `json:"timeMillis"` // Unix ms when the record was created
Level string `json:"level"` // debug|info|warn|error
Method string `json:"method,omitempty"`
DurationMicros int64 `json:"durationMicros,omitempty"`
OK bool `json:"ok,omitempty"`
Message string `json:"message,omitempty"`
Error string `json:"error,omitempty"`
Panic string `json:"panic,omitempty"`
Stack string `json:"stack,omitempty"`
}
type LogsResult
LogsResult is the response of MethodLogsTail: the matching records oldest-first, the next cursor to poll with (the highest Seq seen, or SinceSeq when none matched), and Dropped — how many records aged out of the ring buffer before this poll (a hint that the caller polled too slowly to see everything).
type LogsResult struct {
Records []LogRecord `json:"records"`
NextSeq uint64 `json:"nextSeq"`
Dropped uint64 `json:"dropped,omitempty"`
}
type LogsTailArgs
LogsTailArgs is the request of MethodLogsTail. SinceSeq returns only records with a sequence strictly greater than it (0 ⇒ from the oldest retained record); Level filters to records at or above a minimum severity ("debug"|"info"|"warn"|"error", empty ⇒ all); Max caps how many records are returned (0 ⇒ a server default).
type LogsTailArgs struct {
SinceSeq uint64 `json:"sinceSeq,omitempty"`
Level string `json:"level,omitempty"`
Max int `json:"max,omitempty"`
}
type ManipulatorDragEvent
ManipulatorDragEvent is the push event (type EventManipulatorDrag) streaming a handle gesture: Phase is "start", "move" or "end"; Position is the handle's dragged world position (on the view plane through its start, snapped per the context's inference).
type ManipulatorDragEvent struct {
Type string `json:"type"` // always EventManipulatorDrag
Gizmo string `json:"gizmo"`
Handle string `json:"handle"`
Phase string `json:"phase"`
Position types.Point `json:"position"`
Context DragContext `json:"context"`
}
type ManipulatorHandleSpec
ManipulatorHandleSpec is one add-in drag handle: a world-space hotspot of RadiusPx pixels, typically placed over the add-in's client graphics — the custom-gizmo building block (ManipulatorEvents).
type ManipulatorHandleSpec struct {
ID string `json:"id"`
Position types.Point `json:"position"`
RadiusPx float64 `json:"radiusPx,omitempty"`
}
type MapEntityArgs
MapEntityArgs maps one topology entity between the folded model and the developed flat by reference key. Key is a topology reference key as model.referenceKeys reports it (so a key can be fed straight back in); ToFlat maps folded→flat (false maps flat→folded). The mapping is face-level: a folded top/bottom face maps to the flat front/back face and back.
type MapEntityArgs struct {
Key string `json:"key"`
ToFlat bool `json:"toFlat,omitempty"`
}
type MapEntityResult
MapEntityResult is the reply of mapEntity: the corresponding entity's reference key, its kind ("face"), and whether a counterpart was found.
type MapEntityResult struct {
Key string `json:"key,omitempty"`
Kind string `json:"kind,omitempty"`
Found bool `json:"found"`
}
type MarkingMenuItem
MarkingMenuItem is one radial slot: the command it runs, placed at a quadrant.
type MarkingMenuItem struct {
Quadrant types.ScreenQuadrant `json:"quadrant"`
CommandID string `json:"commandId"`
}
type MarkingMenuView
MarkingMenuView is one environment's radial marking menu: up to eight quadrant slots plus the linear overflow items below them.
type MarkingMenuView struct {
Environment types.Environment `json:"environment"`
Quadrants []MarkingMenuItem `json:"quadrants,omitempty"`
Overflow []string `json:"overflow,omitempty"`
}
type MassPropertiesArgs
MassPropertiesArgs is the request of MethodAnalysisMassProperties: compute the active part's mass properties. DensityGCm3 is the material density in g/cm³ used for the mass (0 ⇒ 1.0, so the mass equals the volume in cm³).
type MassPropertiesArgs struct {
// DensityGCm3 overrides the material density (g/cm³). 0 ⇒ the part's assigned material density,
// falling back to 1.0 when no material is assigned.
DensityGCm3 float64 `json:"densityGCm3,omitempty"`
// Accuracy is the tessellation fidelity ("low"/"medium"/"high"; empty ⇒ medium).
Accuracy string `json:"accuracy,omitempty"`
}
type MassPropertiesResult
MassPropertiesResult is the response of MethodAnalysisMassProperties: the part's combined geometry properties (over all its solid bodies), mass, and mass moment of inertia about the centroid. Lengths are millimetres; inertia is g·mm².
type MassPropertiesResult struct {
VolumeMm3 float64 `json:"volumeMm3"`
SurfaceAreaMm2 float64 `json:"surfaceAreaMm2"`
MassG float64 `json:"massG"`
DensityGCm3 float64 `json:"densityGCm3"`
CentroidXMm float64 `json:"centroidXMm"`
CentroidYMm float64 `json:"centroidYMm"`
CentroidZMm float64 `json:"centroidZMm"`
// Mass moment of inertia about the centroid (g·mm²); Ixy/Iyz/Izx are products of inertia.
InertiaXxGmm2 float64 `json:"inertiaXxGmm2"`
InertiaYyGmm2 float64 `json:"inertiaYyGmm2"`
InertiaZzGmm2 float64 `json:"inertiaZzGmm2"`
InertiaXyGmm2 float64 `json:"inertiaXyGmm2"`
InertiaYzGmm2 float64 `json:"inertiaYzGmm2"`
InertiaZxGmm2 float64 `json:"inertiaZxGmm2"`
// Principal moments of inertia (g·mm²) and their axes (unit vectors, rows aligned to the
// moments) about the centroid.
PrincipalMomentsGmm2 [3]float64 `json:"principalMomentsGmm2"`
PrincipalAxes [3][3]float64 `json:"principalAxes"`
}
type MaterialInfo
MaterialInfo is the JSON shape of a material: identity, density, the property groups, and the id of the appearance it renders with.
type MaterialInfo struct {
ID string `json:"id"`
DisplayName string `json:"displayName"`
Source string `json:"source"`
Density float64 `json:"density"`
Mechanical types.Mechanical `json:"mechanical"`
Thermal types.Thermal `json:"thermal"`
Electrical types.Electrical `json:"electrical"`
// Magnetic carries the magnetostatics constitutive data (μr, Br, Hc, Bsat) for
// soft-magnetic cores and permanent magnets; the zero value is a non-magnetic material.
Magnetic types.Magnetic `json:"magnetic"`
// IsotropyClass is "isotropic" (or empty), "orthotropic", or "transversely-isotropic".
IsotropyClass string `json:"isotropyClass,omitempty"`
// Anisotropic carries the direction-dependent elastic constants when IsotropyClass is
// not isotropic; zero-valued otherwise.
Anisotropic types.AnisotropicElastic `json:"anisotropic"`
AppearanceID string `json:"appearanceId"`
}
type MeasureArgs
MeasureArgs is the request of MethodAnalysisMeasure: measure an entity (or pair) of the active part's body BodyIndex, identified by reference key(s). Type selects the quantity: "length" (edge KeyA), "area" (face KeyA), "distance" (straight line between vertices KeyA and KeyB), "minDistance" (closest approach between the two entities KeyA and KeyB, each a vertex/edge/face), "angle" (between two entities KeyA and KeyB — an edge's direction or a planar face's normal — or, when KeyC is given, the angle at apex vertex KeyB between vertices KeyA and KeyC), or "loopLength" (the perimeter of face KeyA — its outer boundary loop length).
type MeasureArgs struct {
BodyIndex int `json:"bodyIndex,omitempty"`
Type string `json:"type"`
KeyA string `json:"keyA"`
KeyB string `json:"keyB,omitempty"`
KeyC string `json:"keyC,omitempty"`
}
type MeasureResult
MeasureResult is the response of MethodAnalysisMeasure: the measured value and its unit ("mm" for length/distance/minDistance, "mm²" for area, "deg" for angle).
type MeasureResult struct {
Type string `json:"type"`
Value float64 `json:"value"`
Unit string `json:"unit"`
}
type MeshColorsResult
MeshColorsResult is the reply of MethodViewportSetMeshColors: the resulting state.
type MeshColorsResult struct {
On bool `json:"on"`
PerTriangle bool `json:"perTriangle"`
}
type MessageEntry
MessageEntry is one message-center entry.
type MessageEntry struct {
Text string `json:"text"`
Severity types.MessageSeverity `json:"severity,omitempty"`
}
type MessageSectionView
MessageSectionView is one section of MethodErrorsList: its own messages plus nested sections.
type MessageSectionView struct {
Title string `json:"title,omitempty"`
Messages []MessageEntry `json:"messages,omitempty"`
Sections []MessageSectionView `json:"sections,omitempty"`
}
type MiniToolbarChangedEvent
MiniToolbarChangedEvent is the push event (type EventMiniToolbarChanged) fired when the user edits one control: the control's current value fields, per kind (a button click carries just the ids).
type MiniToolbarChangedEvent struct {
Type string `json:"type"` // always EventMiniToolbarChanged
Toolbar string `json:"toolbar"`
Control string `json:"control"`
Value string `json:"value,omitempty"`
Checked bool `json:"checked,omitempty"`
Number float64 `json:"number,omitempty"`
Selected int `json:"selected,omitempty"`
}
type MiniToolbarCommittedEvent
MiniToolbarCommittedEvent is the push event (type EventMiniToolbarCommitted) fired when the user presses OK, Apply or Cancel; Gesture is "ok", "apply" or "cancel" (ok and cancel also dismiss the toolbar).
type MiniToolbarCommittedEvent struct {
Type string `json:"type"` // always EventMiniToolbarCommitted
Toolbar string `json:"toolbar"`
Gesture string `json:"gesture"`
}
type MiniToolbarControlSpec
MiniToolbarControlSpec is one declarative control. ID names the control in change events and updates. The value fields are per kind: Checked (checkbox), Number + Min/Max (slider), Value (textbox / value-editor expression / text-editor), Options + Selected (combo).
type MiniToolbarControlSpec struct {
Kind types.MiniToolbarControlKind `json:"kind,omitempty"`
ID string `json:"id"`
Label string `json:"label,omitempty"`
Tooltip string `json:"tooltip,omitempty"`
Value string `json:"value,omitempty"`
Checked bool `json:"checked,omitempty"`
Number float64 `json:"number,omitempty"`
Min float64 `json:"min,omitempty"`
Max float64 `json:"max,omitempty"`
Options []string `json:"options,omitempty"`
Selected int `json:"selected,omitempty"`
}
type MiniToolbarSpec
MiniToolbarSpec is one mini-toolbar. Anchor places it: a 3D model point the host projects each frame (Anchor non-nil), else viewport-relative pixels (ScreenX/Y). Command, when set, ties the toolbar's lifetime to that command: the host removes it when the active tool commits or cancels — the interaction-graphics lifecycle. OK/Apply/Cancel render when their Show flags are set; the user's choice arrives as a miniToolbar.committed event (ok and cancel also dismiss the toolbar).
type MiniToolbarSpec struct {
ID string `json:"id"`
Command string `json:"command,omitempty"`
Anchor *types.Point `json:"anchor,omitempty"`
ScreenX float64 `json:"screenX,omitempty"`
ScreenY float64 `json:"screenY,omitempty"`
Visible bool `json:"visible"`
HeadsUpText string `json:"headsUpText,omitempty"`
ShowOK bool `json:"showOK,omitempty"`
ShowApply bool `json:"showApply,omitempty"`
ShowCancel bool `json:"showCancel,omitempty"`
Controls []MiniToolbarControlSpec `json:"controls,omitempty"`
}
type MinimumDistanceArgs
MinimumDistanceArgs is the request of MethodBodyMinimumDistance: the closest approach between the body and a transient probe polyline (e.g. a CAM travel path) — the out-of-process minimum-distance measurement for a transient operand. Points is a flat [x,y,z, x,y,z, ...] list in database units (cm); consecutive pairs are the probe's segments, and a lone point measures that point to the body. Radius (cm) widens the probe into a swept-cylinder cross-section (the tool), subtracted from the raw distance and clamped at 0 — 0 leaves the probe a bare polyline.
type MinimumDistanceArgs struct {
BodyIndex int `json:"bodyIndex"`
Points []float64 `json:"points"`
Radius float64 `json:"radius,omitempty"`
}
type MinimumDistanceResult
MinimumDistanceResult is the response of MethodBodyMinimumDistance: the minimum distance in database units (cm), 0 when the probe (after Radius) touches or enters the body's material.
type MinimumDistanceResult struct {
Distance float64 `json:"distance"`
}
type MirrorComponentsArgs
MirrorComponentsArgs is the request of MethodAssemblyMirror: add a mirror of each Source occurrence (by session id), reflected across the plane through Origin with unit Normal. Each mirror shares its source's component, handed by the reflection transform.
type MirrorComponentsArgs struct {
Sources []uint64 `json:"sources"`
Origin [3]float64 `json:"origin"`
Normal [3]float64 `json:"normal"`
}
type MirrorFeatureArgs
MirrorFeatureArgs is the args object for a FeatureKindMirror MethodFeaturesAdd call: mirror SourceFeatures across the plane through Origin (default origin) with the given Normal ([x,y,z], e.g. [1,0,0] for the YZ plane) (#189).
type MirrorFeatureArgs struct {
SourceFeatures []string `json:"sourceFeatures"`
Origin []float64 `json:"origin,omitempty"`
Normal []float64 `json:"normal"`
}
type MirrorIntoPartArgs
MirrorIntoPartArgs is the request of MethodAssemblyMirrorIntoPart: like MethodAssemblyMirror, but for each chiral Source it derives a NEW opposite-hand PART document (the source geometry reflected across the plane through Origin with unit Normal, baked into its own editable, separately-openable part) and places THAT as the mirrored occurrence — rather than sharing the source definition handed only by the placement. The reply is the created occurrences (each instancing a freshly derived mirror part). A Source that does not reference a saved component document is rejected (there is no source document to derive from).
type MirrorIntoPartArgs struct {
Sources []uint64 `json:"sources"`
Origin [3]float64 `json:"origin"`
Normal [3]float64 `json:"normal"`
}
type ModelChangedEvent
ModelChangedEvent is the EventModelChanged push payload (#148): a committed batch of model changes on a document — feature/sketch/parameter mutations the engine just applied. Document is the affected document's display name; Changes is how many changes were in the batch. An add-in matches on Type and re-queries the document's state.
type ModelChangedEvent struct {
Type string `json:"type"`
Document string `json:"document,omitempty"`
Changes int `json:"changes,omitempty"`
}
type ModelHealthArgs
ModelHealthArgs is the request of MethodAnalysisModelHealth: aggregate the active part's feature health. It has no fields — it inspects the active document.
type ModelHealthArgs struct{}
type ModelHealthResult
ModelHealthResult is the response of MethodAnalysisModelHealth: the overall (worst) status across the part's features, the count of sick features, and every feature that is not OK so the UI can list them for repair.
type ModelHealthResult struct {
Overall string `json:"overall"`
SickCount int `json:"sickCount"`
Unhealthy []FeatureHealth `json:"unhealthy,omitempty"`
}
type ModelStateInfo
ModelStateInfo is one model state: its identity and the names of the representation it selects in each family (empty ⇒ that family is left unchanged on activate).
type ModelStateInfo struct {
ID uint64 `json:"id"`
Name string `json:"name"`
DesignView string `json:"designView,omitempty"`
Positional string `json:"positional,omitempty"`
LevelOfDetail string `json:"levelOfDetail,omitempty"`
Active bool `json:"active,omitempty"`
}
type ModelStateResult
Result envelopes.
type ModelStateResult struct {
ModelState ModelStateInfo `json:"modelState"`
}
type ModelStatesResult
Result envelopes.
type ModelStatesResult struct {
ModelStates []ModelStateInfo `json:"modelStates"`
}
type ModelTreeResult
ModelTreeResult is the response of MethodModelTree: a read-only snapshot of the active part's structure (parameter names, sketch count, feature program, body count).
type ModelTreeResult struct {
Document string `json:"document"`
Parameters []string `json:"parameters"`
Sketches int `json:"sketches"`
Features []FeatureInfo `json:"features"`
Bodies int `json:"bodies"`
}
type MoveFreeformVerticesArgs
MoveFreeformVerticesArgs is the request of MethodFreeformMoveVertices: translate the selected cage vertices (by cage index) by [dx,dy,dz] in document units. Indices outside the cage are rejected with the offending index and the cage size.
type MoveFreeformVerticesArgs struct {
ID uint64 `json:"id"`
Vertices []int `json:"vertices"`
Translation [3]float64 `json:"translation"`
}
type NameValueEntry
NameValueEntry is one named bag value: the canonical JSON shape of a NameValueMap element, {"name": …, "value": {"type": …, "value": …}}.
type NameValueEntry struct {
Name string `json:"name"`
Value types.Variant `json:"value"`
}
type NameValueMap
NameValueMap is the ordered options/context bag: entry order is meaningful and preserved (insert-before/after semantics live on the client collection).
type NameValueMap []NameValueEntry
type NamedViewInfo
NamedViewInfo is the JSON shape of one saved named view: its name and the camera frame it restores. It is the element of NamedViewsResult and the response of MethodViewsCaptureNamed.
type NamedViewInfo struct {
Name string `json:"name"`
Camera CameraView `json:"camera"`
}
type NamedViewRefArgs
NamedViewRefArgs is the request of MethodViewsRestoreNamed / MethodViewsDeleteNamed: the named view to restore (its camera is applied to the active view, animated) or delete.
type NamedViewRefArgs struct {
Document uint64 `json:"document,omitempty"`
Name string `json:"name"`
}
type NamedViewsResult
NamedViewsResult is the response of MethodViewsListNamed: every saved named view of a document.
type NamedViewsResult struct {
Views []NamedViewInfo `json:"views"`
}
type NearestPointArgs
NearestPointArgs is the request of MethodPointCloudsNearestPoint: snap the model-space query Point onto the named cloud — find its scan point nearest the query. The whole cloud is searched (placement-transformed but not crop-limited), so a snap finds a point even outside an active crop.
type NearestPointArgs struct {
Cloud string `json:"cloud"`
Point types.Point `json:"point"`
}
type NearestPointResult
NearestPointResult is the response of MethodPointCloudsNearestPoint: the nearest scan point in model space and the distance to the query. Found is false only for an empty cloud.
type NearestPointResult struct {
Point types.Point `json:"point"`
Distance float64 `json:"distance"`
Found bool `json:"found"`
}
type NewOccurrencesResult
NewOccurrencesResult is the reply of the additive replication ops (pattern, mirror, copy): the occurrences they added, in element/source order.
type NewOccurrencesResult struct {
Created []OccurrenceInfo `json:"created"`
}
type NormalDebugResult
NormalDebugResult is the reply of MethodViewportSetNormalDebug: the resulting state.
type NormalDebugResult struct {
On bool `json:"on"`
}
type OKResult
OKResult is the trivial success payload for mutating methods with no return value.
type OKResult struct {
OK bool `json:"ok"`
}
type ObjectRefList
ObjectRefList is the ordered object-reference list accepted wherever the reference API takes an ObjectCollection (feature inputs, pattern element lists, graphics inputs).
type ObjectRefList []types.ObjectRef
type ObjectRenamedEvent
ObjectRenamedEvent is the JSON shape of the EventObjectRenamed push event: a document object's name changed. Kind is the object kind (body/sketch/feature/occurrence/document); Key is the object's stable reference key (empty for the document itself); OldName/NewName are the prior and new names.
type ObjectRenamedEvent struct {
Type string `json:"type"` // always EventObjectRenamed
Document uint64 `json:"document"`
Kind types.ObjectKind `json:"kind"`
Key string `json:"key,omitempty"`
OldName string `json:"oldName,omitempty"`
NewName string `json:"newName"`
}
type ObjectVisibilityView
ObjectVisibilityView is the View ▸ Object-visibility toggle group: which datum and sketch overlays draw (hidden geometry is also not pickable).
type ObjectVisibilityView struct {
WorkPlanes bool `json:"workPlanes"`
WorkAxes bool `json:"workAxes"`
WorkPoints bool `json:"workPoints"`
Sketches bool `json:"sketches"`
}
type OccurrenceDOFInfo
OccurrenceDOFInfo reports one occurrence's remaining free degrees of freedom after a solve — 0 when fully constrained (or grounded), up to 6 when free. It is the "this part is under-constrained (N DOF remain)" diagnostic (cross-ref #346).
type OccurrenceDOFInfo struct {
Occurrence uint64 `json:"occurrence"`
DegreesOfFreedom int `json:"degreesOfFreedom"`
}
type OccurrenceEventPayload
OccurrenceEventPayload is the JSON shape of the five occurrence push events (EventOccurrenceAdded, EventOccurrenceDeleted, EventOccurrenceReplaced, EventOccurrenceTransformed, EventOccurrenceSuppressed). Document is the assembly document's id and Occurrence the affected occurrence's session id, with Name its instance name (e.g. "bracket:2"). The remaining fields are populated only for the events that carry them: Suppressed reports the new state on a suppressed event; Transform and Previous carry the new and prior placements on a transformed event (a coalesced solver drag reports the net move — Previous is the pre-drag placement). Add/delete/replace carry identity alone.
type OccurrenceEventPayload struct {
Type string `json:"type"`
Document uint64 `json:"document"`
Occurrence uint64 `json:"occurrence"`
Name string `json:"name,omitempty"`
Suppressed bool `json:"suppressed,omitempty"`
Transform *types.Matrix `json:"transform,omitempty"`
Previous *types.Matrix `json:"previous,omitempty"`
}
type OccurrenceInfo
OccurrenceInfo is one node of the assembly occurrence tree: a placed component, its per-instance state, and any nested sub-assembly occurrences. Default-false state flags and an empty child list are omitted.
type OccurrenceInfo struct {
ID uint64 `json:"id"`
Name string `json:"name"`
Transform types.Matrix `json:"transform"`
Suppressed bool `json:"suppressed,omitempty"`
Grounded bool `json:"grounded,omitempty"`
Adaptive bool `json:"adaptive,omitempty"`
Flexible bool `json:"flexible,omitempty"` // subassembly solves independently per placement (M12-F06)
Substitute bool `json:"substitute,omitempty"`
Children []OccurrenceInfo `json:"children,omitempty"`
}
type OccurrenceResult
OccurrenceResult is the reply of the single-occurrence operations (place, transform, ground, suppress, replace): the affected occurrence's refreshed info.
type OccurrenceResult struct {
Occurrence OccurrenceInfo `json:"occurrence"`
}
type OccurrencesResult
OccurrencesResult is the reply of MethodAssemblyOccurrences and of MethodAssemblyRemove: the active assembly's occurrence tree (top-level occurrences, each with nested children).
type OccurrencesResult struct {
Occurrences []OccurrenceInfo `json:"occurrences"`
}
type OffsetPlanarWireArgs
OffsetPlanarWireArgs is the request of MethodWireOffsetPlanar. Positive distance offsets toward normal × tangent (the left of travel about the plane normal); CornerClosure is a oblikovati.org/api/types.OffsetCornerClosureType wire spelling. The wire lives either on a document body (BodyIndex) or on a transient body (Handle > 0 — sections and silhouettes produce those).
type OffsetPlanarWireArgs struct {
BodyIndex int `json:"bodyIndex,omitempty"`
Handle int `json:"handle,omitempty"`
WireIndex int `json:"wireIndex"`
Normal []float64 `json:"normal"`
Distance float64 `json:"distance"`
CornerClosure string `json:"cornerClosure,omitempty"`
}
type OffsetPlanarWireResult
OffsetPlanarWireResult is the response of MethodWireOffsetPlanar: the offset wires land on a transient body (addressable via the brep.* methods) and are also returned sampled for immediate consumption.
type OffsetPlanarWireResult struct {
Handle int `json:"handle"`
Wires []WirePolyline `json:"wires,omitempty"`
}
type OffsetSketchArgs
OffsetSketchArgs is the request of MethodSketchOffset: offset Entity (a line/circle/arc id) by the unit-bearing Distance (signed — a parallel line to the left of A→B, or a concentric circle/arc of radius r+d, for a positive distance). When Entities (a chain of connected line ids, in order) is set instead, the whole chain is offset and mitred. When ProfileIndex is set, the whole CLOSED region of that profile is offset (OpenSCAD offset(r): Distance>0 grows, <0 shrinks; convex corners rounded with arcs of radius |Distance|, sampled into ArcSegments spans per corner, default 8).
type OffsetSketchArgs struct {
SketchIndex int `json:"sketchIndex"`
Entity uint64 `json:"entity,omitempty"`
Entities []uint64 `json:"entities,omitempty"`
ProfileIndex *int `json:"profileIndex,omitempty"`
ArcSegments int `json:"arcSegments,omitempty"`
Distance string `json:"distance"`
}
type OffsetSketchResult
OffsetSketchResult is the response of MethodSketchOffset: the primary new entity's id and kind, plus all created entity ids (more than one for a chain offset).
type OffsetSketchResult struct {
EntityID uint64 `json:"entityId"`
Kind string `json:"kind"`
Created []uint64 `json:"created,omitempty"`
}
type OpenDocumentArgs
OpenDocumentArgs is the request of MethodDocumentsOpen: the typed open options (replacing the reference API's untyped name-value bag). DeferContent opens a reference stub — identity registered, content not paged in.
type OpenDocumentArgs struct {
FullDocumentName string `json:"fullDocumentName"`
Visible bool `json:"visible"`
DeferContent bool `json:"deferContent,omitempty"`
}
type OptionGroupView
OptionGroupView is the response of MethodOptionsGetGroup and the request of MethodOptionsSetGroup: exactly one of the group fields is set, matching Group.
type OptionGroupView struct {
Group string `json:"group"`
General *GeneralOptionsView `json:"general,omitempty"`
Display *DisplayOptionsView `json:"display,omitempty"`
Sketch *SketchOptionsView `json:"sketch,omitempty"`
Part *PartOptionsView `json:"part,omitempty"`
Save *SaveOptionsView `json:"save,omitempty"`
}
type OrientationResult
OrientationResult is the reply of addOrientation/activateOrientation: the affected orientation after the call.
type OrientationResult struct {
Orientation FlatPatternOrientationInfo `json:"orientation"`
}
type OrientationsResult
OrientationsResult is the reply of listOrientations: every orientation in creation order (the active one flagged).
type OrientationsResult struct {
Orientations []FlatPatternOrientationInfo `json:"orientations"`
}
type PanelControlSpec
PanelControlSpec is one declarative control of a dockable window's content. A PanelButton executes CommandID when clicked, so the add-in observes it through the ordinary command-ended event — no separate click plumbing. Text is the label/button caption (or the field label for editable controls); ID names the control. Editable controls (textBox/valueEditor/checkBox/dropdown/comboBox/slider) carry their current Value; dropdown/comboBox list their choices in Options; slider and valueEditor bound the input with Min/Max/Step. When the user edits an editable control the host pushes a PanelValueChangedEvent carrying the control's ID + new Value.
Container kinds (grid/group/tabs, ADR-0019) nest: they own Children and are laid out rather than drawn. A grid declares its column tracks in Columns with ColumnGap/RowGap spacing, and each child may carry a Cell placement (nil = auto-flow). A group is a titled vertical stack (Title is its caption). Tabs treats each child as one tab whose Title is the caption. All these fields are omitempty, so a leaf control marshals exactly as before — older hosts ignore the unknown fields and degrade an unknown kind to its Text.
type PanelControlSpec struct {
Kind types.PanelControlKind `json:"kind,omitempty"`
ID string `json:"id,omitempty"`
Text string `json:"text,omitempty"`
CommandID string `json:"commandId,omitempty"`
Value string `json:"value,omitempty"` // current value of an editable control
Options []string `json:"options,omitempty"` // choices for dropdown/comboBox
Min float64 `json:"min,omitempty"` // slider/valueEditor lower bound
Max float64 `json:"max,omitempty"` // slider/valueEditor upper bound
Step float64 `json:"step,omitempty"` // slider/valueEditor increment
// Container fields (grid/group/tabs only).
Title string `json:"title,omitempty"` // group/tab caption
Children []PanelControlSpec `json:"children,omitempty"` // nested controls of a container
Columns []types.GridTrack `json:"columns,omitempty"` // grid: column tracks (rows are auto-height)
ColumnGap float64 `json:"columnGap,omitempty"` // grid: px gap between columns
RowGap float64 `json:"rowGap,omitempty"` // grid: px gap between rows
Cell *types.GridCell `json:"cell,omitempty"` // this control's placement in its parent grid
Rows []PanelReferenceRow `json:"rows,omitempty"` // referenceList: current picked refs
Accepts []string `json:"accepts,omitempty"` // referenceList: allowed kinds ("face"/"edge"/"vertex"); empty = any
}
type PanelReferenceRow
PanelReferenceRow is one row of a referenceList control: a host geometry selection reference plus an optional display label (the host derives one, e.g. "Face3", when empty).
type PanelReferenceRow struct {
Ref string `json:"ref"`
Label string `json:"label,omitempty"`
}
type PanelReferencesChangedEvent
PanelReferencesChangedEvent is the push event (type EventPanelReferencesChanged) fired when a referenceList control's rows change — by the user's Add-from-selection / per-row Remove or by MethodDockableWindowsSetReferences. Refs is the FULL new set (bulk-state, matching the rest of the panel model); Action is "add"/"remove" for diagnostics only.
type PanelReferencesChangedEvent struct {
Type string `json:"type"` // always EventPanelReferencesChanged
WindowId string `json:"windowId"`
ControlId string `json:"controlId"`
Refs []string `json:"refs"`
Action string `json:"action,omitempty"`
}
type PanelValueChangedEvent
PanelValueChangedEvent is the push event (type EventPanelValueChanged) fired when the user edits an editable control of an add-in dockable window (M05-F03). It carries the owning window's id, the control's id, and the control's new Value — the add-in updates its model from it (and may re-Set the window to refresh derived labels). This is the editable- panel counterpart of CommandStartedEvent (which still observes button clicks).
type PanelValueChangedEvent struct {
Type string `json:"type"` // always EventPanelValueChanged
WindowId string `json:"windowId"`
ControlId string `json:"controlId"`
Value string `json:"value"`
}
type ParameterChangedEvent
ParameterChangedEvent is the JSON shape of an EventParameterChanged push event (#148): a parameter's expression/value changed on a document. Like the other push events it is delivered to an add-in's Notify entry point (ADR-0016) with no request/response method — an add-in matches on Type and reads the parameter's new state from Parameter (so it need not re-query).
type ParameterChangedEvent struct {
Type string `json:"type"` // always EventParameterChanged
Document uint64 `json:"document"`
Parameter ParameterInfo `json:"parameter"`
}
type ParameterDetail
ParameterDetail is the full member-level view of one parameter (response of MethodParametersGetDetail and of the parameter mutation methods). It embeds ParameterInfo, adding units, presentation, tolerance, the multi-value list, custom-property exposure and the dependency neighborhood. ModelValue is in database units; DisplayFormat and ModelValueType carry the wire spellings of types.ParameterDisplayFormat and types.ModelValueType. Tolerance is nil for text and true/false parameters.
type ParameterDetail struct {
ParameterInfo
Units string `json:"units,omitempty"`
Comment string `json:"comment,omitempty"`
IsKey bool `json:"isKey,omitempty"`
Visible bool `json:"visible"`
InUse bool `json:"inUse,omitempty"`
Precision int `json:"precision"`
DisplayFormat string `json:"displayFormat"`
ExposedAsProperty bool `json:"exposedAsProperty,omitempty"`
ModelValue float64 `json:"modelValue"`
ModelValueType string `json:"modelValueType"`
Tolerance *ToleranceInfo `json:"tolerance,omitempty"`
ExpressionList *ExpressionListInfo `json:"expressionList,omitempty"`
CustomPropertyFormat *CustomPropertyFormatInfo `json:"customPropertyFormat,omitempty"`
DrivenBy []string `json:"drivenBy,omitempty"`
Dependents []string `json:"dependents,omitempty"`
}
type ParameterExportResult
ParameterExportResult is the response of MethodParametersExport: the document's user parameters as the documented parameter-set XML.
type ParameterExportResult struct {
XML string `json:"xml"`
}
type ParameterExpressionListArgs
ParameterExpressionListArgs is the request of MethodParametersSetExpressionList. An empty Expressions clears the list, returning the parameter to single-valued.
type ParameterExpressionListArgs struct {
Name string `json:"name"`
Expressions []string `json:"expressions,omitempty"`
AllowCustomValues bool `json:"allowCustomValues,omitempty"`
CustomOrder bool `json:"customOrder,omitempty"`
}
type ParameterGroupAddArgs
ParameterGroupAddArgs is the request of MethodParametersGroupsAdd. An empty DisplayName defaults to the internal name.
type ParameterGroupAddArgs struct {
InternalName string `json:"internalName"`
DisplayName string `json:"displayName,omitempty"`
ClientID string `json:"clientId,omitempty"`
}
type ParameterGroupDeleteArgs
ParameterGroupDeleteArgs is the request of MethodParametersGroupsDelete. DeleteParameters opts into the cascade that also deletes the member parameters; without it only the group goes, the members stay.
type ParameterGroupDeleteArgs struct {
InternalName string `json:"internalName"`
DeleteParameters bool `json:"deleteParameters,omitempty"`
}
type ParameterGroupDisplayNameArgs
ParameterGroupDisplayNameArgs is the request of MethodParametersGroupsSetDisplayName: the group's editable display name. The internal name can never change.
type ParameterGroupDisplayNameArgs struct {
InternalName string `json:"internalName"`
DisplayName string `json:"displayName"`
}
type ParameterGroupInfo
ParameterGroupInfo is the JSON shape of one custom parameter group: the immutable internal name that identifies it, the editable display name, the owning client id (add-in provenance, empty for user-created groups), and the member parameter names in collection order.
type ParameterGroupInfo struct {
InternalName string `json:"internalName"`
DisplayName string `json:"displayName"`
ClientID string `json:"clientId,omitempty"`
Members []string `json:"members,omitempty"`
}
type ParameterGroupMemberArgs
ParameterGroupMemberArgs is the request of MethodParametersGroupsAddMember / MethodParametersGroupsRemoveMember: one parameter (by name) and the group it joins or leaves.
type ParameterGroupMemberArgs struct {
InternalName string `json:"internalName"`
Parameter string `json:"parameter"`
}
type ParameterImportArgs
ParameterImportArgs is the request of MethodParametersImport: a parameter-set XML document. Import validates names, expressions, and units before touching the model and rejects the whole set naming the offending entry.
type ParameterImportArgs struct {
XML string `json:"xml"`
}
type ParameterImportResult
ParameterImportResult reports what the import did: parameters newly created and existing parameters whose expression or metadata changed.
type ParameterImportResult struct {
Added int `json:"added"`
Updated int `json:"updated"`
}
type ParameterInfo
ParameterInfo is the JSON shape of a parameter: its authored expression and its evaluated value formatted in the document's display units. Health is empty when the parameter is healthy.
type ParameterInfo struct {
Name string `json:"name"`
Kind string `json:"kind"`
Expression string `json:"expression"`
Value string `json:"value"`
Health string `json:"health,omitempty"`
}
type ParameterNameArgs
ParameterNameArgs identifies a parameter by name (request of MethodParametersGet).
type ParameterNameArgs struct {
Name string `json:"name"`
}
type ParameterNamesResult
ParameterNamesResult is the response of MethodParametersDrivenBy / MethodParametersDependents: the names of the directly linked parameters.
type ParameterNamesResult struct {
Names []string `json:"names,omitempty"`
}
type ParameterSetArgs
ParameterSetArgs is the request of MethodParametersAdd / MethodParametersSet: a parameter name and a unit-bearing expression (e.g. "4 cm").
type ParameterSetArgs struct {
Name string `json:"name"`
Expression string `json:"expression"`
}
type ParameterSettingsInfo
ParameterSettingsInfo is the JSON shape of the document's parameter settings (response of MethodParametersGetSettings and of MethodParametersSetSettings). The standard tolerances are unit-bearing expressions applied to dimensions without an explicit tolerance when UseStandardTolerances is on; the precisions are decimal places for linear and angular dimension display; DimensionDisplayType carries the wire spelling of types.DimensionDisplayType.
type ParameterSettingsInfo struct {
LinearStandardTolerance string `json:"linearStandardTolerance,omitempty"`
AngularStandardTolerance string `json:"angularStandardTolerance,omitempty"`
UseStandardTolerances bool `json:"useStandardTolerances,omitempty"`
ExportStandardTolerances bool `json:"exportStandardTolerances,omitempty"`
LinearDimensionPrecision int `json:"linearDimensionPrecision"`
AngularDimensionPrecision int `json:"angularDimensionPrecision"`
DimensionDisplayType string `json:"dimensionDisplayType"`
DisplayParameterAsExpression bool `json:"displayParameterAsExpression,omitempty"`
}
type ParameterSettingsUpdateArgs
ParameterSettingsUpdateArgs is the request of MethodParametersSetSettings. Nil fields are left unchanged (pointer fields distinguish unchanged from zero); DimensionDisplayType takes a wire spelling.
type ParameterSettingsUpdateArgs struct {
LinearStandardTolerance *string `json:"linearStandardTolerance,omitempty"`
AngularStandardTolerance *string `json:"angularStandardTolerance,omitempty"`
UseStandardTolerances *bool `json:"useStandardTolerances,omitempty"`
ExportStandardTolerances *bool `json:"exportStandardTolerances,omitempty"`
LinearDimensionPrecision *int `json:"linearDimensionPrecision,omitempty"`
AngularDimensionPrecision *int `json:"angularDimensionPrecision,omitempty"`
DimensionDisplayType *string `json:"dimensionDisplayType,omitempty"`
DisplayParameterAsExpression *bool `json:"displayParameterAsExpression,omitempty"`
}
type ParameterSweepArgs
ParameterSweepArgs is the request of MethodParametersSetAllModelValueType: drive every toleranced parameter's model-value selection to one bound (nominal/lower/upper/median wire spellings) for limit-stack studies.
type ParameterSweepArgs struct {
ModelValueType string `json:"modelValueType"`
}
type ParameterSweepResult
ParameterSweepResult reports how many toleranced parameters the sweep moved.
type ParameterSweepResult struct {
Affected int `json:"affected"`
}
type ParameterToleranceArgs
ParameterToleranceArgs is the request of MethodParametersSetTolerance. Mode is one of "default", "deviation", "symmetric", "limits", "min", "max". Upper/Lower are unit-bearing expressions in the parameter's unit (e.g. "0.1 mm"): deviation takes both as deviations from nominal, symmetric takes Upper as the ± band, limits takes both as absolute limit values, and the remaining modes take none.
type ParameterToleranceArgs struct {
Name string `json:"name"`
Mode string `json:"mode"`
Upper string `json:"upper,omitempty"`
Lower string `json:"lower,omitempty"`
}
type ParameterUpdateArgs
ParameterUpdateArgs is the request of MethodParametersUpdate: presentation and exposure mutations for one parameter. Nil fields are left unchanged. DisplayFormat and ModelValueType take wire spellings; CustomPropertyFormat replaces the whole format when present.
type ParameterUpdateArgs struct {
Name string `json:"name"`
Comment *string `json:"comment,omitempty"`
IsKey *bool `json:"isKey,omitempty"`
Visible *bool `json:"visible,omitempty"`
Precision *int `json:"precision,omitempty"`
DisplayFormat *string `json:"displayFormat,omitempty"`
ExposedAsProperty *bool `json:"exposedAsProperty,omitempty"`
ModelValueType *string `json:"modelValueType,omitempty"`
CustomPropertyFormat *CustomPropertyFormatInfo `json:"customPropertyFormat,omitempty"`
}
type PartOptionsView
PartOptionsView is the "part" group: part-modeling defaults.
type PartOptionsView struct {
ChamferFlatCorners bool `json:"chamferFlatCorners"`
}
type Path3DInfo
Path3DInfo is one enumerated path from MethodSketch3DPaths: a maximal connected chain of line/arc segments — a sweep/loft rail. Index identifies it; Closed reports whether it forms a loop; Points is the number of ordered vertices.
type Path3DInfo struct {
Index int `json:"index"`
Closed bool `json:"closed"`
Points int `json:"points"`
}
type PlaceByDefinitionArgs
PlaceByDefinitionArgs is the request of MethodAssemblyPlaceByDefinition: place another instance of the component that occurrence Source (by session id) already instances, under Name at Transform — reusing the shared definition without re-resolving a document.
type PlaceByDefinitionArgs struct {
Source uint64 `json:"source"`
Name string `json:"name"`
Transform types.Matrix `json:"transform"`
}
type PlaceByDefinitionBatchArgs
PlaceByDefinitionBatchArgs is the request of MethodAssemblyPlaceByDefinitionBatch: place MANY instances of the component Source already instances, in one call. Placing copies one at a time bumps the assembly's geometry version per call, so a live host recomputes/re-tessellates per placement — batching collapses that to a single recompute, the difference between minutes and seconds for a large (e.g. 10k-fastener) assembly.
type PlaceByDefinitionBatchArgs struct {
Source uint64 `json:"source"`
Placements []BatchPlacement `json:"placements"`
}
type PlaceByDefinitionBatchResult
PlaceByDefinitionBatchResult is the response of MethodAssemblyPlaceByDefinitionBatch: the new occurrences in placement order.
type PlaceByDefinitionBatchResult struct {
Occurrences []OccurrenceInfo `json:"occurrences"`
}
type PlaceOccurrenceArgs
PlaceOccurrenceArgs is the request of MethodAssemblyPlace: place the component held by the open Document (by document id) into the active assembly under Name at Transform. The document's content is shared (the flyweight), so every placement tracks its edits. The document must be an open part or assembly, not a drawing or reference stub.
type PlaceOccurrenceArgs struct {
Document uint64 `json:"document"`
Name string `json:"name"`
Transform types.Matrix `json:"transform"`
}
type PlateInfo
PlateInfo is one developed flat plate — a connected flat region of a (possibly multi-body) sheet-metal part: its index, and its extents/area under the active orientation (database units cm; cm²).
type PlateInfo struct {
Index int `json:"index"`
Length float64 `json:"length"`
Width float64 `json:"width"`
Area float64 `json:"area"`
}
type PlatesResult
PlatesResult is the reply of listPlates: the developed flat's plates (one per connected region).
type PlatesResult struct {
Plates []PlateInfo `json:"plates"`
}
type PointCloudCropArgs
PointCloudCropArgs names one crop on a cloud — the request of MethodPointCloudsDeleteCrop.
type PointCloudCropArgs struct {
Cloud string `json:"cloud"`
Crop string `json:"crop"`
}
type PointCloudCropInfo
PointCloudCropInfo is one crop volume: the owning cloud, the crop name, whether it is active, and its model-space box corners.
type PointCloudCropInfo struct {
Cloud string `json:"cloud"`
Crop string `json:"crop"`
Active bool `json:"active"`
Min types.Point `json:"min"`
Max types.Point `json:"max"`
}
type PointCloudInfo
PointCloudInfo is one attached cloud's state. Transform is the cloud→model placement; Scale is the uniform cloud→model factor. TotalPointCount is the scan's size; DisplayedPointCount is how many render after MaximumPointCount is applied (0 = unbounded).
type PointCloudInfo struct {
Name string `json:"name"`
Source string `json:"source,omitempty"`
Visible bool `json:"visible"`
Scale float64 `json:"scale"`
Transform types.Matrix `json:"transform"`
TotalPointCount int `json:"totalPointCount"`
DisplayedPointCount int `json:"displayedPointCount"`
MaximumPointCount int `json:"maximumPointCount,omitempty"`
}
type PointCloudNameArgs
PointCloudNameArgs names a single cloud — the request of MethodPointCloudsGet and MethodPointCloudsDelete.
type PointCloudNameArgs struct {
Name string `json:"name"`
}
type PointCloudSpaceArgs
PointCloudSpaceArgs is the request of MethodPointCloudsToModelSpace / MethodPointCloudsFromModelSpace: a point to map between cloud and model space.
type PointCloudSpaceArgs struct {
Name string `json:"name"`
Point types.Point `json:"point"`
}
type PointCloudSpaceResult
PointCloudSpaceResult is the response of the space-conversion methods: the mapped point. OK is false from fromModelSpace when the cloud's placement is non-invertible.
type PointCloudSpaceResult struct {
Point types.Point `json:"point"`
OK bool `json:"ok"`
}
type PositionalInfo
PositionalInfo is one positional representation: its identity and the count of constraint/ joint value overrides it carries.
type PositionalInfo struct {
RepresentationInfo
OverrideCount int `json:"overrideCount,omitempty"`
}
type PositionalResult
Result envelopes.
type PositionalResult struct {
Representation PositionalInfo `json:"representation"`
}
type PositionalsResult
Result envelopes.
type PositionalsResult struct {
Representations []PositionalInfo `json:"representations"`
}
type ProblemEntityInfo
ProblemEntityInfo is one offending entity of a failed validity check.
type ProblemEntityInfo struct {
Kind string `json:"kind"`
Key string `json:"key"`
TransientKey uint64 `json:"transientKey"`
Issue string `json:"issue"`
}
type Profile3DInfo
Profile3DInfo is one enumerated profile from MethodSketch3DProfiles: a closed, planar loop of the 3D sketch. Index feeds a planar-section feature; Area is the enclosed area (model cm²); Normal is the loop plane's unit normal [x,y,z]; Vertices is the number of loop vertices.
type Profile3DInfo struct {
Index int `json:"index"`
Area float64 `json:"area"`
Normal []float64 `json:"normal"`
Vertices int `json:"vertices"`
}
type ProfileInfo
ProfileInfo is one enumerated profile from MethodSketchProfiles: its index, enclosed area (sketch-plane cm², holes subtracted), whether it is closed (a solid-extrudable region), and the number of hole loops it contains. The Index feeds features.add's profileIndex.
type ProfileInfo struct {
Index int `json:"index"`
Area float64 `json:"area"`
Closed bool `json:"closed"`
Holes int `json:"holes"`
}
type ProgressCancelledEvent
ProgressCancelledEvent is the push event (type EventProgressCancelled) fired when the user cancels a progress bar.
type ProgressCancelledEvent struct {
Type string `json:"type"` // always EventProgressCancelled
ID int `json:"id"`
}
type ProjectGeometryArgs
ProjectGeometryArgs is the request of MethodSketchProject: project the part topology referenced by Refs (edge/vertex reference-key strings) onto the sketch plane. Mode is "reference" (associative reference geometry, default) or "include" (projected as ordinary sketch geometry). Each ref becomes a projected point (vertex) or curve (edge).
type ProjectGeometryArgs struct {
SketchIndex int `json:"sketchIndex"`
Refs []string `json:"refs"`
Mode string `json:"mode,omitempty"`
}
type ProjectGeometryResult
ProjectGeometryResult is the response of MethodSketchProject: the ids of the created projected entities and whether every reference resolved.
type ProjectGeometryResult struct {
Created []uint64 `json:"created"`
Healthy bool `json:"healthy"`
}
type PromptAnsweredEvent
PromptAnsweredEvent is the push event (type EventPromptAnswered) fired when the user answers a pending prompt; Remembered reports they chose to keep the answer.
type PromptAnsweredEvent struct {
Type string `json:"type"` // always EventPromptAnswered
ID string `json:"id"`
Answer string `json:"answer"`
Remembered bool `json:"remembered,omitempty"`
}
type PropertyChangedEvent
PropertyChangedEvent is the JSON shape of the EventPropertyChanged push event: a document object's property changed (e.g. suppression toggled, a sketch setting edited). Kind and Key identify the object as in ObjectRenamedEvent; Property names the property (e.g. "suppressed"); OldValue/NewValue are its prior and new values rendered as strings (a bool as "true"/"false"), so one generic event carries any property without a bespoke DTO per setting.
type PropertyChangedEvent struct {
Type string `json:"type"` // always EventPropertyChanged
Document uint64 `json:"document"`
Kind types.ObjectKind `json:"kind"`
Key string `json:"key,omitempty"`
Property string `json:"property"`
OldValue string `json:"oldValue,omitempty"`
NewValue string `json:"newValue,omitempty"`
}
type PropertyInfo
PropertyInfo is the JSON shape of one document property: its set, name, and typed value. FromParameter names the model parameter a property was exposed from (the iProperty bridge), empty for a directly authored property.
type PropertyInfo struct {
Set string `json:"set"`
Name string `json:"name"`
Value types.Variant `json:"value"`
FromParameter string `json:"fromParameter,omitempty"`
}
type PropertyResult
PropertyResult is the response of MethodDocumentsGetProperty / MethodDocumentsSetProperty: the addressed property's current state.
type PropertyResult struct {
Property PropertyInfo `json:"property"`
}
type RectangularPatternFeatureArgs
RectangularPatternFeatureArgs is the args object for a FeatureKindPatternRectangular MethodFeaturesAdd call: replicate SourceFeatures on a grid. CountX/CountY are the per- direction counts; CountXExpr/CountYExpr are their parameter-expression forms (when set, they supersede the numeric counts) (#189). StepX/StepY are the per-direction spacing vectors [x,y,z] in cm (StepY optional for a 1-D pattern).
type RectangularPatternFeatureArgs struct {
SourceFeatures []string `json:"sourceFeatures"`
CountX int `json:"countX,omitempty"`
CountY int `json:"countY,omitempty"`
CountXExpr string `json:"countXExpr,omitempty"`
CountYExpr string `json:"countYExpr,omitempty"`
StepX []float64 `json:"stepX,omitempty"`
StepY []float64 `json:"stepY,omitempty"`
}
type RedefineWorkPlaneArgs
RedefineWorkPlaneArgs is the request of MethodWorkPlanesRedefine: edit a placed user work plane in place. Index selects the plane (its position in List). Scalars sets editable distances/angles; Repick re-points reference slots at new geometry. Both are optional and applied together, then the part recomputes.
type RedefineWorkPlaneArgs struct {
Index int `json:"index"`
Scalars []ScalarEdit `json:"scalars,omitempty"`
Repick []SlotRepick `json:"repick,omitempty"`
}
type RedefineWorkPlaneResult
RedefineWorkPlaneResult is the response of MethodWorkPlanesRedefine: the plane's refreshed info (new geometry/health and its still-editable scalars/slots). An unsatisfiable edit reports healthy=false rather than failing the call.
type RedefineWorkPlaneResult struct {
Plane WorkPlaneInfo `json:"plane"`
}
type ReferenceKeysResult
ReferenceKeysResult is the response of MethodModelReferenceKeys: the active part's topology per body, each entity carrying the persistent reference key consumed by the key consumers (include, addSurfaceCurve, project geometry, attributes). It is how an add-in obtains a face/edge/vertex key without a viewport pick.
type ReferenceKeysResult struct {
Bodies []BodyTopology `json:"bodies"`
}
type RegionPropertiesArgs
RegionPropertiesArgs is the request of MethodSketchRegionProperties and MethodSketch3DRegionProperties: which sketch, which profile (the index from MethodSketchProfiles / MethodSketch3DProfiles; the profile must be closed — and planar, for the 3D method), and the desired computational accuracy (oblikovati.org/api/types.Accuracy wire spelling; empty ⇒ "high").
type RegionPropertiesArgs struct {
SketchIndex int `json:"sketchIndex"`
ProfileIndex int `json:"profileIndex"`
Accuracy string `json:"accuracy,omitempty"`
}
type RegionPropertiesResult
RegionPropertiesResult is the response of MethodSketchRegionProperties and MethodSketch3DRegionProperties. All values are in database units (cm) on the profile's plane, about the sketch origin unless stated otherwise:
- Area (cm², holes subtracted) and Perimeter (cm, holes' rims included);
- Centroid [x,y] (cm, in sketch-plane coordinates);
- MomentsOfInertia [Ixx, Iyy, Ixy] (cm⁴) about the centroid;
- PrincipalMoments [I1, I2] (cm⁴) and RotationAngle (radians CCW from the sketch X axis to the first principal axis);
- PrincipalAxes the two unit axes [[x1,y1],[x2,y2]];
- Accuracy the wire spelling actually used.
type RegionPropertiesResult struct {
Area float64 `json:"area"`
Perimeter float64 `json:"perimeter"`
Centroid []float64 `json:"centroid"`
MomentsOfInertia []float64 `json:"momentsOfInertia"`
PrincipalMoments []float64 `json:"principalMoments"`
RotationAngle float64 `json:"rotationAngle"`
PrincipalAxes [][]float64 `json:"principalAxes"`
Accuracy string `json:"accuracy"`
}
type RegisterBalloonTipArgs
RegisterBalloonTipArgs is the request of MethodBalloonTipRegister: declare a named notification balloon. Registration is separate from showing so the per-user "don't show again" suppression has a stable id to remember.
type RegisterBalloonTipArgs struct {
ID string `json:"id"`
Title string `json:"title"`
Text string `json:"text"`
Icon string `json:"icon,omitempty"`
}
type RegisterClientApplicationArgs
RegisterClientApplicationArgs is the request of MethodClientAppsRegister.
type RegisterClientApplicationArgs struct {
Name string `json:"name"`
}
type RegisterClientApplicationResult
RegisterClientApplicationResult is the response of MethodClientAppsRegister: the session-unique id the client passes to MethodClientAppsUnregister when it disconnects.
type RegisterClientApplicationResult struct {
ID int `json:"id"`
}
type RegisterColorMapperArgs
RegisterColorMapperArgs is the request of MethodClientGraphicsRegisterMapper: store a named, reusable color mapper that primitives reference by Name (via GraphicsPrimitive.MapperName) instead of carrying an inline copy of the legend.
type RegisterColorMapperArgs struct {
Name string `json:"name"`
Mapper GraphicsColorMapper `json:"mapper"`
}
type RegisterDocumentSubTypeArgs
RegisterDocumentSubTypeArgs is the request of MethodDocumentsRegisterSubType: an add-in declaring a flavored document type over a base type ("part", …). The flavor's lifecycle reaches the add-in as client.operation push events (M05-F15, the DocumentSubTypeHandler + ClientOperationEvents equivalent).
type RegisterDocumentSubTypeArgs struct {
ID string `json:"id"`
BaseType string `json:"baseType"`
DisplayName string `json:"displayName,omitempty"`
}
type RegisterEnvironmentArgs
RegisterEnvironmentArgs is the request of MethodUIRegisterEnvironment: an add-in declaring its own contextual UI environment (M05-F16, Oblikovati#667). Environment must be ≥ 2 (0 and 1 are the built-in base/sketch); commands registered with the value form the environment's contextual tabs.
type RegisterEnvironmentArgs struct {
Environment types.Environment `json:"environment"`
Name string `json:"name"`
}
type RegisterHelpContextArgs
RegisterHelpContextArgs is the request of MethodHelpRegisterContext: declare a help source — Base is a URL prefix (https://…) or a local directory; topics resolve against it.
type RegisterHelpContextArgs struct {
Source string `json:"source"`
Base string `json:"base"`
}
type RemoveAttachmentArgs
RemoveAttachmentArgs is the request of MethodDocumentsRemoveAttachment: delete the named attachment record (and an embedded payload with it).
type RemoveAttachmentArgs struct {
Document uint64 `json:"document"`
Name string `json:"name"`
}
type RemoveDocumentInterestArgs
RemoveDocumentInterestArgs is the request of MethodDocumentsRemoveInterest: delete the record identified by (ClientID, Name).
type RemoveDocumentInterestArgs struct {
Document uint64 `json:"document"`
ClientID string `json:"clientId"`
Name string `json:"name"`
}
type RemoveManipulatorsArgs
RemoveManipulatorsArgs is the request of MethodManipulatorsRemove.
type RemoveManipulatorsArgs struct {
ID string `json:"id"`
}
type RemoveMiniToolbarArgs
RemoveMiniToolbarArgs is the request of MethodMiniToolbarRemove.
type RemoveMiniToolbarArgs struct {
ID string `json:"id"`
}
type RemoveOccurrenceArgs
RemoveOccurrenceArgs is the request of MethodAssemblyRemove: delete the occurrence with id ID from the active assembly.
type RemoveOccurrenceArgs struct {
ID uint64 `json:"id"`
}
type RemoveSheetArgs
RemoveSheetArgs is the request of MethodDrawingRemoveSheet: the sheet to remove (a drawing must keep at least one sheet).
type RemoveSheetArgs struct {
Name string `json:"name"`
}
type RenameFeatureArgs
RenameFeatureArgs is the request of MethodFeaturesRename. The id is stable across renames; the new name must be non-empty and unique within the part.
type RenameFeatureArgs struct {
ID uint64 `json:"id"`
Name string `json:"name"`
}
type RenameViewArgs
RenameViewArgs is the request of MethodViewsRename: set the indexed view's name.
type RenameViewArgs struct {
Document uint64 `json:"document,omitempty"`
Index int `json:"index"`
Name string `json:"name"`
}
type RenameWorkSurfaceArgs
RenameWorkSurfaceArgs is the request of MethodWorkSurfacesRename. The new name must be non-empty and unique within the part.
type RenameWorkSurfaceArgs struct {
Index int `json:"index"`
Name string `json:"name"`
}
type ReorderFeatureArgs
ReorderFeatureArgs is the request of MethodFeaturesReorder: move the feature to NewIndex in history order (0-based, from model.tree). A move that would place a feature before one it depends on is rejected.
type ReorderFeatureArgs struct {
ID uint64 `json:"id"`
NewIndex int `json:"newIndex"`
}
type RepRef
RepRef names a representation (or model state) by id — the request of activate/delete.
type RepRef struct {
ID uint64 `json:"id"`
}
type ReplaceFileReferenceArgs
ReplaceFileReferenceArgs is the request of MethodFilesReplaceReference: the repair operation re-pointing one reference of FullFileName — the record whose as-saved name is RequestedName — at NewFileName. The owning file reports the reference as replaced until it is saved.
type ReplaceFileReferenceArgs struct {
FullFileName string `json:"fullFileName"`
RequestedName string `json:"requestedName"`
NewFileName string `json:"newFileName"`
}
type ReplaceOccurrenceArgs
ReplaceOccurrenceArgs is the request of MethodAssemblyReplace: swap the component of the occurrence with id ID for the one held by the open Document (by document id), keeping the occurrence's id, name, transform, and state — the "replace component" operation.
type ReplaceOccurrenceArgs struct {
ID uint64 `json:"id"`
Document uint64 `json:"document"`
}
type RepresentationEventPayload
RepresentationEventPayload is the relayed body of a representation/model-state event: the kind ("designView"/"positional"/"levelOfDetail"/"modelState"), the id, and the name.
type RepresentationEventPayload struct {
Kind string `json:"kind"`
ID uint64 `json:"id"`
Name string `json:"name"`
}
type RepresentationInfo
RepresentationInfo is the identity row common to every representation family.
type RepresentationInfo struct {
ID uint64 `json:"id"`
Name string `json:"name"`
Kind string `json:"kind"`
Active bool `json:"active,omitempty"`
}
type RequiresUpdateResult
RequiresUpdateResult is the response of MethodDocumentsRequiresUpdate: the read-only flag telling a client the active document has out-of-date features a recompute would change.
type RequiresUpdateResult struct {
RequiresUpdate bool `json:"requiresUpdate"`
}
type ResetBindingArgs
ResetBindingArgs is the request of MethodKeymapReset: restore one action's shortcut and alias to their defaults.
type ResetBindingArgs struct {
ActionID string `json:"actionId"`
}
type ResolveSketchReferenceArgs
ResolveSketchReferenceArgs is the request of MethodSketchResolveReference: a previously obtained persistent key (a sketch's key or a sketch-entity's key).
type ResolveSketchReferenceArgs struct {
ReferenceKey string `json:"referenceKey"`
}
type ResolveSketchReferenceResult
ResolveSketchReferenceResult is the response of MethodSketchResolveReference. Found is false when no current sketch/entity matches the key (a legitimate, non-fatal outcome — the referent was deleted). Kind is "sketch" / "sketchEntity" for a 2D sketch or its entity, or "sketch3d" / "sketch3dEntity" for a 3D sketch or its entity; SketchIndex locates the owning sketch within its own (2D or 3D) collection; EntityID is the matched entity's current session id (0 when Kind names a sketch).
type ResolveSketchReferenceResult struct {
Found bool `json:"found"`
Kind string `json:"kind,omitempty"`
SketchIndex int `json:"sketchIndex"`
EntityID uint64 `json:"entityId,omitempty"`
}
type ResolveThreadArgs
ResolveThreadArgs is the request of MethodThreadsResolve: a designation (e.g. "M8x1.25", "1/4-20") with the optional tolerance class, handedness, internal/external side, and the tapered (pipe thread) flag carried per the reference's StandardThreadInfo/TaperedThreadInfo split.
type ResolveThreadArgs struct {
Designation string `json:"designation"`
Class string `json:"class,omitempty"`
Internal bool `json:"internal,omitempty"`
LeftHanded bool `json:"leftHanded,omitempty"`
Tapered bool `json:"tapered,omitempty"`
}
type RevisionTableRow
RevisionTableRow is one row of a revision table: a revision identifier, its date, and a description of the change.
type RevisionTableRow struct {
Revision string `json:"revision"`
Date string `json:"date,omitempty"`
Description string `json:"description,omitempty"`
}
type RibbonControlInfo
RibbonControlInfo is one command control on a panel: the typed ribbon object model's leaf (M05-F03, #247). Beyond the command id and display name (the original discovery surface), it carries the control kind, look, and live state, so an add-in can mirror or extend the ribbon without guessing. Items holds a split button's variants or a popup control's menu entries.
type RibbonControlInfo struct {
CommandID string `json:"commandId"`
DisplayName string `json:"displayName"`
Kind types.ControlKind `json:"kind,omitempty"`
ButtonStyle types.ButtonStyle `json:"buttonStyle,omitempty"`
Icon string `json:"icon,omitempty"`
Tooltip string `json:"tooltip,omitempty"`
Alias string `json:"alias,omitempty"`
Enabled bool `json:"enabled"`
Active bool `json:"active,omitempty"`
Items []RibbonItemInfo `json:"items,omitempty"`
}
type RibbonItemInfo
RibbonItemInfo is one entry of a control's dropdown — a split button's variant or a popup control's menu item — with its live enabled state.
type RibbonItemInfo struct {
CommandID string `json:"commandId"`
Label string `json:"label"`
Tooltip string `json:"tooltip,omitempty"`
Enabled bool `json:"enabled"`
}
type RibbonPanelInfo
RibbonPanelInfo is one panel within a tab and its controls. Selector is set instead of Controls when the panel renders as a selection box.
type RibbonPanelInfo struct {
Name string `json:"name"`
Controls []RibbonControlInfo `json:"controls,omitempty"`
Selector *RibbonSelectorInfo `json:"selector,omitempty"`
}
type RibbonSelectorInfo
RibbonSelectorInfo is a panel rendered as one drop-down selection box (a panel of combo controls): its options and which is currently selected.
type RibbonSelectorInfo struct {
Options []RibbonItemInfo `json:"options"`
SelectedIndex int `json:"selectedIndex"`
}
type RibbonTabInfo
RibbonTabInfo is one tab within a ribbon and its panels.
type RibbonTabInfo struct {
Name string `json:"name"`
Panels []RibbonPanelInfo `json:"panels,omitempty"`
}
type SaveCopyAsArgs
SaveCopyAsArgs is the request of MethodDocumentsSaveCopyAs: write a copy to TargetFileName without retargeting the in-memory document (the export/ archival workhorse — the document keeps its current file binding and dirty state). Metadata, when set, customizes the minted copy.
type SaveCopyAsArgs struct {
Document uint64 `json:"document"`
TargetFileName string `json:"targetFileName"`
Metadata *types.NewFileMetadata `json:"metadata,omitempty"`
}
type SaveDocumentArgs
SaveDocumentArgs is the request of MethodDocumentsSave: save the document at its current file binding.
type SaveDocumentArgs struct {
Document uint64 `json:"document"`
}
type SaveDocumentAsArgs
SaveDocumentAsArgs is the request of MethodDocumentsSaveAs: save under a new full document name, which becomes the document's identity.
type SaveDocumentAsArgs struct {
Document uint64 `json:"document"`
NewFullDocumentName string `json:"newFullDocumentName"`
}
type SaveDocumentResult
SaveDocumentResult is the response of MethodDocumentsSave, MethodDocumentsSaveAs and MethodDocumentsSaveCopyAs: where the bytes landed.
type SaveDocumentResult struct {
FullDocumentName string `json:"fullDocumentName"`
}
type SaveOptionsView
SaveOptionsView is the "save" option group (M03-F09): application-level save policy. Thumbnail support is host-dependent — writing an unsupported capture mode errors rather than persisting a dead setting. OldVersionsToKeep moves the prior file into an OldVersions sibling directory on save, pruned to the configured count; 0 disables retention.
type SaveOptionsView struct {
Thumbnail types.ThumbnailSaveOption `json:"thumbnail"`
SaveDependents bool `json:"saveDependents"`
OldVersionsToKeep int `json:"oldVersionsToKeep"`
}
type ScalarEdit
ScalarEdit sets the work plane's scalar at slot Index to a unit-bearing Value ("30 mm", "60 deg") — the index comes from WorkPlaneScalar.
type ScalarEdit struct {
Index int `json:"index"`
Value string `json:"value"`
}
type ScriptRunArgs
ScriptRunArgs is the request of MethodScriptRun: a whole Lua program to run against the live model in one call, instead of issuing N separate method calls. The host runs it in the same sandboxed runtime the GUI Script Console and the CLI use (ADR-0028), so the script reaches the model only through this same wire surface.
An MCP/LLM client uses this to submit a complete automation program (build a sketch, extrude it, set parameters) atomically from its side, reading the script's print() output and any error back in ScriptRunResult.
WallMs is an optional per-run wall-clock budget in milliseconds (0 ⇒ the host default); the host caps it so a runaway script can never hang the session.
type ScriptRunArgs struct {
Source string `json:"source"`
WallMs int `json:"wallMs,omitempty"`
}
type ScriptRunResult
ScriptRunResult is the response of MethodScriptRun. The method succeeds at the transport level even when the *script* fails: a syntax/runtime error, quota breach, or cancellation is reported in Error (empty on success) alongside whatever Output the script printed before it stopped — so a caller always gets both the output and the failure reason rather than an opaque transport error.
type ScriptRunResult struct {
Output string `json:"output"` // captured print() output
Error string `json:"error,omitempty"` // script failure message; empty on success
DurationMs int64 `json:"durationMs"` // wall-clock spent running
Ops uint64 `json:"ops,omitempty"` // opcodes executed (best-effort; metrics)
}
type SearchCommandsArgs
SearchCommandsArgs is the request of MethodUISearch: find registered commands whose display name, id, or alias matches the query (case-insensitive substring).
type SearchCommandsArgs struct {
Query string `json:"query"`
}
type SearchCommandsResult
SearchCommandsResult is the response of MethodUISearch.
type SearchCommandsResult struct {
Commands []CommandInfo `json:"commands"`
}
type SelectArgs
SelectArgs is the request of MethodModelSelect (#157): select the entities named by Refs — reference strings as returned in a SelectionResult (face/vertex/body, #1492). Mode "add" extends the current selection; any other value (or empty) replaces it. The reply is the new selection.
type SelectArgs struct {
Refs []string `json:"refs"`
Mode string `json:"mode,omitempty"`
}
type SelectionChangedEvent
SelectionChangedEvent is the push event (type EventSelectionChanged) fired when the selection set changes — the app-level OnSelect/OnUnSelect observation.
type SelectionChangedEvent struct {
Type string `json:"type"` // always EventSelectionChanged
Count int `json:"count"`
}
type SelectionResult
SelectionResult is the response of MethodModelSelection: how many entities are selected, their selection kinds, and — parallel to Kinds — each entity's work-feature reference for entities that have one, empty otherwise. A reference is one of:
- a datum plane/axis/point key (a work-feature key);
- "face/<url-base64(key)>" — a picked B-rep face;
- "vertex/<url-base64(key)>" — a picked B-rep vertex;
- "body/<url-base64(key)>" — a picked whole body, the same recompute-stable key as BodyInfo.Key (#1492), so an add-in can tell which body was selected.
A client reads Refs to feed a selected face/point/plane into MethodWorkPlanesCreate, or a selected body into a body-scoped operation; all forms round-trip through MethodModelSelect.
type SelectionResult struct {
Count int `json:"count"`
Kinds []int `json:"kinds"`
Refs []string `json:"refs"`
}
type SetActiveSheetArgs
SetActiveSheetArgs is the request of MethodDrawingSetActiveSheet: the sheet to make active.
type SetActiveSheetArgs struct {
Name string `json:"name"`
}
type SetAddInLoadBehaviorArgs
SetAddInLoadBehaviorArgs is the request of MethodAddInsSetLoadBehavior: persist when the host should activate the add-in on future startups. Setting LoadDisabled does not deactivate a running add-in — call MethodAddInsDeactivate for that.
type SetAddInLoadBehaviorArgs struct {
ID string `json:"id"`
LoadBehavior types.AddInLoadBehavior `json:"loadBehavior"`
}
type SetAliasArgs
SetAliasArgs is the request of MethodKeymapSetAlias: set one action's typed command alias. An empty Alias clears it. The host rejects an alias already bound to another action.
type SetAliasArgs struct {
ActionID string `json:"actionId"`
Alias string `json:"alias"`
}
type SetAppearanceArgs
SetAppearanceArgs overrides an occurrence's appearance within a design-view representation (an empty AppearanceID clears the override).
type SetAppearanceArgs struct {
Rep uint64 `json:"rep"`
Occurrence uint64 `json:"occurrence"`
AppearanceID string `json:"appearanceId,omitempty"`
}
type SetAssemblyFeaturesSuppressedArgs
SetAssemblyFeaturesSuppressedArgs is the request of MethodAssemblyFeaturesSetSuppressed: suppress or unsuppress every named feature in one batch.
type SetAssemblyFeaturesSuppressedArgs struct {
IDs []uint64 `json:"ids"`
Suppressed bool `json:"suppressed"`
}
type SetAssemblyParticipantPathsArgs
SetAssemblyParticipantPathsArgs is the request of MethodAssemblyFeaturesSetParticipantPaths: restrict feature ID to the given 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 so the feature again machines every path through a participating leaf occurrence.
type SetAssemblyParticipantPathsArgs struct {
ID uint64 `json:"id"`
Paths [][]string `json:"paths"`
}
type SetAssemblyParticipantsArgs
SetAssemblyParticipantsArgs is the request of MethodAssemblyFeaturesSetParticipants: replace the participation set of feature ID with the occurrences named by their session ids. An unknown occurrence id is rejected.
type SetAssemblyParticipantsArgs struct {
ID uint64 `json:"id"`
Participants []uint64 `json:"participants"`
}
type SetAttributeArgs
SetAttributeArgs is the request of MethodAttributesSet: create or replace the named attribute in the named set on the document (by session id from documents.list) with the typed value, anchored to Target (empty = the document itself). The set is created on first use.
type SetAttributeArgs struct {
Document uint64 `json:"document"`
Set string `json:"set"`
Name string `json:"name"`
Value types.Variant `json:"value"`
Target string `json:"target,omitempty"`
}
type SetBendOrderArgs
SetBendOrderArgs sets the bend sequence: Order lists the bend features (by name) in the desired order; any bend the list omits keeps its natural (creation) order after the listed ones. An empty Order resets to the natural order.
type SetBendOrderArgs struct {
Order []string `json:"order"`
}
type SetBrowserPaneArgs
SetBrowserPaneArgs is the request of MethodBrowserSetPane: create the pane or replace its content if it exists.
type SetBrowserPaneArgs struct {
Pane BrowserPaneSpec `json:"pane"`
}
type SetCameraArgs
SetCameraArgs is the request of MethodViewSetCamera: the camera frame to apply, plus optional addressing of which document it applies to. Camera state is per-view (a document owns a Views collection, each view owns a camera); the frame is applied to the addressed document's active view (Document 0 ⇒ the active document). To target a non-active view, activate it first (MethodViewsActivate); every view's camera is also readable via MethodViewsList. The frame fields mirror CameraView (a distinct type so request and response evolve independently, like SetDisplayModeArgs vs DisplayModeView).
type SetCameraArgs struct {
Document uint64 `json:"document,omitempty"` // 0 ⇒ active document; applies to that document's active view
Eye types.Point `json:"eye"`
Target types.Point `json:"target"`
Up types.Vector `json:"up"`
FOV float64 `json:"fov"`
}
type SetChordArgs
SetChordArgs is the request of MethodKeymapSetChord: rebind one action's keyboard shortcut. Chord is the canonical chord string; an empty Chord clears the binding. The host rejects a chord already bound to another action.
type SetChordArgs struct {
ActionID string `json:"actionId"`
Chord string `json:"chord"`
}
type SetClientGraphicsArgs
SetClientGraphicsArgs is the request of MethodClientGraphicsSet: submit or replace the whole graphics group named ClientId. Lane selects the display lane (a types.GraphicsLane; empty = "persistent"). Visible nil means visible. Re-sending the same ClientId replaces the previous group (idempotent).
type SetClientGraphicsArgs struct {
ClientId string `json:"clientId"`
Lane string `json:"lane,omitempty"`
Visible *bool `json:"visible,omitempty"`
Nodes []GraphicsNode `json:"nodes"`
}
type SetClientGraphicsResult
SetClientGraphicsResult is the response of MethodClientGraphicsSet.
type SetClientGraphicsResult struct {
ClientId string `json:"clientId"`
NodeCount int `json:"nodeCount"`
PrimitiveCount int `json:"primitiveCount"`
}
type SetClientGraphicsVisibleArgs
SetClientGraphicsVisibleArgs is the request of MethodClientGraphicsSetVisible.
type SetClientGraphicsVisibleArgs struct {
ClientId string `json:"clientId"`
Visible bool `json:"visible"`
}
type SetColorSchemeArgs
SetColorSchemeArgs is the request of MethodColorSchemesSetActive: activate the scheme by name (schemes are identified by name).
type SetColorSchemeArgs struct {
Name string `json:"name"`
}
type SetCommandStateArgs
SetCommandStateArgs is the request of MethodCommandsSetState: an add-in updating one of its own commands' live ribbon state. Active toggles the button's pressed/highlighted look (rendered in the accent color), so a stateful control like a presenter or follow toggle reads on/off at a glance. DisplayName, when non-empty, relabels the button (e.g. "Presenter" → "Presenting") — leave it empty to keep the current label. Enabled, when non-nil, greys the button out (false) or restores it (true) — e.g. a collaboration add-in disabling its presenter/follow controls until the user joins a session; nil leaves the enabled state unchanged.
type SetCommandStateArgs struct {
ID string `json:"id"`
Active bool `json:"active"`
Enabled *bool `json:"enabled,omitempty"`
DisplayName string `json:"displayName,omitempty"`
}
type SetConstraintLimitsArgs
SetConstraintLimitsArgs is the request of MethodAssemblyConstraintsSetLimits: set (or clear) the driven-value Limits of the constraint with id ID.
type SetConstraintLimitsArgs struct {
ID uint64 `json:"id"`
Limits ConstraintLimits `json:"limits"`
}
type SetContextMenuArgs
SetContextMenuArgs is the request of MethodUISetContextMenu: replace an add-in's injected entries for one browser node kind (e.g. "feature", "sketch", "body"; "" injects into every node's menu) — the OnContextMenu equivalent, declarative so no round-trip happens while the menu is open.
type SetContextMenuArgs struct {
AddIn string `json:"addin"`
Kind string `json:"kind"`
Items []ContextMenuItemSpec `json:"items"`
}
type SetDisplayModeArgs
SetDisplayModeArgs is the request of MethodViewSetDisplayMode: the mode to switch the viewport to.
type SetDisplayModeArgs struct {
Mode types.DisplayModeEnum `json:"mode"`
}
type SetDisplaySettingsArgs
SetDisplaySettingsArgs is the request of MethodDocumentSetDisplaySettings: the document to update and the settings to apply.
type SetDisplaySettingsArgs struct {
Document string `json:"document,omitempty"`
Settings DisplaySettingsView `json:"settings"`
}