pi-revit 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +167 -0
- package/CHANGELOG.md +465 -430
- package/README.md +604 -548
- package/bin/pi-revit.js +9 -9
- package/docs/architecture.md +271 -0
- package/docs/evaluation.md +434 -0
- package/docs/invariants.json +147 -0
- package/extensions/pi-revit/completion-monitor.ts +55 -0
- package/extensions/pi-revit/contracts.ts +146 -0
- package/extensions/pi-revit/discovery.ts +93 -0
- package/extensions/pi-revit/index.ts +342 -255
- package/extensions/pi-revit/instance-router.ts +86 -86
- package/extensions/pi-revit/platform-prompt.ts +40 -0
- package/extensions/pi-revit/scope-monitor.ts +114 -0
- package/extensions/pi-revit/script-library.ts +144 -144
- package/extensions/pi-revit/tool-catalog.ts +113 -14
- package/extensions/pi-revit/tool-documentation.ts +72 -0
- package/extensions/pi-revit/tool-schema.ts +8 -0
- package/package.json +8 -2
- package/scripts/build.ps1 +9 -9
- package/scripts/check-sdk.ps1 +66 -66
- package/scripts/check-tool-documentation.mjs +287 -0
- package/scripts/deploy.ps1 +16 -16
- package/scripts/generate-contracts.mjs +80 -0
- package/scripts/lib/platform.mjs +226 -0
- package/scripts/test-extension.mjs +15 -0
- package/skills/pi-revit/SKILL.md +30 -218
- package/skills/pi-revit/contracts.generated.json +3524 -0
- package/skills/pi-revit/references/execution-rules.md +41 -0
- package/skills/pi-revit/references/model-audit-export.md +38 -27
- package/skills/pi-revit/references/operation-recovery.md +33 -0
- package/skills/pi-revit/references/room-documentation.md +37 -26
- package/skills/pi-revit/references/tool-index.md +89 -0
- package/skills/pi-revit/references/tools/capture_view.md +62 -0
- package/skills/pi-revit/references/tools/change_element_types.md +65 -0
- package/skills/pi-revit/references/tools/create_tags.md +85 -0
- package/skills/pi-revit/references/tools/delete_elements.md +66 -0
- package/skills/pi-revit/references/tools/execute_csharp.md +81 -0
- package/skills/pi-revit/references/tools/export_documents.md +75 -0
- package/skills/pi-revit/references/tools/find_revit_tools.md +96 -0
- package/skills/pi-revit/references/tools/get_element_details.md +66 -0
- package/skills/pi-revit/references/tools/get_element_relationships.md +61 -0
- package/skills/pi-revit/references/tools/get_element_types.md +67 -0
- package/skills/pi-revit/references/tools/get_elements.md +87 -0
- package/skills/pi-revit/references/tools/get_linked_elements.md +79 -0
- package/skills/pi-revit/references/tools/get_linked_models.md +57 -0
- package/skills/pi-revit/references/tools/get_model_coordinates.md +64 -0
- package/skills/pi-revit/references/tools/get_model_health.md +53 -0
- package/skills/pi-revit/references/tools/get_model_overview.md +57 -0
- package/skills/pi-revit/references/tools/get_revit_operation.md +54 -0
- package/skills/pi-revit/references/tools/get_schedule_fields.md +62 -0
- package/skills/pi-revit/references/tools/get_schedules.md +71 -0
- package/skills/pi-revit/references/tools/manage_element_sets.md +92 -0
- package/skills/pi-revit/references/tools/manage_revit_instances.md +63 -0
- package/skills/pi-revit/references/tools/manage_revit_scripts.md +109 -0
- package/skills/pi-revit/references/tools/manage_schedules.md +90 -0
- package/skills/pi-revit/references/tools/manage_selection.md +66 -0
- package/skills/pi-revit/references/tools/manage_sheet_placements.md +82 -0
- package/skills/pi-revit/references/tools/manage_sheets.md +71 -0
- package/skills/pi-revit/references/tools/manage_views.md +95 -0
- package/skills/pi-revit/references/tools/measure_geometry.md +71 -0
- package/skills/pi-revit/references/tools/open_view.md +59 -0
- package/skills/pi-revit/references/tools/ping.md +41 -0
- package/skills/pi-revit/references/tools/query_spatial_elements.md +74 -0
- package/skills/pi-revit/references/tools/read_revit_result.md +53 -0
- package/skills/pi-revit/references/tools/search_api_docs.md +65 -0
- package/skills/pi-revit/references/tools/set_parameters.md +75 -0
- package/skills/pi-revit/references/tools/summarize_elements.md +64 -0
- package/skills/pi-revit/references/tools/transform_elements.md +79 -0
- package/skills/pi-revit/references/visual-verification.md +36 -0
- package/skills/pi-revit/tool-manifest.json +338 -0
- package/src/Revit/BridgeServer.cs +93 -87
- package/src/Revit/OperationStore.cs +178 -178
- package/src/Revit/ToolRegistry.cs +88 -57
- package/src/Revit/Tools/CaptureView.cs +10 -2
- package/src/Revit/Tools/ChangeElementTypes.cs +74 -60
- package/src/Revit/Tools/ChangeSet.cs +39 -0
- package/src/Revit/Tools/CreateTags.cs +107 -95
- package/src/Revit/Tools/DeleteElements.cs +53 -44
- package/src/Revit/Tools/DocumentGuard.cs +74 -64
- package/src/Revit/Tools/ElementNames.cs +103 -0
- package/src/Revit/Tools/ElementQueryScope.cs +27 -27
- package/src/Revit/Tools/ElementTraits.cs +53 -0
- package/src/Revit/Tools/ExecuteCsharp.cs +54 -45
- package/src/Revit/Tools/ExportDocuments.cs +129 -121
- package/src/Revit/Tools/GetElementDetails.cs +37 -41
- package/src/Revit/Tools/GetElementRelationships.cs +82 -76
- package/src/Revit/Tools/GetElementTypes.cs +8 -0
- package/src/Revit/Tools/GetElements.cs +75 -86
- package/src/Revit/Tools/GetLinkedElements.cs +89 -82
- package/src/Revit/Tools/GetLinkedModels.cs +73 -66
- package/src/Revit/Tools/GetModelCoordinates.cs +56 -49
- package/src/Revit/Tools/GetModelHealth.cs +7 -0
- package/src/Revit/Tools/GetModelOverview.cs +185 -158
- package/src/Revit/Tools/GetScheduleFields.cs +44 -37
- package/src/Revit/Tools/GetSchedules.cs +96 -89
- package/src/Revit/Tools/InheritedState.Summary.cs +57 -0
- package/src/Revit/Tools/InheritedState.cs +144 -0
- package/src/Revit/Tools/ManageElementSets.cs +114 -106
- package/src/Revit/Tools/ManageSchedules.cs +174 -164
- package/src/Revit/Tools/ManageSelection.cs +45 -37
- package/src/Revit/Tools/ManageSheetPlacements.cs +113 -97
- package/src/Revit/Tools/ManageSheets.cs +72 -63
- package/src/Revit/Tools/ManageViews.cs +115 -100
- package/src/Revit/Tools/MeasureGeometry.cs +60 -54
- package/src/Revit/Tools/ModelChanges.cs +154 -0
- package/src/Revit/Tools/ModelEditBatch.cs +105 -102
- package/src/Revit/Tools/ModelEditInputs.cs +49 -49
- package/src/Revit/Tools/OpenView.cs +9 -2
- package/src/Revit/Tools/ParameterResolver.cs +94 -0
- package/src/Revit/Tools/QuerySpatialElements.cs +70 -63
- package/src/Revit/Tools/SearchApiDocs.cs +72 -4
- package/src/Revit/Tools/SetParameters.cs +60 -79
- package/src/Revit/Tools/SpatialBounds.cs +30 -30
- package/src/Revit/Tools/SummarizeElements.cs +94 -87
- package/src/Revit/Tools/ToolContract.cs +48 -0
- package/src/Revit/Tools/ToolSupport.cs +5 -1
- package/src/Revit/Tools/TransformElements.cs +72 -57
- package/workspace/AGENTS.md +26 -20
|
@@ -0,0 +1,3524 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"generated_by": "scripts/generate-contracts.mjs",
|
|
4
|
+
"note": "Generated from src/Revit/Tools/*.cs (bridge) and extensions/pi-revit/contracts.ts (native). Do not edit; change the code and regenerate.",
|
|
5
|
+
"tools": [
|
|
6
|
+
{
|
|
7
|
+
"name": "capture_view",
|
|
8
|
+
"source": "bridge",
|
|
9
|
+
"tier": "advanced",
|
|
10
|
+
"write": false,
|
|
11
|
+
"effects": [
|
|
12
|
+
"files"
|
|
13
|
+
],
|
|
14
|
+
"requires_document": true,
|
|
15
|
+
"document_kinds": [
|
|
16
|
+
"project",
|
|
17
|
+
"family"
|
|
18
|
+
],
|
|
19
|
+
"keywords": [
|
|
20
|
+
"screenshot",
|
|
21
|
+
"image",
|
|
22
|
+
"png",
|
|
23
|
+
"picture",
|
|
24
|
+
"snapshot",
|
|
25
|
+
"visual check"
|
|
26
|
+
],
|
|
27
|
+
"limits": [
|
|
28
|
+
{
|
|
29
|
+
"what": "Image contents or visual judgement (returns a file path only)",
|
|
30
|
+
"alternative": {
|
|
31
|
+
"kind": "tool",
|
|
32
|
+
"ref": "read (open the returned PNG)"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"what": "Deliverable PDF, DWG or IFC files",
|
|
37
|
+
"alternative": {
|
|
38
|
+
"kind": "tool",
|
|
39
|
+
"ref": "export_documents"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"verification": "inspect_output",
|
|
44
|
+
"contract_hash": "f8989e7bb68815d2",
|
|
45
|
+
"parameters": {
|
|
46
|
+
"type": "object",
|
|
47
|
+
"properties": {
|
|
48
|
+
"view_id": {
|
|
49
|
+
"type": "integer",
|
|
50
|
+
"description": "Element id of the view or sheet to capture. Default: the active view."
|
|
51
|
+
},
|
|
52
|
+
"expected_document_id": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"required": []
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"name": "change_element_types",
|
|
62
|
+
"source": "bridge",
|
|
63
|
+
"tier": "advanced",
|
|
64
|
+
"write": true,
|
|
65
|
+
"effects": [
|
|
66
|
+
"model"
|
|
67
|
+
],
|
|
68
|
+
"requires_document": true,
|
|
69
|
+
"document_kinds": [
|
|
70
|
+
"project",
|
|
71
|
+
"family"
|
|
72
|
+
],
|
|
73
|
+
"keywords": [
|
|
74
|
+
"swap type",
|
|
75
|
+
"replace type",
|
|
76
|
+
"change family type",
|
|
77
|
+
"retype",
|
|
78
|
+
"switch type"
|
|
79
|
+
],
|
|
80
|
+
"limits": [
|
|
81
|
+
{
|
|
82
|
+
"what": "Editing a type definition's parameters",
|
|
83
|
+
"alternative": {
|
|
84
|
+
"kind": "tool",
|
|
85
|
+
"ref": "set_parameters"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"what": "Creating a new type",
|
|
90
|
+
"alternative": {
|
|
91
|
+
"kind": "api",
|
|
92
|
+
"ref": "ElementType.Duplicate"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"what": "Loading a family",
|
|
97
|
+
"alternative": {
|
|
98
|
+
"kind": "api",
|
|
99
|
+
"ref": "Document.LoadFamily"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"verification": "reread",
|
|
104
|
+
"contract_hash": "810351ef8bac44ab",
|
|
105
|
+
"parameters": {
|
|
106
|
+
"type": "object",
|
|
107
|
+
"properties": {
|
|
108
|
+
"updates": {
|
|
109
|
+
"type": "array",
|
|
110
|
+
"minItems": 1,
|
|
111
|
+
"maxItems": 200,
|
|
112
|
+
"items": {
|
|
113
|
+
"type": "object",
|
|
114
|
+
"properties": {
|
|
115
|
+
"element_id": {
|
|
116
|
+
"type": "integer",
|
|
117
|
+
"minimum": 1
|
|
118
|
+
},
|
|
119
|
+
"type_id": {
|
|
120
|
+
"type": "integer",
|
|
121
|
+
"minimum": 1
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"required": [
|
|
125
|
+
"element_id",
|
|
126
|
+
"type_id"
|
|
127
|
+
]
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"preview": {
|
|
131
|
+
"type": "boolean",
|
|
132
|
+
"description": "Commit-validate then roll back all model edits. Default false."
|
|
133
|
+
},
|
|
134
|
+
"atomic": {
|
|
135
|
+
"type": "boolean",
|
|
136
|
+
"description": "Roll back the complete batch if any update fails. Default false."
|
|
137
|
+
},
|
|
138
|
+
"expected_document_id": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"description": "Required: exact opaque project.documentId from get_model_overview for the intended open document. Invalid after close/reopen or bridge restart."
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
"required": [
|
|
144
|
+
"updates",
|
|
145
|
+
"expected_document_id"
|
|
146
|
+
]
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "create_tags",
|
|
151
|
+
"source": "bridge",
|
|
152
|
+
"tier": "advanced",
|
|
153
|
+
"write": true,
|
|
154
|
+
"effects": [
|
|
155
|
+
"model"
|
|
156
|
+
],
|
|
157
|
+
"requires_document": true,
|
|
158
|
+
"document_kinds": [
|
|
159
|
+
"project"
|
|
160
|
+
],
|
|
161
|
+
"keywords": [
|
|
162
|
+
"tag",
|
|
163
|
+
"label",
|
|
164
|
+
"annotate",
|
|
165
|
+
"annotation",
|
|
166
|
+
"room tag",
|
|
167
|
+
"door tag"
|
|
168
|
+
],
|
|
169
|
+
"limits": [
|
|
170
|
+
{
|
|
171
|
+
"what": "Tagging elements inside linked models",
|
|
172
|
+
"alternative": {
|
|
173
|
+
"kind": "api",
|
|
174
|
+
"ref": "Reference.CreateLinkReference; IndependentTag.Create"
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"what": "Tagging faces or subelements",
|
|
179
|
+
"alternative": {
|
|
180
|
+
"kind": "api",
|
|
181
|
+
"ref": "IndependentTag.Create with a face Reference"
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"what": "Creating or loading tag families",
|
|
186
|
+
"alternative": {
|
|
187
|
+
"kind": "api",
|
|
188
|
+
"ref": "Document.LoadFamily"
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"what": "Text notes, dimensions and other annotation",
|
|
193
|
+
"alternative": {
|
|
194
|
+
"kind": "api",
|
|
195
|
+
"ref": "TextNote.Create; Creation.ItemFactoryBase.NewDimension"
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
],
|
|
199
|
+
"verification": "capture",
|
|
200
|
+
"contract_hash": "61b4ced397d41d57",
|
|
201
|
+
"parameters": {
|
|
202
|
+
"type": "object",
|
|
203
|
+
"properties": {
|
|
204
|
+
"kind": {
|
|
205
|
+
"type": "string",
|
|
206
|
+
"enum": [
|
|
207
|
+
"element",
|
|
208
|
+
"room",
|
|
209
|
+
"space",
|
|
210
|
+
"area"
|
|
211
|
+
]
|
|
212
|
+
},
|
|
213
|
+
"view_id": {
|
|
214
|
+
"type": "integer",
|
|
215
|
+
"minimum": 1
|
|
216
|
+
},
|
|
217
|
+
"tag_type_id": {
|
|
218
|
+
"type": "integer",
|
|
219
|
+
"minimum": 1
|
|
220
|
+
},
|
|
221
|
+
"unit": {
|
|
222
|
+
"type": "string",
|
|
223
|
+
"enum": [
|
|
224
|
+
"millimeters",
|
|
225
|
+
"centimeters",
|
|
226
|
+
"meters",
|
|
227
|
+
"feet",
|
|
228
|
+
"inches"
|
|
229
|
+
]
|
|
230
|
+
},
|
|
231
|
+
"targets": {
|
|
232
|
+
"type": "array",
|
|
233
|
+
"minItems": 1,
|
|
234
|
+
"maxItems": 100,
|
|
235
|
+
"items": {
|
|
236
|
+
"type": "object",
|
|
237
|
+
"properties": {
|
|
238
|
+
"element_id": {
|
|
239
|
+
"type": "integer",
|
|
240
|
+
"minimum": 1
|
|
241
|
+
},
|
|
242
|
+
"head_position": {
|
|
243
|
+
"type": "array",
|
|
244
|
+
"minItems": 3,
|
|
245
|
+
"maxItems": 3,
|
|
246
|
+
"items": {
|
|
247
|
+
"type": "number"
|
|
248
|
+
},
|
|
249
|
+
"description": "Tag head in document internal coordinates, in unit."
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
"required": [
|
|
253
|
+
"element_id",
|
|
254
|
+
"head_position"
|
|
255
|
+
]
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
"leader": {
|
|
259
|
+
"type": "boolean"
|
|
260
|
+
},
|
|
261
|
+
"orientation": {
|
|
262
|
+
"type": "string",
|
|
263
|
+
"enum": [
|
|
264
|
+
"horizontal",
|
|
265
|
+
"vertical"
|
|
266
|
+
]
|
|
267
|
+
},
|
|
268
|
+
"preview": {
|
|
269
|
+
"type": "boolean",
|
|
270
|
+
"description": "Commit-validate then roll back all model edits. Default false."
|
|
271
|
+
},
|
|
272
|
+
"atomic": {
|
|
273
|
+
"type": "boolean"
|
|
274
|
+
},
|
|
275
|
+
"expected_document_id": {
|
|
276
|
+
"type": "string",
|
|
277
|
+
"description": "Required: exact opaque project.documentId from get_model_overview for the intended open document. Invalid after close/reopen or bridge restart."
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
"required": [
|
|
281
|
+
"kind",
|
|
282
|
+
"view_id",
|
|
283
|
+
"tag_type_id",
|
|
284
|
+
"unit",
|
|
285
|
+
"targets",
|
|
286
|
+
"expected_document_id"
|
|
287
|
+
]
|
|
288
|
+
}
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"name": "delete_elements",
|
|
292
|
+
"source": "bridge",
|
|
293
|
+
"tier": "advanced",
|
|
294
|
+
"write": true,
|
|
295
|
+
"effects": [
|
|
296
|
+
"model"
|
|
297
|
+
],
|
|
298
|
+
"requires_document": true,
|
|
299
|
+
"document_kinds": [
|
|
300
|
+
"project",
|
|
301
|
+
"family"
|
|
302
|
+
],
|
|
303
|
+
"keywords": [
|
|
304
|
+
"remove",
|
|
305
|
+
"erase",
|
|
306
|
+
"cleanup",
|
|
307
|
+
"delete view",
|
|
308
|
+
"delete sheet"
|
|
309
|
+
],
|
|
310
|
+
"limits": [
|
|
311
|
+
{
|
|
312
|
+
"what": "Pinned elements (rejected, never unpinned automatically)",
|
|
313
|
+
"alternative": {
|
|
314
|
+
"kind": "user",
|
|
315
|
+
"ref": "Confirm unpinning (Element.Pinned) first"
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"what": "Elements inside linked models",
|
|
320
|
+
"alternative": {
|
|
321
|
+
"kind": "user",
|
|
322
|
+
"ref": "Edit the linked model itself"
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"what": "One-step purge of unused types",
|
|
327
|
+
"alternative": {
|
|
328
|
+
"kind": "tool",
|
|
329
|
+
"ref": "get_element_types with include_instance_count, then delete_elements"
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
],
|
|
333
|
+
"verification": "reread",
|
|
334
|
+
"contract_hash": "7c3880c989b85bb0",
|
|
335
|
+
"parameters": {
|
|
336
|
+
"type": "object",
|
|
337
|
+
"properties": {
|
|
338
|
+
"element_ids": {
|
|
339
|
+
"type": "array",
|
|
340
|
+
"minItems": 1,
|
|
341
|
+
"maxItems": 200,
|
|
342
|
+
"uniqueItems": true,
|
|
343
|
+
"items": {
|
|
344
|
+
"type": "integer",
|
|
345
|
+
"minimum": 1
|
|
346
|
+
}
|
|
347
|
+
},
|
|
348
|
+
"preview": {
|
|
349
|
+
"type": "boolean",
|
|
350
|
+
"description": "Commit-validate then roll back all model edits. Default false."
|
|
351
|
+
},
|
|
352
|
+
"expected_deleted_ids": {
|
|
353
|
+
"type": "array",
|
|
354
|
+
"minItems": 1,
|
|
355
|
+
"maxItems": 10000,
|
|
356
|
+
"uniqueItems": true,
|
|
357
|
+
"items": {
|
|
358
|
+
"type": "integer",
|
|
359
|
+
"minimum": 1
|
|
360
|
+
},
|
|
361
|
+
"description": "Exact full deleted_ids set from a previous preview; mismatches roll back."
|
|
362
|
+
},
|
|
363
|
+
"expected_document_id": {
|
|
364
|
+
"type": "string",
|
|
365
|
+
"description": "Required: exact opaque project.documentId from get_model_overview for the intended open document. Invalid after close/reopen or bridge restart."
|
|
366
|
+
}
|
|
367
|
+
},
|
|
368
|
+
"required": [
|
|
369
|
+
"element_ids",
|
|
370
|
+
"expected_document_id"
|
|
371
|
+
]
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"name": "execute_csharp",
|
|
376
|
+
"source": "bridge",
|
|
377
|
+
"tier": "core",
|
|
378
|
+
"write": true,
|
|
379
|
+
"effects": [
|
|
380
|
+
"model",
|
|
381
|
+
"ui",
|
|
382
|
+
"files",
|
|
383
|
+
"external"
|
|
384
|
+
],
|
|
385
|
+
"requires_document": true,
|
|
386
|
+
"document_kinds": [
|
|
387
|
+
"project",
|
|
388
|
+
"family"
|
|
389
|
+
],
|
|
390
|
+
"keywords": [
|
|
391
|
+
"script",
|
|
392
|
+
"code",
|
|
393
|
+
"csharp",
|
|
394
|
+
"c#",
|
|
395
|
+
"custom",
|
|
396
|
+
"automation",
|
|
397
|
+
"macro"
|
|
398
|
+
],
|
|
399
|
+
"limits": [
|
|
400
|
+
{
|
|
401
|
+
"what": "Automatic preview or rollback of custom code",
|
|
402
|
+
"alternative": {
|
|
403
|
+
"kind": "tool",
|
|
404
|
+
"ref": "dedicated tools with preview (set_parameters, transform_elements, delete_elements, manage_views, ...)"
|
|
405
|
+
}
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"what": "Undoing file, UI or external effects on rollback",
|
|
409
|
+
"alternative": {
|
|
410
|
+
"kind": "user",
|
|
411
|
+
"ref": "Inspect and clean up those effects explicitly"
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"what": "Saving the model",
|
|
416
|
+
"alternative": {
|
|
417
|
+
"kind": "user",
|
|
418
|
+
"ref": "Save only when the user asks"
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
],
|
|
422
|
+
"verification": "reread",
|
|
423
|
+
"contract_hash": "2fa53a38ab9692cf",
|
|
424
|
+
"parameters": {
|
|
425
|
+
"type": "object",
|
|
426
|
+
"properties": {
|
|
427
|
+
"code": {
|
|
428
|
+
"type": "string",
|
|
429
|
+
"description": "C# script body (top-level statements; using directives allowed at the top). Globals doc/uidoc/uiapp/inputs and Dump(value) are in scope. The final expression or a return statement is the result."
|
|
430
|
+
},
|
|
431
|
+
"inputs": {
|
|
432
|
+
"type": "object",
|
|
433
|
+
"description": "Optional structured JSON inputs, available as the inputs JsonElement global. Default empty object. Values are never interpolated into source code."
|
|
434
|
+
},
|
|
435
|
+
"expected_document": {
|
|
436
|
+
"type": "string",
|
|
437
|
+
"description": "Optional safety check: title of the document this script is meant for (as reported by get_model_overview). If the active document differs (user switched models), the call fails before running anything."
|
|
438
|
+
},
|
|
439
|
+
"expected_document_id": {
|
|
440
|
+
"type": "string",
|
|
441
|
+
"description": "Required: exact opaque project.documentId from get_model_overview for the intended open document. Invalid after close/reopen or bridge restart."
|
|
442
|
+
}
|
|
443
|
+
},
|
|
444
|
+
"required": [
|
|
445
|
+
"code",
|
|
446
|
+
"expected_document_id"
|
|
447
|
+
]
|
|
448
|
+
}
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"name": "export_documents",
|
|
452
|
+
"source": "bridge",
|
|
453
|
+
"tier": "advanced",
|
|
454
|
+
"write": true,
|
|
455
|
+
"effects": [
|
|
456
|
+
"model",
|
|
457
|
+
"files"
|
|
458
|
+
],
|
|
459
|
+
"requires_document": true,
|
|
460
|
+
"document_kinds": [
|
|
461
|
+
"project",
|
|
462
|
+
"family"
|
|
463
|
+
],
|
|
464
|
+
"keywords": [
|
|
465
|
+
"pdf",
|
|
466
|
+
"dwg",
|
|
467
|
+
"ifc",
|
|
468
|
+
"png",
|
|
469
|
+
"print",
|
|
470
|
+
"publish",
|
|
471
|
+
"plot",
|
|
472
|
+
"export sheets"
|
|
473
|
+
],
|
|
474
|
+
"limits": [
|
|
475
|
+
{
|
|
476
|
+
"what": "Formats other than PDF, DWG, PNG and IFC",
|
|
477
|
+
"alternative": {
|
|
478
|
+
"kind": "api",
|
|
479
|
+
"ref": "Document.Export overloads (e.g. DXFExportOptions, NavisworksExportOptions); verify the installed exporter"
|
|
480
|
+
}
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"what": "Printing to a physical printer",
|
|
484
|
+
"alternative": {
|
|
485
|
+
"kind": "api",
|
|
486
|
+
"ref": "PrintManager"
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
],
|
|
490
|
+
"verification": "inspect_output",
|
|
491
|
+
"contract_hash": "09e7464757ff2e48",
|
|
492
|
+
"parameters": {
|
|
493
|
+
"type": "object",
|
|
494
|
+
"properties": {
|
|
495
|
+
"format": {
|
|
496
|
+
"type": "string",
|
|
497
|
+
"enum": [
|
|
498
|
+
"pdf",
|
|
499
|
+
"dwg",
|
|
500
|
+
"png",
|
|
501
|
+
"ifc"
|
|
502
|
+
],
|
|
503
|
+
"description": "Export format. pdf/dwg/png need sheet/view ids; ifc exports the model (optionally filtered to one view)."
|
|
504
|
+
},
|
|
505
|
+
"ids": {
|
|
506
|
+
"type": "array",
|
|
507
|
+
"items": {
|
|
508
|
+
"type": "integer"
|
|
509
|
+
},
|
|
510
|
+
"description": "Sheet/view element ids to export (1-100). Required for pdf/dwg/png; for ifc at most one view id (default: the whole model)."
|
|
511
|
+
},
|
|
512
|
+
"output_dir": {
|
|
513
|
+
"type": "string",
|
|
514
|
+
"description": "Output directory, created if missing. Default: Documents\\pi-revit\\Models\\<model title>--<identity hash>\\exports — files sort under the exported model automatically; omit unless the user names a different target."
|
|
515
|
+
},
|
|
516
|
+
"file_name_prefix": {
|
|
517
|
+
"type": "string",
|
|
518
|
+
"description": "Base file name without extension. Default: the document title."
|
|
519
|
+
},
|
|
520
|
+
"combine": {
|
|
521
|
+
"type": "boolean",
|
|
522
|
+
"description": "pdf only: combine all sheets/views into one PDF. Default true."
|
|
523
|
+
},
|
|
524
|
+
"expected_document_id": {
|
|
525
|
+
"type": "string",
|
|
526
|
+
"description": "Required: exact opaque project.documentId from get_model_overview for the intended open document. Invalid after close/reopen or bridge restart."
|
|
527
|
+
}
|
|
528
|
+
},
|
|
529
|
+
"required": [
|
|
530
|
+
"format",
|
|
531
|
+
"expected_document_id"
|
|
532
|
+
]
|
|
533
|
+
}
|
|
534
|
+
},
|
|
535
|
+
{
|
|
536
|
+
"name": "find_revit_tools",
|
|
537
|
+
"source": "native",
|
|
538
|
+
"tier": "core",
|
|
539
|
+
"write": false,
|
|
540
|
+
"effects": [
|
|
541
|
+
"session"
|
|
542
|
+
],
|
|
543
|
+
"requires_document": false,
|
|
544
|
+
"document_kinds": null,
|
|
545
|
+
"keywords": [
|
|
546
|
+
"capabilities",
|
|
547
|
+
"what can you do",
|
|
548
|
+
"tools",
|
|
549
|
+
"manuals",
|
|
550
|
+
"documentation",
|
|
551
|
+
"help",
|
|
552
|
+
"workflows"
|
|
553
|
+
],
|
|
554
|
+
"limits": [
|
|
555
|
+
{
|
|
556
|
+
"what": "Reading manual contents",
|
|
557
|
+
"alternative": {
|
|
558
|
+
"kind": "tool",
|
|
559
|
+
"ref": "read (open the returned path)"
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
],
|
|
563
|
+
"verification": "none",
|
|
564
|
+
"contract_hash": "25e8fc4224d36256",
|
|
565
|
+
"parameters": {
|
|
566
|
+
"type": "object",
|
|
567
|
+
"properties": {
|
|
568
|
+
"scope": {
|
|
569
|
+
"anyOf": [
|
|
570
|
+
{
|
|
571
|
+
"type": "string",
|
|
572
|
+
"const": "available"
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
"type": "string",
|
|
576
|
+
"const": "documentation"
|
|
577
|
+
}
|
|
578
|
+
],
|
|
579
|
+
"description": "available (default): search registered native and last-discovered bridge tools. documentation: read-only packaged manual lookup; no bridge request or activation."
|
|
580
|
+
},
|
|
581
|
+
"query": {
|
|
582
|
+
"type": "string",
|
|
583
|
+
"description": "Short English task words, such as 'tag rooms' or 'count walls per level'; translate from the user's language first. Tools matching every word rank first, followed by strong partial matches; when nothing matches every word the remaining route is explained. Use separate queries for different capabilities."
|
|
584
|
+
},
|
|
585
|
+
"names": {
|
|
586
|
+
"type": "array",
|
|
587
|
+
"items": {
|
|
588
|
+
"type": "string"
|
|
589
|
+
},
|
|
590
|
+
"maxItems": 20,
|
|
591
|
+
"description": "Exact tool names; takes precedence over query."
|
|
592
|
+
},
|
|
593
|
+
"activate": {
|
|
594
|
+
"type": "boolean",
|
|
595
|
+
"description": "Activate returned matches. Default true for a query or exact names; false for browsing."
|
|
596
|
+
},
|
|
597
|
+
"offset": {
|
|
598
|
+
"type": "integer",
|
|
599
|
+
"minimum": 0
|
|
600
|
+
},
|
|
601
|
+
"limit": {
|
|
602
|
+
"type": "integer",
|
|
603
|
+
"minimum": 1,
|
|
604
|
+
"maximum": 20
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
},
|
|
609
|
+
{
|
|
610
|
+
"name": "get_element_details",
|
|
611
|
+
"source": "bridge",
|
|
612
|
+
"tier": "core",
|
|
613
|
+
"write": false,
|
|
614
|
+
"effects": [],
|
|
615
|
+
"requires_document": true,
|
|
616
|
+
"document_kinds": [
|
|
617
|
+
"project",
|
|
618
|
+
"family"
|
|
619
|
+
],
|
|
620
|
+
"keywords": [
|
|
621
|
+
"parameters",
|
|
622
|
+
"properties",
|
|
623
|
+
"inspect",
|
|
624
|
+
"values",
|
|
625
|
+
"material",
|
|
626
|
+
"bounding box",
|
|
627
|
+
"location"
|
|
628
|
+
],
|
|
629
|
+
"limits": [
|
|
630
|
+
{
|
|
631
|
+
"what": "Listing or filtering elements",
|
|
632
|
+
"alternative": {
|
|
633
|
+
"kind": "tool",
|
|
634
|
+
"ref": "get_elements"
|
|
635
|
+
}
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"what": "Elements inside linked models",
|
|
639
|
+
"alternative": {
|
|
640
|
+
"kind": "tool",
|
|
641
|
+
"ref": "get_linked_elements"
|
|
642
|
+
}
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
"what": "Exact solid geometry or faces",
|
|
646
|
+
"alternative": {
|
|
647
|
+
"kind": "api",
|
|
648
|
+
"ref": "Element.Geometry(Options)"
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
],
|
|
652
|
+
"verification": null,
|
|
653
|
+
"contract_hash": "37ca1810049de7e3",
|
|
654
|
+
"parameters": {
|
|
655
|
+
"type": "object",
|
|
656
|
+
"properties": {
|
|
657
|
+
"element_ids": {
|
|
658
|
+
"type": "array",
|
|
659
|
+
"items": {
|
|
660
|
+
"type": "integer"
|
|
661
|
+
},
|
|
662
|
+
"description": "Element ids to inspect (1-50 per call)."
|
|
663
|
+
},
|
|
664
|
+
"parameter_names": {
|
|
665
|
+
"type": "array",
|
|
666
|
+
"items": {
|
|
667
|
+
"type": "string"
|
|
668
|
+
},
|
|
669
|
+
"description": "Only return these parameters. Matches the display name OR the BuiltInParameter enum name (case-insensitive exact). Display names are localized in non-English Revit UIs — prefer enum names like ALL_MODEL_MARK for language-independent filtering. Default: all."
|
|
670
|
+
},
|
|
671
|
+
"include": {
|
|
672
|
+
"type": "object",
|
|
673
|
+
"description": "Optional sections per element.",
|
|
674
|
+
"properties": {
|
|
675
|
+
"parameters": {
|
|
676
|
+
"type": "boolean",
|
|
677
|
+
"description": "Instance parameter values. Default true."
|
|
678
|
+
},
|
|
679
|
+
"type_parameters": {
|
|
680
|
+
"type": "boolean",
|
|
681
|
+
"description": "Include the element type's parameters, marked isType=true, independently of the instance parameters flag. Default false."
|
|
682
|
+
},
|
|
683
|
+
"location": {
|
|
684
|
+
"type": "boolean",
|
|
685
|
+
"description": "Location point or curve (coordinates in internal feet). Default false."
|
|
686
|
+
},
|
|
687
|
+
"bounding_box": {
|
|
688
|
+
"type": "boolean",
|
|
689
|
+
"description": "Model bounding box min/max (internal feet). Default false."
|
|
690
|
+
},
|
|
691
|
+
"materials": {
|
|
692
|
+
"type": "boolean",
|
|
693
|
+
"description": "Material ids/names with area/volume (internal units). Default false."
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
},
|
|
697
|
+
"expected_document_id": {
|
|
698
|
+
"type": "string",
|
|
699
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
700
|
+
}
|
|
701
|
+
},
|
|
702
|
+
"required": [
|
|
703
|
+
"element_ids"
|
|
704
|
+
]
|
|
705
|
+
}
|
|
706
|
+
},
|
|
707
|
+
{
|
|
708
|
+
"name": "get_element_relationships",
|
|
709
|
+
"source": "bridge",
|
|
710
|
+
"tier": "advanced",
|
|
711
|
+
"write": false,
|
|
712
|
+
"effects": [],
|
|
713
|
+
"requires_document": true,
|
|
714
|
+
"document_kinds": [
|
|
715
|
+
"project",
|
|
716
|
+
"family"
|
|
717
|
+
],
|
|
718
|
+
"keywords": [
|
|
719
|
+
"host",
|
|
720
|
+
"hosted",
|
|
721
|
+
"dependents",
|
|
722
|
+
"nested",
|
|
723
|
+
"group members",
|
|
724
|
+
"joined",
|
|
725
|
+
"relationship",
|
|
726
|
+
"family hierarchy"
|
|
727
|
+
],
|
|
728
|
+
"limits": [
|
|
729
|
+
{
|
|
730
|
+
"what": "A complete prediction of deletion effects",
|
|
731
|
+
"alternative": {
|
|
732
|
+
"kind": "tool",
|
|
733
|
+
"ref": "delete_elements with preview"
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
],
|
|
737
|
+
"verification": null,
|
|
738
|
+
"contract_hash": "c597f56ba5735470",
|
|
739
|
+
"parameters": {
|
|
740
|
+
"type": "object",
|
|
741
|
+
"properties": {
|
|
742
|
+
"element_id": {
|
|
743
|
+
"type": "integer"
|
|
744
|
+
},
|
|
745
|
+
"relationships": {
|
|
746
|
+
"type": "array",
|
|
747
|
+
"items": {
|
|
748
|
+
"type": "string",
|
|
749
|
+
"enum": [
|
|
750
|
+
"type",
|
|
751
|
+
"level",
|
|
752
|
+
"owner_view",
|
|
753
|
+
"host",
|
|
754
|
+
"parent",
|
|
755
|
+
"subcomponents",
|
|
756
|
+
"group",
|
|
757
|
+
"assembly",
|
|
758
|
+
"members",
|
|
759
|
+
"joined",
|
|
760
|
+
"dependents"
|
|
761
|
+
]
|
|
762
|
+
}
|
|
763
|
+
},
|
|
764
|
+
"offset": {
|
|
765
|
+
"type": "integer",
|
|
766
|
+
"minimum": 0
|
|
767
|
+
},
|
|
768
|
+
"limit": {
|
|
769
|
+
"type": "integer",
|
|
770
|
+
"minimum": 1,
|
|
771
|
+
"maximum": 200
|
|
772
|
+
},
|
|
773
|
+
"expected_document_id": {
|
|
774
|
+
"type": "string",
|
|
775
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
776
|
+
}
|
|
777
|
+
},
|
|
778
|
+
"required": [
|
|
779
|
+
"element_id"
|
|
780
|
+
]
|
|
781
|
+
}
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"name": "get_element_types",
|
|
785
|
+
"source": "bridge",
|
|
786
|
+
"tier": "core",
|
|
787
|
+
"write": false,
|
|
788
|
+
"effects": [],
|
|
789
|
+
"requires_document": true,
|
|
790
|
+
"document_kinds": [
|
|
791
|
+
"project",
|
|
792
|
+
"family"
|
|
793
|
+
],
|
|
794
|
+
"keywords": [
|
|
795
|
+
"types",
|
|
796
|
+
"family types",
|
|
797
|
+
"family symbols",
|
|
798
|
+
"unused types",
|
|
799
|
+
"loaded families",
|
|
800
|
+
"purge candidates"
|
|
801
|
+
],
|
|
802
|
+
"limits": [
|
|
803
|
+
{
|
|
804
|
+
"what": "Creating or duplicating types",
|
|
805
|
+
"alternative": {
|
|
806
|
+
"kind": "api",
|
|
807
|
+
"ref": "ElementType.Duplicate"
|
|
808
|
+
}
|
|
809
|
+
},
|
|
810
|
+
{
|
|
811
|
+
"what": "Loading families",
|
|
812
|
+
"alternative": {
|
|
813
|
+
"kind": "api",
|
|
814
|
+
"ref": "Document.LoadFamily"
|
|
815
|
+
}
|
|
816
|
+
},
|
|
817
|
+
{
|
|
818
|
+
"what": "The types of the family being edited in a family document",
|
|
819
|
+
"alternative": {
|
|
820
|
+
"kind": "api",
|
|
821
|
+
"ref": "FamilyManager.Types; FamilyManager.NewType; FamilyManager.Set; FamilyManager.AddParameter; FamilyManager.SetFormula"
|
|
822
|
+
}
|
|
823
|
+
}
|
|
824
|
+
],
|
|
825
|
+
"verification": null,
|
|
826
|
+
"contract_hash": "1eb28b6511ebb61e",
|
|
827
|
+
"parameters": {
|
|
828
|
+
"type": "object",
|
|
829
|
+
"properties": {
|
|
830
|
+
"category": {
|
|
831
|
+
"type": "string",
|
|
832
|
+
"description": "Category: BuiltInCategory enum name (e.g. OST_Walls) or display name (e.g. Walls, Doors)."
|
|
833
|
+
},
|
|
834
|
+
"of_class": {
|
|
835
|
+
"type": "string",
|
|
836
|
+
"description": "Element type class, e.g. WallType, FloorType, FamilySymbol."
|
|
837
|
+
},
|
|
838
|
+
"name_filter": {
|
|
839
|
+
"type": "string",
|
|
840
|
+
"description": "Case-insensitive substring matched against type name and family name."
|
|
841
|
+
},
|
|
842
|
+
"include_instance_count": {
|
|
843
|
+
"type": "boolean",
|
|
844
|
+
"description": "Add the number of placed instances per type. Counts the scoped category (or the whole model without a category), so it costs one extra pass. Default false."
|
|
845
|
+
},
|
|
846
|
+
"offset": {
|
|
847
|
+
"type": "integer",
|
|
848
|
+
"description": "Pagination offset. Default 0."
|
|
849
|
+
},
|
|
850
|
+
"limit": {
|
|
851
|
+
"type": "integer",
|
|
852
|
+
"description": "Max types to return (1-1000). Default 200."
|
|
853
|
+
},
|
|
854
|
+
"expected_document_id": {
|
|
855
|
+
"type": "string",
|
|
856
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
857
|
+
}
|
|
858
|
+
},
|
|
859
|
+
"required": []
|
|
860
|
+
}
|
|
861
|
+
},
|
|
862
|
+
{
|
|
863
|
+
"name": "get_elements",
|
|
864
|
+
"source": "bridge",
|
|
865
|
+
"tier": "core",
|
|
866
|
+
"write": false,
|
|
867
|
+
"effects": [],
|
|
868
|
+
"requires_document": true,
|
|
869
|
+
"document_kinds": [
|
|
870
|
+
"project",
|
|
871
|
+
"family"
|
|
872
|
+
],
|
|
873
|
+
"keywords": [
|
|
874
|
+
"list",
|
|
875
|
+
"find",
|
|
876
|
+
"query",
|
|
877
|
+
"count",
|
|
878
|
+
"filter",
|
|
879
|
+
"search elements",
|
|
880
|
+
"how many"
|
|
881
|
+
],
|
|
882
|
+
"limits": [
|
|
883
|
+
{
|
|
884
|
+
"what": "Elements inside linked models",
|
|
885
|
+
"alternative": {
|
|
886
|
+
"kind": "tool",
|
|
887
|
+
"ref": "get_linked_elements"
|
|
888
|
+
}
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
"what": "Grouped counts or statistics over a whole scope",
|
|
892
|
+
"alternative": {
|
|
893
|
+
"kind": "tool",
|
|
894
|
+
"ref": "summarize_elements"
|
|
895
|
+
}
|
|
896
|
+
},
|
|
897
|
+
{
|
|
898
|
+
"what": "Spatial containment or intersection",
|
|
899
|
+
"alternative": {
|
|
900
|
+
"kind": "tool",
|
|
901
|
+
"ref": "query_spatial_elements"
|
|
902
|
+
}
|
|
903
|
+
}
|
|
904
|
+
],
|
|
905
|
+
"verification": null,
|
|
906
|
+
"contract_hash": "638881fcadf80086",
|
|
907
|
+
"parameters": {
|
|
908
|
+
"type": "object",
|
|
909
|
+
"properties": {
|
|
910
|
+
"category": {
|
|
911
|
+
"type": "string",
|
|
912
|
+
"description": "Category: BuiltInCategory enum name (e.g. OST_Walls) or display name (e.g. Walls, Doors, Rooms, Sheets, Views)."
|
|
913
|
+
},
|
|
914
|
+
"of_class": {
|
|
915
|
+
"type": "string",
|
|
916
|
+
"description": "Revit API element class, e.g. Wall, FamilyInstance, ViewSheet, Level, or a full name like Autodesk.Revit.DB.Mechanical.Duct."
|
|
917
|
+
},
|
|
918
|
+
"filter": {
|
|
919
|
+
"type": "object",
|
|
920
|
+
"description": "Parameter filter. Numeric rule values are read in the document's display units for that parameter unless 'unit' is set.",
|
|
921
|
+
"properties": {
|
|
922
|
+
"match": {
|
|
923
|
+
"type": "string",
|
|
924
|
+
"enum": [
|
|
925
|
+
"all",
|
|
926
|
+
"any"
|
|
927
|
+
],
|
|
928
|
+
"description": "Combine rules with AND (all, default) or OR (any)."
|
|
929
|
+
},
|
|
930
|
+
"rules": {
|
|
931
|
+
"type": "array",
|
|
932
|
+
"items": {
|
|
933
|
+
"type": "object",
|
|
934
|
+
"properties": {
|
|
935
|
+
"param": {
|
|
936
|
+
"type": "string",
|
|
937
|
+
"description": "Parameter display name, BuiltInParameter enum name (e.g. WALL_BASE_OFFSET), or guid:<GUID> for a shared parameter."
|
|
938
|
+
},
|
|
939
|
+
"op": {
|
|
940
|
+
"type": "string",
|
|
941
|
+
"enum": [
|
|
942
|
+
"equals",
|
|
943
|
+
"not_equals",
|
|
944
|
+
"greater",
|
|
945
|
+
"greater_or_equal",
|
|
946
|
+
"less",
|
|
947
|
+
"less_or_equal",
|
|
948
|
+
"contains",
|
|
949
|
+
"is_empty",
|
|
950
|
+
"is_not_empty",
|
|
951
|
+
"regex"
|
|
952
|
+
]
|
|
953
|
+
},
|
|
954
|
+
"value": {
|
|
955
|
+
"description": "Comparison value (string, number, or bool). Regex pattern for op=regex. Unused for is_empty/is_not_empty."
|
|
956
|
+
},
|
|
957
|
+
"unit": {
|
|
958
|
+
"type": "string",
|
|
959
|
+
"description": "Unit of a numeric value, e.g. millimeters, meters, feet, squareMeters. Default: the document's display units."
|
|
960
|
+
}
|
|
961
|
+
},
|
|
962
|
+
"required": [
|
|
963
|
+
"param",
|
|
964
|
+
"op"
|
|
965
|
+
]
|
|
966
|
+
}
|
|
967
|
+
}
|
|
968
|
+
},
|
|
969
|
+
"required": [
|
|
970
|
+
"rules"
|
|
971
|
+
]
|
|
972
|
+
},
|
|
973
|
+
"level": {
|
|
974
|
+
"type": "string",
|
|
975
|
+
"description": "Only elements hosted on this level (level name or id)."
|
|
976
|
+
},
|
|
977
|
+
"type_id": {
|
|
978
|
+
"type": "integer",
|
|
979
|
+
"description": "Only instances of this element type id (see get_element_types)."
|
|
980
|
+
},
|
|
981
|
+
"in_active_view": {
|
|
982
|
+
"type": "boolean",
|
|
983
|
+
"description": "Only elements visible in the active view. Default false."
|
|
984
|
+
},
|
|
985
|
+
"count_only": {
|
|
986
|
+
"type": "boolean",
|
|
987
|
+
"description": "Return only total_count, no element rows. Default false."
|
|
988
|
+
},
|
|
989
|
+
"parameter_names": {
|
|
990
|
+
"type": "array",
|
|
991
|
+
"maxItems": 20,
|
|
992
|
+
"items": {
|
|
993
|
+
"type": "string"
|
|
994
|
+
},
|
|
995
|
+
"description": "Optional parameter projections for each returned element: display names, BuiltInParameter names or guid:<GUID>. Every matching parameter is reported, including missing/ambiguous matches. Numeric values use internal units with separate display values. Ignored by count_only."
|
|
996
|
+
},
|
|
997
|
+
"include_type_parameters": {
|
|
998
|
+
"type": "boolean",
|
|
999
|
+
"description": "Also project requested parameters from each element's type. Default false."
|
|
1000
|
+
},
|
|
1001
|
+
"fields": {
|
|
1002
|
+
"type": "array",
|
|
1003
|
+
"items": {
|
|
1004
|
+
"type": "string",
|
|
1005
|
+
"enum": [
|
|
1006
|
+
"id",
|
|
1007
|
+
"name",
|
|
1008
|
+
"category",
|
|
1009
|
+
"typeName",
|
|
1010
|
+
"levelId"
|
|
1011
|
+
]
|
|
1012
|
+
},
|
|
1013
|
+
"description": "Identity fields per row; default all five. id is always included. Use parameter_names for optional values alongside these fields."
|
|
1014
|
+
},
|
|
1015
|
+
"offset": {
|
|
1016
|
+
"type": "integer",
|
|
1017
|
+
"description": "Pagination offset. Default 0."
|
|
1018
|
+
},
|
|
1019
|
+
"limit": {
|
|
1020
|
+
"type": "integer",
|
|
1021
|
+
"description": "Max rows to return (1-1000). Default 200."
|
|
1022
|
+
},
|
|
1023
|
+
"expected_document_id": {
|
|
1024
|
+
"type": "string",
|
|
1025
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
1026
|
+
}
|
|
1027
|
+
},
|
|
1028
|
+
"required": []
|
|
1029
|
+
}
|
|
1030
|
+
},
|
|
1031
|
+
{
|
|
1032
|
+
"name": "get_linked_elements",
|
|
1033
|
+
"source": "bridge",
|
|
1034
|
+
"tier": "advanced",
|
|
1035
|
+
"write": false,
|
|
1036
|
+
"effects": [],
|
|
1037
|
+
"requires_document": true,
|
|
1038
|
+
"document_kinds": [
|
|
1039
|
+
"project"
|
|
1040
|
+
],
|
|
1041
|
+
"keywords": [
|
|
1042
|
+
"linked model",
|
|
1043
|
+
"link",
|
|
1044
|
+
"linked elements",
|
|
1045
|
+
"elements in link",
|
|
1046
|
+
"rvt link",
|
|
1047
|
+
"consultant model"
|
|
1048
|
+
],
|
|
1049
|
+
"limits": [
|
|
1050
|
+
{
|
|
1051
|
+
"what": "Nested links",
|
|
1052
|
+
"alternative": {
|
|
1053
|
+
"kind": "api",
|
|
1054
|
+
"ref": "RevitLinkInstance.GetLinkDocument on the nested link instances"
|
|
1055
|
+
}
|
|
1056
|
+
},
|
|
1057
|
+
{
|
|
1058
|
+
"what": "Editing linked elements",
|
|
1059
|
+
"alternative": {
|
|
1060
|
+
"kind": "user",
|
|
1061
|
+
"ref": "Edit the linked model itself"
|
|
1062
|
+
}
|
|
1063
|
+
}
|
|
1064
|
+
],
|
|
1065
|
+
"verification": null,
|
|
1066
|
+
"contract_hash": "7f454a594862865c",
|
|
1067
|
+
"parameters": {
|
|
1068
|
+
"type": "object",
|
|
1069
|
+
"properties": {
|
|
1070
|
+
"category": {
|
|
1071
|
+
"type": "string",
|
|
1072
|
+
"description": "Category: BuiltInCategory enum name (e.g. OST_Walls) or display name (e.g. Walls, Doors, Rooms, Sheets, Views)."
|
|
1073
|
+
},
|
|
1074
|
+
"of_class": {
|
|
1075
|
+
"type": "string",
|
|
1076
|
+
"description": "Revit API element class, e.g. Wall, FamilyInstance, ViewSheet, Level, or a full name like Autodesk.Revit.DB.Mechanical.Duct."
|
|
1077
|
+
},
|
|
1078
|
+
"filter": {
|
|
1079
|
+
"type": "object",
|
|
1080
|
+
"description": "Parameter filter. Numeric rule values are read in the document's display units for that parameter unless 'unit' is set.",
|
|
1081
|
+
"properties": {
|
|
1082
|
+
"match": {
|
|
1083
|
+
"type": "string",
|
|
1084
|
+
"enum": [
|
|
1085
|
+
"all",
|
|
1086
|
+
"any"
|
|
1087
|
+
],
|
|
1088
|
+
"description": "Combine rules with AND (all, default) or OR (any)."
|
|
1089
|
+
},
|
|
1090
|
+
"rules": {
|
|
1091
|
+
"type": "array",
|
|
1092
|
+
"items": {
|
|
1093
|
+
"type": "object",
|
|
1094
|
+
"properties": {
|
|
1095
|
+
"param": {
|
|
1096
|
+
"type": "string",
|
|
1097
|
+
"description": "Parameter display name, BuiltInParameter enum name (e.g. WALL_BASE_OFFSET), or guid:<GUID> for a shared parameter."
|
|
1098
|
+
},
|
|
1099
|
+
"op": {
|
|
1100
|
+
"type": "string",
|
|
1101
|
+
"enum": [
|
|
1102
|
+
"equals",
|
|
1103
|
+
"not_equals",
|
|
1104
|
+
"greater",
|
|
1105
|
+
"greater_or_equal",
|
|
1106
|
+
"less",
|
|
1107
|
+
"less_or_equal",
|
|
1108
|
+
"contains",
|
|
1109
|
+
"is_empty",
|
|
1110
|
+
"is_not_empty",
|
|
1111
|
+
"regex"
|
|
1112
|
+
]
|
|
1113
|
+
},
|
|
1114
|
+
"value": {
|
|
1115
|
+
"description": "Comparison value (string, number, or bool). Regex pattern for op=regex. Unused for is_empty/is_not_empty."
|
|
1116
|
+
},
|
|
1117
|
+
"unit": {
|
|
1118
|
+
"type": "string",
|
|
1119
|
+
"description": "Unit of a numeric value, e.g. millimeters, meters, feet, squareMeters. Default: the document's display units."
|
|
1120
|
+
}
|
|
1121
|
+
},
|
|
1122
|
+
"required": [
|
|
1123
|
+
"param",
|
|
1124
|
+
"op"
|
|
1125
|
+
]
|
|
1126
|
+
}
|
|
1127
|
+
}
|
|
1128
|
+
},
|
|
1129
|
+
"required": [
|
|
1130
|
+
"rules"
|
|
1131
|
+
]
|
|
1132
|
+
},
|
|
1133
|
+
"level": {
|
|
1134
|
+
"type": "string",
|
|
1135
|
+
"description": "Only elements hosted on this level (level name or id)."
|
|
1136
|
+
},
|
|
1137
|
+
"type_id": {
|
|
1138
|
+
"type": "integer",
|
|
1139
|
+
"description": "Only instances of this element type id (see get_element_types)."
|
|
1140
|
+
},
|
|
1141
|
+
"count_only": {
|
|
1142
|
+
"type": "boolean",
|
|
1143
|
+
"description": "Return only total_count, no element rows. Default false."
|
|
1144
|
+
},
|
|
1145
|
+
"parameter_names": {
|
|
1146
|
+
"type": "array",
|
|
1147
|
+
"maxItems": 20,
|
|
1148
|
+
"items": {
|
|
1149
|
+
"type": "string"
|
|
1150
|
+
},
|
|
1151
|
+
"description": "Optional parameter projections for each returned element: display names, BuiltInParameter names or guid:<GUID>. Every matching parameter is reported, including missing/ambiguous matches. Numeric values use internal units with separate display values. Ignored by count_only."
|
|
1152
|
+
},
|
|
1153
|
+
"include_type_parameters": {
|
|
1154
|
+
"type": "boolean",
|
|
1155
|
+
"description": "Also project requested parameters from each element's type. Default false."
|
|
1156
|
+
},
|
|
1157
|
+
"fields": {
|
|
1158
|
+
"type": "array",
|
|
1159
|
+
"items": {
|
|
1160
|
+
"type": "string",
|
|
1161
|
+
"enum": [
|
|
1162
|
+
"id",
|
|
1163
|
+
"name",
|
|
1164
|
+
"category",
|
|
1165
|
+
"typeName",
|
|
1166
|
+
"levelId"
|
|
1167
|
+
]
|
|
1168
|
+
},
|
|
1169
|
+
"description": "Identity fields per row; default all five. id is always included. Use parameter_names for optional values alongside these fields."
|
|
1170
|
+
},
|
|
1171
|
+
"offset": {
|
|
1172
|
+
"type": "integer",
|
|
1173
|
+
"description": "Pagination offset. Default 0."
|
|
1174
|
+
},
|
|
1175
|
+
"limit": {
|
|
1176
|
+
"type": "integer",
|
|
1177
|
+
"description": "Max rows to return (1-1000). Default 200."
|
|
1178
|
+
},
|
|
1179
|
+
"link_instance_id": {
|
|
1180
|
+
"type": "integer"
|
|
1181
|
+
},
|
|
1182
|
+
"expected_linked_document_id": {
|
|
1183
|
+
"type": "string"
|
|
1184
|
+
},
|
|
1185
|
+
"include_bounds": {
|
|
1186
|
+
"type": "boolean"
|
|
1187
|
+
},
|
|
1188
|
+
"expected_document_id": {
|
|
1189
|
+
"type": "string",
|
|
1190
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
1191
|
+
}
|
|
1192
|
+
},
|
|
1193
|
+
"required": [
|
|
1194
|
+
"link_instance_id",
|
|
1195
|
+
"expected_linked_document_id"
|
|
1196
|
+
]
|
|
1197
|
+
}
|
|
1198
|
+
},
|
|
1199
|
+
{
|
|
1200
|
+
"name": "get_linked_models",
|
|
1201
|
+
"source": "bridge",
|
|
1202
|
+
"tier": "advanced",
|
|
1203
|
+
"write": false,
|
|
1204
|
+
"effects": [],
|
|
1205
|
+
"requires_document": true,
|
|
1206
|
+
"document_kinds": [
|
|
1207
|
+
"project"
|
|
1208
|
+
],
|
|
1209
|
+
"keywords": [
|
|
1210
|
+
"links",
|
|
1211
|
+
"linked files",
|
|
1212
|
+
"rvt links",
|
|
1213
|
+
"link status",
|
|
1214
|
+
"loaded",
|
|
1215
|
+
"unloaded"
|
|
1216
|
+
],
|
|
1217
|
+
"limits": [
|
|
1218
|
+
{
|
|
1219
|
+
"what": "Loading or reloading an unloaded link",
|
|
1220
|
+
"alternative": {
|
|
1221
|
+
"kind": "api",
|
|
1222
|
+
"ref": "RevitLinkType.Load"
|
|
1223
|
+
}
|
|
1224
|
+
},
|
|
1225
|
+
{
|
|
1226
|
+
"what": "Nested links",
|
|
1227
|
+
"alternative": {
|
|
1228
|
+
"kind": "api",
|
|
1229
|
+
"ref": "RevitLinkInstance.GetLinkDocument"
|
|
1230
|
+
}
|
|
1231
|
+
}
|
|
1232
|
+
],
|
|
1233
|
+
"verification": null,
|
|
1234
|
+
"contract_hash": "dd234c17c5678369",
|
|
1235
|
+
"parameters": {
|
|
1236
|
+
"type": "object",
|
|
1237
|
+
"properties": {
|
|
1238
|
+
"offset": {
|
|
1239
|
+
"type": "integer",
|
|
1240
|
+
"minimum": 0
|
|
1241
|
+
},
|
|
1242
|
+
"limit": {
|
|
1243
|
+
"type": "integer",
|
|
1244
|
+
"minimum": 1,
|
|
1245
|
+
"maximum": 1000
|
|
1246
|
+
},
|
|
1247
|
+
"expected_document_id": {
|
|
1248
|
+
"type": "string",
|
|
1249
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
1250
|
+
}
|
|
1251
|
+
},
|
|
1252
|
+
"required": []
|
|
1253
|
+
}
|
|
1254
|
+
},
|
|
1255
|
+
{
|
|
1256
|
+
"name": "get_model_coordinates",
|
|
1257
|
+
"source": "bridge",
|
|
1258
|
+
"tier": "advanced",
|
|
1259
|
+
"write": false,
|
|
1260
|
+
"effects": [],
|
|
1261
|
+
"requires_document": true,
|
|
1262
|
+
"document_kinds": [
|
|
1263
|
+
"project"
|
|
1264
|
+
],
|
|
1265
|
+
"keywords": [
|
|
1266
|
+
"survey point",
|
|
1267
|
+
"project base point",
|
|
1268
|
+
"true north",
|
|
1269
|
+
"project north",
|
|
1270
|
+
"shared coordinates",
|
|
1271
|
+
"site location",
|
|
1272
|
+
"latitude",
|
|
1273
|
+
"longitude",
|
|
1274
|
+
"georeference",
|
|
1275
|
+
"elevation"
|
|
1276
|
+
],
|
|
1277
|
+
"limits": [
|
|
1278
|
+
{
|
|
1279
|
+
"what": "Identifying the datum, projection or EPSG code",
|
|
1280
|
+
"alternative": {
|
|
1281
|
+
"kind": "user",
|
|
1282
|
+
"ref": "Confirm the coordinate reference system with the surveyor or project standard"
|
|
1283
|
+
}
|
|
1284
|
+
},
|
|
1285
|
+
{
|
|
1286
|
+
"what": "Changing coordinates or acquiring shared coordinates",
|
|
1287
|
+
"alternative": {
|
|
1288
|
+
"kind": "api",
|
|
1289
|
+
"ref": "ProjectLocation.SetProjectPosition; Document.AcquireCoordinates"
|
|
1290
|
+
}
|
|
1291
|
+
}
|
|
1292
|
+
],
|
|
1293
|
+
"verification": null,
|
|
1294
|
+
"contract_hash": "d8e8f92e2b035e4e",
|
|
1295
|
+
"parameters": {
|
|
1296
|
+
"type": "object",
|
|
1297
|
+
"properties": {
|
|
1298
|
+
"unit": {
|
|
1299
|
+
"type": "string",
|
|
1300
|
+
"enum": [
|
|
1301
|
+
"millimeters",
|
|
1302
|
+
"centimeters",
|
|
1303
|
+
"meters",
|
|
1304
|
+
"feet",
|
|
1305
|
+
"inches"
|
|
1306
|
+
]
|
|
1307
|
+
},
|
|
1308
|
+
"points": {
|
|
1309
|
+
"type": "array",
|
|
1310
|
+
"maxItems": 100,
|
|
1311
|
+
"items": {
|
|
1312
|
+
"type": "array",
|
|
1313
|
+
"minItems": 3,
|
|
1314
|
+
"maxItems": 3,
|
|
1315
|
+
"items": {
|
|
1316
|
+
"type": "number"
|
|
1317
|
+
},
|
|
1318
|
+
"description": "Point along document internal axes, in unit."
|
|
1319
|
+
}
|
|
1320
|
+
},
|
|
1321
|
+
"offset": {
|
|
1322
|
+
"type": "integer",
|
|
1323
|
+
"minimum": 0
|
|
1324
|
+
},
|
|
1325
|
+
"limit": {
|
|
1326
|
+
"type": "integer",
|
|
1327
|
+
"minimum": 1,
|
|
1328
|
+
"maximum": 100
|
|
1329
|
+
},
|
|
1330
|
+
"expected_document_id": {
|
|
1331
|
+
"type": "string",
|
|
1332
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
1333
|
+
}
|
|
1334
|
+
},
|
|
1335
|
+
"required": [
|
|
1336
|
+
"unit"
|
|
1337
|
+
]
|
|
1338
|
+
}
|
|
1339
|
+
},
|
|
1340
|
+
{
|
|
1341
|
+
"name": "get_model_health",
|
|
1342
|
+
"source": "bridge",
|
|
1343
|
+
"tier": "advanced",
|
|
1344
|
+
"write": false,
|
|
1345
|
+
"effects": [],
|
|
1346
|
+
"requires_document": true,
|
|
1347
|
+
"document_kinds": [
|
|
1348
|
+
"project",
|
|
1349
|
+
"family"
|
|
1350
|
+
],
|
|
1351
|
+
"keywords": [
|
|
1352
|
+
"warnings",
|
|
1353
|
+
"errors",
|
|
1354
|
+
"audit",
|
|
1355
|
+
"model quality",
|
|
1356
|
+
"health check",
|
|
1357
|
+
"worksets",
|
|
1358
|
+
"phases",
|
|
1359
|
+
"design options",
|
|
1360
|
+
"in-place families"
|
|
1361
|
+
],
|
|
1362
|
+
"limits": [
|
|
1363
|
+
{
|
|
1364
|
+
"what": "Resolving warnings (report only)",
|
|
1365
|
+
"alternative": {
|
|
1366
|
+
"kind": "api",
|
|
1367
|
+
"ref": "Document.GetWarnings; resolve with dedicated edit tools or custom code within scope"
|
|
1368
|
+
}
|
|
1369
|
+
},
|
|
1370
|
+
{
|
|
1371
|
+
"what": "Geometry, performance or standards-compliance audits",
|
|
1372
|
+
"alternative": {
|
|
1373
|
+
"kind": "api",
|
|
1374
|
+
"ref": "Custom inspection; verify members with search_api_docs"
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
],
|
|
1378
|
+
"verification": null,
|
|
1379
|
+
"contract_hash": "b8ec894975d2efe0",
|
|
1380
|
+
"parameters": {
|
|
1381
|
+
"type": "object",
|
|
1382
|
+
"properties": {
|
|
1383
|
+
"expected_document_id": {
|
|
1384
|
+
"type": "string",
|
|
1385
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
1386
|
+
}
|
|
1387
|
+
},
|
|
1388
|
+
"required": []
|
|
1389
|
+
}
|
|
1390
|
+
},
|
|
1391
|
+
{
|
|
1392
|
+
"name": "get_model_overview",
|
|
1393
|
+
"source": "bridge",
|
|
1394
|
+
"tier": "core",
|
|
1395
|
+
"write": false,
|
|
1396
|
+
"effects": [],
|
|
1397
|
+
"requires_document": true,
|
|
1398
|
+
"document_kinds": [
|
|
1399
|
+
"project",
|
|
1400
|
+
"family"
|
|
1401
|
+
],
|
|
1402
|
+
"keywords": [
|
|
1403
|
+
"project info",
|
|
1404
|
+
"model info",
|
|
1405
|
+
"units",
|
|
1406
|
+
"levels",
|
|
1407
|
+
"grids",
|
|
1408
|
+
"category counts",
|
|
1409
|
+
"summary",
|
|
1410
|
+
"document id",
|
|
1411
|
+
"identity",
|
|
1412
|
+
"document kind",
|
|
1413
|
+
"project or family",
|
|
1414
|
+
"family document"
|
|
1415
|
+
],
|
|
1416
|
+
"limits": [
|
|
1417
|
+
{
|
|
1418
|
+
"what": "Switching the active document or Revit session",
|
|
1419
|
+
"alternative": {
|
|
1420
|
+
"kind": "tool",
|
|
1421
|
+
"ref": "manage_revit_instances"
|
|
1422
|
+
}
|
|
1423
|
+
}
|
|
1424
|
+
],
|
|
1425
|
+
"verification": null,
|
|
1426
|
+
"contract_hash": "b8ec894975d2efe0",
|
|
1427
|
+
"parameters": {
|
|
1428
|
+
"type": "object",
|
|
1429
|
+
"properties": {
|
|
1430
|
+
"expected_document_id": {
|
|
1431
|
+
"type": "string",
|
|
1432
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
1433
|
+
}
|
|
1434
|
+
},
|
|
1435
|
+
"required": []
|
|
1436
|
+
}
|
|
1437
|
+
},
|
|
1438
|
+
{
|
|
1439
|
+
"name": "get_revit_operation",
|
|
1440
|
+
"source": "native",
|
|
1441
|
+
"tier": "core",
|
|
1442
|
+
"write": false,
|
|
1443
|
+
"effects": [],
|
|
1444
|
+
"requires_document": false,
|
|
1445
|
+
"document_kinds": null,
|
|
1446
|
+
"keywords": [
|
|
1447
|
+
"receipt",
|
|
1448
|
+
"timeout",
|
|
1449
|
+
"operation status",
|
|
1450
|
+
"did it run",
|
|
1451
|
+
"retry"
|
|
1452
|
+
],
|
|
1453
|
+
"limits": [
|
|
1454
|
+
{
|
|
1455
|
+
"what": "Operations from an earlier bridge session",
|
|
1456
|
+
"alternative": {
|
|
1457
|
+
"kind": "user",
|
|
1458
|
+
"ref": "Inspect the model state directly; receipts do not survive a restart"
|
|
1459
|
+
}
|
|
1460
|
+
}
|
|
1461
|
+
],
|
|
1462
|
+
"verification": null,
|
|
1463
|
+
"contract_hash": "a21eea435d7eef6d",
|
|
1464
|
+
"parameters": {
|
|
1465
|
+
"type": "object",
|
|
1466
|
+
"required": [
|
|
1467
|
+
"operation_id"
|
|
1468
|
+
],
|
|
1469
|
+
"properties": {
|
|
1470
|
+
"operation_id": {
|
|
1471
|
+
"type": "string",
|
|
1472
|
+
"minLength": 1,
|
|
1473
|
+
"maxLength": 120
|
|
1474
|
+
}
|
|
1475
|
+
}
|
|
1476
|
+
}
|
|
1477
|
+
},
|
|
1478
|
+
{
|
|
1479
|
+
"name": "get_schedule_fields",
|
|
1480
|
+
"source": "bridge",
|
|
1481
|
+
"tier": "advanced",
|
|
1482
|
+
"write": false,
|
|
1483
|
+
"effects": [],
|
|
1484
|
+
"requires_document": true,
|
|
1485
|
+
"document_kinds": [
|
|
1486
|
+
"project"
|
|
1487
|
+
],
|
|
1488
|
+
"keywords": [
|
|
1489
|
+
"schedule fields",
|
|
1490
|
+
"available fields",
|
|
1491
|
+
"add field",
|
|
1492
|
+
"schedulable parameters",
|
|
1493
|
+
"column"
|
|
1494
|
+
],
|
|
1495
|
+
"limits": [
|
|
1496
|
+
{
|
|
1497
|
+
"what": "Calculated (formula) fields",
|
|
1498
|
+
"alternative": {
|
|
1499
|
+
"kind": "revit_unsupported",
|
|
1500
|
+
"ref": "Revit 2025 API exposes ScheduleFieldType.Formula but no member to author a formula"
|
|
1501
|
+
}
|
|
1502
|
+
},
|
|
1503
|
+
{
|
|
1504
|
+
"what": "Combined-parameter fields",
|
|
1505
|
+
"alternative": {
|
|
1506
|
+
"kind": "api",
|
|
1507
|
+
"ref": "ScheduleDefinition.InsertCombinedParameterField"
|
|
1508
|
+
}
|
|
1509
|
+
}
|
|
1510
|
+
],
|
|
1511
|
+
"verification": null,
|
|
1512
|
+
"contract_hash": "f7cac60f69eaf4b3",
|
|
1513
|
+
"parameters": {
|
|
1514
|
+
"type": "object",
|
|
1515
|
+
"properties": {
|
|
1516
|
+
"schedule_id": {
|
|
1517
|
+
"type": "integer",
|
|
1518
|
+
"minimum": 1
|
|
1519
|
+
},
|
|
1520
|
+
"name_filter": {
|
|
1521
|
+
"type": "string"
|
|
1522
|
+
},
|
|
1523
|
+
"offset": {
|
|
1524
|
+
"type": "integer",
|
|
1525
|
+
"minimum": 0
|
|
1526
|
+
},
|
|
1527
|
+
"limit": {
|
|
1528
|
+
"type": "integer",
|
|
1529
|
+
"minimum": 1,
|
|
1530
|
+
"maximum": 200
|
|
1531
|
+
},
|
|
1532
|
+
"expected_document_id": {
|
|
1533
|
+
"type": "string",
|
|
1534
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
1535
|
+
}
|
|
1536
|
+
},
|
|
1537
|
+
"required": [
|
|
1538
|
+
"schedule_id"
|
|
1539
|
+
]
|
|
1540
|
+
}
|
|
1541
|
+
},
|
|
1542
|
+
{
|
|
1543
|
+
"name": "get_schedules",
|
|
1544
|
+
"source": "bridge",
|
|
1545
|
+
"tier": "advanced",
|
|
1546
|
+
"write": false,
|
|
1547
|
+
"effects": [],
|
|
1548
|
+
"requires_document": true,
|
|
1549
|
+
"document_kinds": [
|
|
1550
|
+
"project"
|
|
1551
|
+
],
|
|
1552
|
+
"keywords": [
|
|
1553
|
+
"schedule",
|
|
1554
|
+
"quantities",
|
|
1555
|
+
"takeoff",
|
|
1556
|
+
"table",
|
|
1557
|
+
"schedule cells",
|
|
1558
|
+
"schedule values",
|
|
1559
|
+
"bill of quantities"
|
|
1560
|
+
],
|
|
1561
|
+
"limits": [
|
|
1562
|
+
{
|
|
1563
|
+
"what": "Titleblock revision schedules and schedule templates",
|
|
1564
|
+
"alternative": {
|
|
1565
|
+
"kind": "api",
|
|
1566
|
+
"ref": "ViewSchedule.IsTitleblockRevisionSchedule; ViewSchedule.GetTableData"
|
|
1567
|
+
}
|
|
1568
|
+
},
|
|
1569
|
+
{
|
|
1570
|
+
"what": "Graphical layout of a schedule on a sheet",
|
|
1571
|
+
"alternative": {
|
|
1572
|
+
"kind": "tool",
|
|
1573
|
+
"ref": "capture_view"
|
|
1574
|
+
}
|
|
1575
|
+
}
|
|
1576
|
+
],
|
|
1577
|
+
"verification": null,
|
|
1578
|
+
"contract_hash": "518da1bdb73e1de9",
|
|
1579
|
+
"parameters": {
|
|
1580
|
+
"type": "object",
|
|
1581
|
+
"properties": {
|
|
1582
|
+
"schedule_id": {
|
|
1583
|
+
"type": "integer"
|
|
1584
|
+
},
|
|
1585
|
+
"name_filter": {
|
|
1586
|
+
"type": "string"
|
|
1587
|
+
},
|
|
1588
|
+
"offset": {
|
|
1589
|
+
"type": "integer",
|
|
1590
|
+
"minimum": 0,
|
|
1591
|
+
"description": "List offset or body row offset."
|
|
1592
|
+
},
|
|
1593
|
+
"limit": {
|
|
1594
|
+
"type": "integer",
|
|
1595
|
+
"minimum": 1,
|
|
1596
|
+
"maximum": 200
|
|
1597
|
+
},
|
|
1598
|
+
"column_offset": {
|
|
1599
|
+
"type": "integer",
|
|
1600
|
+
"minimum": 0
|
|
1601
|
+
},
|
|
1602
|
+
"column_limit": {
|
|
1603
|
+
"type": "integer",
|
|
1604
|
+
"minimum": 1,
|
|
1605
|
+
"maximum": 50
|
|
1606
|
+
},
|
|
1607
|
+
"expected_document_id": {
|
|
1608
|
+
"type": "string",
|
|
1609
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
1610
|
+
}
|
|
1611
|
+
},
|
|
1612
|
+
"required": []
|
|
1613
|
+
}
|
|
1614
|
+
},
|
|
1615
|
+
{
|
|
1616
|
+
"name": "manage_element_sets",
|
|
1617
|
+
"source": "bridge",
|
|
1618
|
+
"tier": "advanced",
|
|
1619
|
+
"write": false,
|
|
1620
|
+
"effects": [
|
|
1621
|
+
"session"
|
|
1622
|
+
],
|
|
1623
|
+
"requires_document": true,
|
|
1624
|
+
"document_kinds": [
|
|
1625
|
+
"project",
|
|
1626
|
+
"family"
|
|
1627
|
+
],
|
|
1628
|
+
"keywords": [
|
|
1629
|
+
"set",
|
|
1630
|
+
"collection",
|
|
1631
|
+
"remember elements",
|
|
1632
|
+
"saved query",
|
|
1633
|
+
"reread members",
|
|
1634
|
+
"snapshot"
|
|
1635
|
+
],
|
|
1636
|
+
"limits": [
|
|
1637
|
+
{
|
|
1638
|
+
"what": "Saved Revit selection sets",
|
|
1639
|
+
"alternative": {
|
|
1640
|
+
"kind": "api",
|
|
1641
|
+
"ref": "SelectionFilterElement.Create"
|
|
1642
|
+
}
|
|
1643
|
+
},
|
|
1644
|
+
{
|
|
1645
|
+
"what": "Live query subscriptions",
|
|
1646
|
+
"alternative": {
|
|
1647
|
+
"kind": "tool",
|
|
1648
|
+
"ref": "get_elements (run the query again)"
|
|
1649
|
+
}
|
|
1650
|
+
}
|
|
1651
|
+
],
|
|
1652
|
+
"verification": "none",
|
|
1653
|
+
"contract_hash": "6933cbc169654cfd",
|
|
1654
|
+
"parameters": {
|
|
1655
|
+
"type": "object",
|
|
1656
|
+
"properties": {
|
|
1657
|
+
"action": {
|
|
1658
|
+
"type": "string",
|
|
1659
|
+
"enum": [
|
|
1660
|
+
"create",
|
|
1661
|
+
"list",
|
|
1662
|
+
"read",
|
|
1663
|
+
"forget"
|
|
1664
|
+
]
|
|
1665
|
+
},
|
|
1666
|
+
"query": {
|
|
1667
|
+
"type": "object",
|
|
1668
|
+
"properties": {
|
|
1669
|
+
"category": {
|
|
1670
|
+
"type": "string",
|
|
1671
|
+
"description": "Category: BuiltInCategory enum name (e.g. OST_Walls) or display name (e.g. Walls, Doors, Rooms, Sheets, Views)."
|
|
1672
|
+
},
|
|
1673
|
+
"of_class": {
|
|
1674
|
+
"type": "string",
|
|
1675
|
+
"description": "Revit API element class, e.g. Wall, FamilyInstance, ViewSheet, Level, or a full name like Autodesk.Revit.DB.Mechanical.Duct."
|
|
1676
|
+
},
|
|
1677
|
+
"filter": {
|
|
1678
|
+
"type": "object",
|
|
1679
|
+
"description": "Parameter filter. Numeric rule values are read in the document's display units for that parameter unless 'unit' is set.",
|
|
1680
|
+
"properties": {
|
|
1681
|
+
"match": {
|
|
1682
|
+
"type": "string",
|
|
1683
|
+
"enum": [
|
|
1684
|
+
"all",
|
|
1685
|
+
"any"
|
|
1686
|
+
],
|
|
1687
|
+
"description": "Combine rules with AND (all, default) or OR (any)."
|
|
1688
|
+
},
|
|
1689
|
+
"rules": {
|
|
1690
|
+
"type": "array",
|
|
1691
|
+
"items": {
|
|
1692
|
+
"type": "object",
|
|
1693
|
+
"properties": {
|
|
1694
|
+
"param": {
|
|
1695
|
+
"type": "string",
|
|
1696
|
+
"description": "Parameter display name, BuiltInParameter enum name (e.g. WALL_BASE_OFFSET), or guid:<GUID> for a shared parameter."
|
|
1697
|
+
},
|
|
1698
|
+
"op": {
|
|
1699
|
+
"type": "string",
|
|
1700
|
+
"enum": [
|
|
1701
|
+
"equals",
|
|
1702
|
+
"not_equals",
|
|
1703
|
+
"greater",
|
|
1704
|
+
"greater_or_equal",
|
|
1705
|
+
"less",
|
|
1706
|
+
"less_or_equal",
|
|
1707
|
+
"contains",
|
|
1708
|
+
"is_empty",
|
|
1709
|
+
"is_not_empty",
|
|
1710
|
+
"regex"
|
|
1711
|
+
]
|
|
1712
|
+
},
|
|
1713
|
+
"value": {
|
|
1714
|
+
"description": "Comparison value (string, number, or bool). Regex pattern for op=regex. Unused for is_empty/is_not_empty."
|
|
1715
|
+
},
|
|
1716
|
+
"unit": {
|
|
1717
|
+
"type": "string",
|
|
1718
|
+
"description": "Unit of a numeric value, e.g. millimeters, meters, feet, squareMeters. Default: the document's display units."
|
|
1719
|
+
}
|
|
1720
|
+
},
|
|
1721
|
+
"required": [
|
|
1722
|
+
"param",
|
|
1723
|
+
"op"
|
|
1724
|
+
]
|
|
1725
|
+
}
|
|
1726
|
+
}
|
|
1727
|
+
},
|
|
1728
|
+
"required": [
|
|
1729
|
+
"rules"
|
|
1730
|
+
]
|
|
1731
|
+
},
|
|
1732
|
+
"level": {
|
|
1733
|
+
"type": "string",
|
|
1734
|
+
"description": "Only elements hosted on this level (level name or id)."
|
|
1735
|
+
},
|
|
1736
|
+
"type_id": {
|
|
1737
|
+
"type": "integer",
|
|
1738
|
+
"description": "Only instances of this element type id (see get_element_types)."
|
|
1739
|
+
},
|
|
1740
|
+
"in_active_view": {
|
|
1741
|
+
"type": "boolean",
|
|
1742
|
+
"description": "Only elements visible in the active view. Default false."
|
|
1743
|
+
}
|
|
1744
|
+
},
|
|
1745
|
+
"required": [],
|
|
1746
|
+
"description": "Filter the whole matching scope. Query paging and projections are not supported here.",
|
|
1747
|
+
"additionalProperties": false
|
|
1748
|
+
},
|
|
1749
|
+
"label": {
|
|
1750
|
+
"type": "string",
|
|
1751
|
+
"maxLength": 160
|
|
1752
|
+
},
|
|
1753
|
+
"set_id": {
|
|
1754
|
+
"type": "string"
|
|
1755
|
+
},
|
|
1756
|
+
"offset": {
|
|
1757
|
+
"type": "integer",
|
|
1758
|
+
"minimum": 0
|
|
1759
|
+
},
|
|
1760
|
+
"limit": {
|
|
1761
|
+
"type": "integer",
|
|
1762
|
+
"minimum": 1,
|
|
1763
|
+
"maximum": 1000
|
|
1764
|
+
},
|
|
1765
|
+
"parameter_names": {
|
|
1766
|
+
"type": "array",
|
|
1767
|
+
"maxItems": 20,
|
|
1768
|
+
"items": {
|
|
1769
|
+
"type": "string"
|
|
1770
|
+
}
|
|
1771
|
+
},
|
|
1772
|
+
"include_type_parameters": {
|
|
1773
|
+
"type": "boolean"
|
|
1774
|
+
},
|
|
1775
|
+
"expected_document_id": {
|
|
1776
|
+
"type": "string",
|
|
1777
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
1778
|
+
}
|
|
1779
|
+
},
|
|
1780
|
+
"required": [
|
|
1781
|
+
"action"
|
|
1782
|
+
]
|
|
1783
|
+
}
|
|
1784
|
+
},
|
|
1785
|
+
{
|
|
1786
|
+
"name": "manage_revit_instances",
|
|
1787
|
+
"source": "native",
|
|
1788
|
+
"tier": "core",
|
|
1789
|
+
"write": false,
|
|
1790
|
+
"effects": [
|
|
1791
|
+
"session"
|
|
1792
|
+
],
|
|
1793
|
+
"requires_document": false,
|
|
1794
|
+
"document_kinds": null,
|
|
1795
|
+
"keywords": [
|
|
1796
|
+
"instances",
|
|
1797
|
+
"sessions",
|
|
1798
|
+
"multiple revit",
|
|
1799
|
+
"switch revit",
|
|
1800
|
+
"select session"
|
|
1801
|
+
],
|
|
1802
|
+
"limits": [
|
|
1803
|
+
{
|
|
1804
|
+
"what": "Activating a document inside a Revit session",
|
|
1805
|
+
"alternative": {
|
|
1806
|
+
"kind": "user",
|
|
1807
|
+
"ref": "Open or activate the document in Revit"
|
|
1808
|
+
}
|
|
1809
|
+
}
|
|
1810
|
+
],
|
|
1811
|
+
"verification": "reread",
|
|
1812
|
+
"contract_hash": "68347717d8c667e6",
|
|
1813
|
+
"parameters": {
|
|
1814
|
+
"type": "object",
|
|
1815
|
+
"properties": {
|
|
1816
|
+
"action": {
|
|
1817
|
+
"anyOf": [
|
|
1818
|
+
{
|
|
1819
|
+
"type": "string",
|
|
1820
|
+
"const": "list"
|
|
1821
|
+
},
|
|
1822
|
+
{
|
|
1823
|
+
"type": "string",
|
|
1824
|
+
"const": "select"
|
|
1825
|
+
}
|
|
1826
|
+
]
|
|
1827
|
+
},
|
|
1828
|
+
"bridge_id": {
|
|
1829
|
+
"type": "string"
|
|
1830
|
+
}
|
|
1831
|
+
}
|
|
1832
|
+
}
|
|
1833
|
+
},
|
|
1834
|
+
{
|
|
1835
|
+
"name": "manage_revit_scripts",
|
|
1836
|
+
"source": "native",
|
|
1837
|
+
"tier": "core",
|
|
1838
|
+
"write": true,
|
|
1839
|
+
"effects": [
|
|
1840
|
+
"model",
|
|
1841
|
+
"ui",
|
|
1842
|
+
"files",
|
|
1843
|
+
"external"
|
|
1844
|
+
],
|
|
1845
|
+
"requires_document": false,
|
|
1846
|
+
"document_kinds": null,
|
|
1847
|
+
"keywords": [
|
|
1848
|
+
"saved scripts",
|
|
1849
|
+
"script library",
|
|
1850
|
+
"reusable script",
|
|
1851
|
+
"run script",
|
|
1852
|
+
"script history"
|
|
1853
|
+
],
|
|
1854
|
+
"limits": [
|
|
1855
|
+
{
|
|
1856
|
+
"what": "Preview or rollback of a script run",
|
|
1857
|
+
"alternative": {
|
|
1858
|
+
"kind": "tool",
|
|
1859
|
+
"ref": "dedicated tools with preview (set_parameters, transform_elements, delete_elements, manage_views, ...)"
|
|
1860
|
+
}
|
|
1861
|
+
}
|
|
1862
|
+
],
|
|
1863
|
+
"verification": "reread",
|
|
1864
|
+
"contract_hash": "3a257b284de8dae5",
|
|
1865
|
+
"parameters": {
|
|
1866
|
+
"type": "object",
|
|
1867
|
+
"required": [
|
|
1868
|
+
"action"
|
|
1869
|
+
],
|
|
1870
|
+
"properties": {
|
|
1871
|
+
"action": {
|
|
1872
|
+
"anyOf": [
|
|
1873
|
+
{
|
|
1874
|
+
"type": "string",
|
|
1875
|
+
"const": "list"
|
|
1876
|
+
},
|
|
1877
|
+
{
|
|
1878
|
+
"type": "string",
|
|
1879
|
+
"const": "save"
|
|
1880
|
+
},
|
|
1881
|
+
{
|
|
1882
|
+
"type": "string",
|
|
1883
|
+
"const": "read"
|
|
1884
|
+
},
|
|
1885
|
+
{
|
|
1886
|
+
"type": "string",
|
|
1887
|
+
"const": "run"
|
|
1888
|
+
},
|
|
1889
|
+
{
|
|
1890
|
+
"type": "string",
|
|
1891
|
+
"const": "history"
|
|
1892
|
+
}
|
|
1893
|
+
]
|
|
1894
|
+
},
|
|
1895
|
+
"name": {
|
|
1896
|
+
"type": "string"
|
|
1897
|
+
},
|
|
1898
|
+
"version": {
|
|
1899
|
+
"type": "string"
|
|
1900
|
+
},
|
|
1901
|
+
"description": {
|
|
1902
|
+
"type": "string",
|
|
1903
|
+
"maxLength": 2000
|
|
1904
|
+
},
|
|
1905
|
+
"code": {
|
|
1906
|
+
"type": "string",
|
|
1907
|
+
"minLength": 1,
|
|
1908
|
+
"maxLength": 100000
|
|
1909
|
+
},
|
|
1910
|
+
"input_types": {
|
|
1911
|
+
"type": "object",
|
|
1912
|
+
"patternProperties": {
|
|
1913
|
+
"^.*$": {
|
|
1914
|
+
"anyOf": [
|
|
1915
|
+
{
|
|
1916
|
+
"type": "string",
|
|
1917
|
+
"const": "string"
|
|
1918
|
+
},
|
|
1919
|
+
{
|
|
1920
|
+
"type": "string",
|
|
1921
|
+
"const": "number"
|
|
1922
|
+
},
|
|
1923
|
+
{
|
|
1924
|
+
"type": "string",
|
|
1925
|
+
"const": "integer"
|
|
1926
|
+
},
|
|
1927
|
+
{
|
|
1928
|
+
"type": "string",
|
|
1929
|
+
"const": "boolean"
|
|
1930
|
+
},
|
|
1931
|
+
{
|
|
1932
|
+
"type": "string",
|
|
1933
|
+
"const": "object"
|
|
1934
|
+
},
|
|
1935
|
+
{
|
|
1936
|
+
"type": "string",
|
|
1937
|
+
"const": "array"
|
|
1938
|
+
}
|
|
1939
|
+
]
|
|
1940
|
+
}
|
|
1941
|
+
}
|
|
1942
|
+
},
|
|
1943
|
+
"inputs": {
|
|
1944
|
+
"type": "object",
|
|
1945
|
+
"patternProperties": {
|
|
1946
|
+
"^.*$": {}
|
|
1947
|
+
}
|
|
1948
|
+
},
|
|
1949
|
+
"expected_document_id": {
|
|
1950
|
+
"type": "string"
|
|
1951
|
+
},
|
|
1952
|
+
"_operation_id": {
|
|
1953
|
+
"type": "string"
|
|
1954
|
+
},
|
|
1955
|
+
"offset": {
|
|
1956
|
+
"type": "integer",
|
|
1957
|
+
"minimum": 0
|
|
1958
|
+
},
|
|
1959
|
+
"limit": {
|
|
1960
|
+
"type": "integer",
|
|
1961
|
+
"minimum": 1,
|
|
1962
|
+
"maximum": 100
|
|
1963
|
+
}
|
|
1964
|
+
}
|
|
1965
|
+
}
|
|
1966
|
+
},
|
|
1967
|
+
{
|
|
1968
|
+
"name": "manage_schedules",
|
|
1969
|
+
"source": "bridge",
|
|
1970
|
+
"tier": "advanced",
|
|
1971
|
+
"write": true,
|
|
1972
|
+
"effects": [
|
|
1973
|
+
"model"
|
|
1974
|
+
],
|
|
1975
|
+
"requires_document": true,
|
|
1976
|
+
"document_kinds": [
|
|
1977
|
+
"project"
|
|
1978
|
+
],
|
|
1979
|
+
"keywords": [
|
|
1980
|
+
"create schedule",
|
|
1981
|
+
"schedule",
|
|
1982
|
+
"add field",
|
|
1983
|
+
"sort",
|
|
1984
|
+
"filter schedule",
|
|
1985
|
+
"quantities",
|
|
1986
|
+
"takeoff"
|
|
1987
|
+
],
|
|
1988
|
+
"limits": [
|
|
1989
|
+
{
|
|
1990
|
+
"what": "Calculated (formula) fields",
|
|
1991
|
+
"alternative": {
|
|
1992
|
+
"kind": "revit_unsupported",
|
|
1993
|
+
"ref": "Revit 2025 API exposes ScheduleFieldType.Formula but no member to author a formula"
|
|
1994
|
+
}
|
|
1995
|
+
},
|
|
1996
|
+
{
|
|
1997
|
+
"what": "Combined-parameter fields",
|
|
1998
|
+
"alternative": {
|
|
1999
|
+
"kind": "api",
|
|
2000
|
+
"ref": "ScheduleDefinition.InsertCombinedParameterField"
|
|
2001
|
+
}
|
|
2002
|
+
},
|
|
2003
|
+
{
|
|
2004
|
+
"what": "Schedule templates, titleblock revision schedules and embedded schedules",
|
|
2005
|
+
"alternative": {
|
|
2006
|
+
"kind": "api",
|
|
2007
|
+
"ref": "ViewSchedule and ScheduleDefinition members; verify with search_api_docs"
|
|
2008
|
+
}
|
|
2009
|
+
},
|
|
2010
|
+
{
|
|
2011
|
+
"what": "Placing a schedule on a sheet",
|
|
2012
|
+
"alternative": {
|
|
2013
|
+
"kind": "tool",
|
|
2014
|
+
"ref": "manage_sheet_placements"
|
|
2015
|
+
}
|
|
2016
|
+
}
|
|
2017
|
+
],
|
|
2018
|
+
"verification": "reread",
|
|
2019
|
+
"contract_hash": "d713a59aeac1e65c",
|
|
2020
|
+
"parameters": {
|
|
2021
|
+
"type": "object",
|
|
2022
|
+
"properties": {
|
|
2023
|
+
"action": {
|
|
2024
|
+
"type": "string",
|
|
2025
|
+
"enum": [
|
|
2026
|
+
"create",
|
|
2027
|
+
"configure"
|
|
2028
|
+
]
|
|
2029
|
+
},
|
|
2030
|
+
"schedule_id": {
|
|
2031
|
+
"type": "integer",
|
|
2032
|
+
"minimum": 1
|
|
2033
|
+
},
|
|
2034
|
+
"category": {
|
|
2035
|
+
"type": "string"
|
|
2036
|
+
},
|
|
2037
|
+
"name": {
|
|
2038
|
+
"type": "string",
|
|
2039
|
+
"minLength": 1
|
|
2040
|
+
},
|
|
2041
|
+
"area_scheme_id": {
|
|
2042
|
+
"type": "integer",
|
|
2043
|
+
"minimum": 1
|
|
2044
|
+
},
|
|
2045
|
+
"is_itemized": {
|
|
2046
|
+
"type": "boolean"
|
|
2047
|
+
},
|
|
2048
|
+
"preview": {
|
|
2049
|
+
"type": "boolean",
|
|
2050
|
+
"description": "Commit-validate then roll back all model edits. Default false."
|
|
2051
|
+
},
|
|
2052
|
+
"add_fields": {
|
|
2053
|
+
"type": "array",
|
|
2054
|
+
"maxItems": 50,
|
|
2055
|
+
"items": {
|
|
2056
|
+
"type": "object",
|
|
2057
|
+
"properties": {
|
|
2058
|
+
"parameter_id": {
|
|
2059
|
+
"type": "integer",
|
|
2060
|
+
"description": "Use the ID returned by get_schedule_fields, including negative built-in IDs. Optional for Count; when supplied, the pair must be eligible for the schedule."
|
|
2061
|
+
},
|
|
2062
|
+
"field_type": {
|
|
2063
|
+
"type": "string"
|
|
2064
|
+
},
|
|
2065
|
+
"heading": {
|
|
2066
|
+
"type": "string"
|
|
2067
|
+
},
|
|
2068
|
+
"hidden": {
|
|
2069
|
+
"type": "boolean"
|
|
2070
|
+
},
|
|
2071
|
+
"width": {
|
|
2072
|
+
"type": "number",
|
|
2073
|
+
"exclusiveMinimum": 0
|
|
2074
|
+
},
|
|
2075
|
+
"unit": {
|
|
2076
|
+
"type": "string",
|
|
2077
|
+
"enum": [
|
|
2078
|
+
"millimeters",
|
|
2079
|
+
"centimeters",
|
|
2080
|
+
"meters",
|
|
2081
|
+
"feet",
|
|
2082
|
+
"inches"
|
|
2083
|
+
]
|
|
2084
|
+
}
|
|
2085
|
+
},
|
|
2086
|
+
"required": [
|
|
2087
|
+
"field_type"
|
|
2088
|
+
]
|
|
2089
|
+
}
|
|
2090
|
+
},
|
|
2091
|
+
"update_fields": {
|
|
2092
|
+
"type": "array",
|
|
2093
|
+
"maxItems": 50,
|
|
2094
|
+
"items": {
|
|
2095
|
+
"type": "object",
|
|
2096
|
+
"properties": {
|
|
2097
|
+
"field_id": {
|
|
2098
|
+
"type": "integer",
|
|
2099
|
+
"minimum": 0
|
|
2100
|
+
},
|
|
2101
|
+
"heading": {
|
|
2102
|
+
"type": "string"
|
|
2103
|
+
},
|
|
2104
|
+
"hidden": {
|
|
2105
|
+
"type": "boolean"
|
|
2106
|
+
},
|
|
2107
|
+
"width": {
|
|
2108
|
+
"type": "number",
|
|
2109
|
+
"exclusiveMinimum": 0
|
|
2110
|
+
},
|
|
2111
|
+
"unit": {
|
|
2112
|
+
"type": "string",
|
|
2113
|
+
"enum": [
|
|
2114
|
+
"millimeters",
|
|
2115
|
+
"centimeters",
|
|
2116
|
+
"meters",
|
|
2117
|
+
"feet",
|
|
2118
|
+
"inches"
|
|
2119
|
+
]
|
|
2120
|
+
}
|
|
2121
|
+
},
|
|
2122
|
+
"required": [
|
|
2123
|
+
"field_id"
|
|
2124
|
+
]
|
|
2125
|
+
}
|
|
2126
|
+
},
|
|
2127
|
+
"sort_fields": {
|
|
2128
|
+
"type": "array",
|
|
2129
|
+
"maxItems": 4,
|
|
2130
|
+
"items": {
|
|
2131
|
+
"type": "object",
|
|
2132
|
+
"properties": {
|
|
2133
|
+
"field_id": {
|
|
2134
|
+
"type": "integer",
|
|
2135
|
+
"minimum": 0
|
|
2136
|
+
},
|
|
2137
|
+
"descending": {
|
|
2138
|
+
"type": "boolean"
|
|
2139
|
+
},
|
|
2140
|
+
"show_header": {
|
|
2141
|
+
"type": "boolean"
|
|
2142
|
+
}
|
|
2143
|
+
},
|
|
2144
|
+
"required": [
|
|
2145
|
+
"field_id"
|
|
2146
|
+
]
|
|
2147
|
+
}
|
|
2148
|
+
},
|
|
2149
|
+
"filters": {
|
|
2150
|
+
"type": "array",
|
|
2151
|
+
"maxItems": 8,
|
|
2152
|
+
"items": {
|
|
2153
|
+
"type": "object",
|
|
2154
|
+
"properties": {
|
|
2155
|
+
"field_id": {
|
|
2156
|
+
"type": "integer",
|
|
2157
|
+
"minimum": 0
|
|
2158
|
+
},
|
|
2159
|
+
"comparison": {
|
|
2160
|
+
"type": "string",
|
|
2161
|
+
"enum": [
|
|
2162
|
+
"equals",
|
|
2163
|
+
"not_equals",
|
|
2164
|
+
"contains",
|
|
2165
|
+
"greater_than",
|
|
2166
|
+
"less_than"
|
|
2167
|
+
]
|
|
2168
|
+
},
|
|
2169
|
+
"value_type": {
|
|
2170
|
+
"type": "string",
|
|
2171
|
+
"enum": [
|
|
2172
|
+
"string",
|
|
2173
|
+
"number",
|
|
2174
|
+
"integer",
|
|
2175
|
+
"element_id"
|
|
2176
|
+
]
|
|
2177
|
+
},
|
|
2178
|
+
"value": {
|
|
2179
|
+
"description": "Filter value matching value_type."
|
|
2180
|
+
},
|
|
2181
|
+
"unit": {
|
|
2182
|
+
"type": "string",
|
|
2183
|
+
"description": "Required for measured numbers; compatible forge unit name, e.g. meters, squareMeters, degrees."
|
|
2184
|
+
}
|
|
2185
|
+
},
|
|
2186
|
+
"required": [
|
|
2187
|
+
"field_id",
|
|
2188
|
+
"comparison",
|
|
2189
|
+
"value_type",
|
|
2190
|
+
"value"
|
|
2191
|
+
]
|
|
2192
|
+
}
|
|
2193
|
+
},
|
|
2194
|
+
"expected_document_id": {
|
|
2195
|
+
"type": "string",
|
|
2196
|
+
"description": "Required: exact opaque project.documentId from get_model_overview for the intended open document. Invalid after close/reopen or bridge restart."
|
|
2197
|
+
}
|
|
2198
|
+
},
|
|
2199
|
+
"required": [
|
|
2200
|
+
"action",
|
|
2201
|
+
"expected_document_id"
|
|
2202
|
+
]
|
|
2203
|
+
}
|
|
2204
|
+
},
|
|
2205
|
+
{
|
|
2206
|
+
"name": "manage_selection",
|
|
2207
|
+
"source": "bridge",
|
|
2208
|
+
"tier": "core",
|
|
2209
|
+
"write": false,
|
|
2210
|
+
"effects": [
|
|
2211
|
+
"ui",
|
|
2212
|
+
"model"
|
|
2213
|
+
],
|
|
2214
|
+
"requires_document": true,
|
|
2215
|
+
"document_kinds": [
|
|
2216
|
+
"project",
|
|
2217
|
+
"family"
|
|
2218
|
+
],
|
|
2219
|
+
"keywords": [
|
|
2220
|
+
"select",
|
|
2221
|
+
"highlight",
|
|
2222
|
+
"zoom",
|
|
2223
|
+
"isolate",
|
|
2224
|
+
"show in revit",
|
|
2225
|
+
"selected elements",
|
|
2226
|
+
"current selection"
|
|
2227
|
+
],
|
|
2228
|
+
"limits": [
|
|
2229
|
+
{
|
|
2230
|
+
"what": "Permanent hiding or view visibility changes",
|
|
2231
|
+
"alternative": {
|
|
2232
|
+
"kind": "api",
|
|
2233
|
+
"ref": "View.HideElements; View.SetCategoryHidden"
|
|
2234
|
+
}
|
|
2235
|
+
},
|
|
2236
|
+
{
|
|
2237
|
+
"what": "Saved selection sets",
|
|
2238
|
+
"alternative": {
|
|
2239
|
+
"kind": "api",
|
|
2240
|
+
"ref": "SelectionFilterElement.Create"
|
|
2241
|
+
}
|
|
2242
|
+
}
|
|
2243
|
+
],
|
|
2244
|
+
"verification": "reread",
|
|
2245
|
+
"contract_hash": "0108ff205d518aaa",
|
|
2246
|
+
"parameters": {
|
|
2247
|
+
"type": "object",
|
|
2248
|
+
"properties": {
|
|
2249
|
+
"action": {
|
|
2250
|
+
"type": "string",
|
|
2251
|
+
"enum": [
|
|
2252
|
+
"get",
|
|
2253
|
+
"set",
|
|
2254
|
+
"add",
|
|
2255
|
+
"remove",
|
|
2256
|
+
"clear",
|
|
2257
|
+
"zoom"
|
|
2258
|
+
],
|
|
2259
|
+
"description": "What to do with the selection. Default get."
|
|
2260
|
+
},
|
|
2261
|
+
"element_ids": {
|
|
2262
|
+
"type": "array",
|
|
2263
|
+
"items": {
|
|
2264
|
+
"type": "integer"
|
|
2265
|
+
},
|
|
2266
|
+
"description": "Element ids for set/add/remove/zoom. zoom falls back to the current selection when omitted."
|
|
2267
|
+
},
|
|
2268
|
+
"isolate_in_view": {
|
|
2269
|
+
"type": "boolean",
|
|
2270
|
+
"description": "Temporarily isolate the affected elements in the active view (temporary view state only; resets the temporary isolate when the target set is empty). Default false."
|
|
2271
|
+
},
|
|
2272
|
+
"expected_document_id": {
|
|
2273
|
+
"type": "string",
|
|
2274
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
2275
|
+
}
|
|
2276
|
+
},
|
|
2277
|
+
"required": []
|
|
2278
|
+
}
|
|
2279
|
+
},
|
|
2280
|
+
{
|
|
2281
|
+
"name": "manage_sheet_placements",
|
|
2282
|
+
"source": "bridge",
|
|
2283
|
+
"tier": "advanced",
|
|
2284
|
+
"write": true,
|
|
2285
|
+
"effects": [
|
|
2286
|
+
"model"
|
|
2287
|
+
],
|
|
2288
|
+
"requires_document": true,
|
|
2289
|
+
"document_kinds": [
|
|
2290
|
+
"project"
|
|
2291
|
+
],
|
|
2292
|
+
"keywords": [
|
|
2293
|
+
"viewport",
|
|
2294
|
+
"place view on sheet",
|
|
2295
|
+
"sheet layout",
|
|
2296
|
+
"move viewport",
|
|
2297
|
+
"schedule on sheet",
|
|
2298
|
+
"arrange sheet"
|
|
2299
|
+
],
|
|
2300
|
+
"limits": [
|
|
2301
|
+
{
|
|
2302
|
+
"what": "Creating the source view or schedule",
|
|
2303
|
+
"alternative": {
|
|
2304
|
+
"kind": "tool",
|
|
2305
|
+
"ref": "manage_views; manage_schedules"
|
|
2306
|
+
}
|
|
2307
|
+
},
|
|
2308
|
+
{
|
|
2309
|
+
"what": "Rotating schedule instances",
|
|
2310
|
+
"alternative": {
|
|
2311
|
+
"kind": "api",
|
|
2312
|
+
"ref": "ScheduleSheetInstance.Rotation"
|
|
2313
|
+
}
|
|
2314
|
+
},
|
|
2315
|
+
{
|
|
2316
|
+
"what": "Changing the titleblock",
|
|
2317
|
+
"alternative": {
|
|
2318
|
+
"kind": "tool",
|
|
2319
|
+
"ref": "change_element_types on the titleblock instance"
|
|
2320
|
+
}
|
|
2321
|
+
}
|
|
2322
|
+
],
|
|
2323
|
+
"verification": "capture",
|
|
2324
|
+
"contract_hash": "1d9fd57c25d68159",
|
|
2325
|
+
"parameters": {
|
|
2326
|
+
"type": "object",
|
|
2327
|
+
"properties": {
|
|
2328
|
+
"action": {
|
|
2329
|
+
"type": "string",
|
|
2330
|
+
"enum": [
|
|
2331
|
+
"list",
|
|
2332
|
+
"place",
|
|
2333
|
+
"move"
|
|
2334
|
+
]
|
|
2335
|
+
},
|
|
2336
|
+
"sheet_id": {
|
|
2337
|
+
"type": "integer",
|
|
2338
|
+
"minimum": 1
|
|
2339
|
+
},
|
|
2340
|
+
"view_id": {
|
|
2341
|
+
"type": "integer",
|
|
2342
|
+
"minimum": 1
|
|
2343
|
+
},
|
|
2344
|
+
"placement_id": {
|
|
2345
|
+
"type": "integer",
|
|
2346
|
+
"minimum": 1
|
|
2347
|
+
},
|
|
2348
|
+
"position": {
|
|
2349
|
+
"type": "array",
|
|
2350
|
+
"minItems": 3,
|
|
2351
|
+
"maxItems": 3,
|
|
2352
|
+
"items": {
|
|
2353
|
+
"type": "number"
|
|
2354
|
+
},
|
|
2355
|
+
"description": "Sheet paper-space [x,y,0] in unit."
|
|
2356
|
+
},
|
|
2357
|
+
"unit": {
|
|
2358
|
+
"type": "string",
|
|
2359
|
+
"enum": [
|
|
2360
|
+
"millimeters",
|
|
2361
|
+
"centimeters",
|
|
2362
|
+
"meters",
|
|
2363
|
+
"feet",
|
|
2364
|
+
"inches"
|
|
2365
|
+
]
|
|
2366
|
+
},
|
|
2367
|
+
"rotation": {
|
|
2368
|
+
"type": "string",
|
|
2369
|
+
"enum": [
|
|
2370
|
+
"none",
|
|
2371
|
+
"clockwise",
|
|
2372
|
+
"counterclockwise"
|
|
2373
|
+
]
|
|
2374
|
+
},
|
|
2375
|
+
"offset": {
|
|
2376
|
+
"type": "integer",
|
|
2377
|
+
"minimum": 0
|
|
2378
|
+
},
|
|
2379
|
+
"limit": {
|
|
2380
|
+
"type": "integer",
|
|
2381
|
+
"minimum": 1,
|
|
2382
|
+
"maximum": 200
|
|
2383
|
+
},
|
|
2384
|
+
"preview": {
|
|
2385
|
+
"type": "boolean",
|
|
2386
|
+
"description": "Commit-validate then roll back all model edits. Default false."
|
|
2387
|
+
},
|
|
2388
|
+
"expected_document_id": {
|
|
2389
|
+
"type": "string",
|
|
2390
|
+
"description": "Required: exact opaque project.documentId from get_model_overview for the intended open document. Invalid after close/reopen or bridge restart."
|
|
2391
|
+
}
|
|
2392
|
+
},
|
|
2393
|
+
"required": [
|
|
2394
|
+
"action",
|
|
2395
|
+
"expected_document_id"
|
|
2396
|
+
]
|
|
2397
|
+
}
|
|
2398
|
+
},
|
|
2399
|
+
{
|
|
2400
|
+
"name": "manage_sheets",
|
|
2401
|
+
"source": "bridge",
|
|
2402
|
+
"tier": "advanced",
|
|
2403
|
+
"write": true,
|
|
2404
|
+
"effects": [
|
|
2405
|
+
"model"
|
|
2406
|
+
],
|
|
2407
|
+
"requires_document": true,
|
|
2408
|
+
"document_kinds": [
|
|
2409
|
+
"project"
|
|
2410
|
+
],
|
|
2411
|
+
"keywords": [
|
|
2412
|
+
"sheet",
|
|
2413
|
+
"drawing sheet",
|
|
2414
|
+
"sheet number",
|
|
2415
|
+
"rename sheet",
|
|
2416
|
+
"renumber",
|
|
2417
|
+
"titleblock",
|
|
2418
|
+
"new sheet"
|
|
2419
|
+
],
|
|
2420
|
+
"limits": [
|
|
2421
|
+
{
|
|
2422
|
+
"what": "Placing views or schedules on a sheet",
|
|
2423
|
+
"alternative": {
|
|
2424
|
+
"kind": "tool",
|
|
2425
|
+
"ref": "manage_sheet_placements"
|
|
2426
|
+
}
|
|
2427
|
+
},
|
|
2428
|
+
{
|
|
2429
|
+
"what": "Revisions and revision clouds",
|
|
2430
|
+
"alternative": {
|
|
2431
|
+
"kind": "api",
|
|
2432
|
+
"ref": "Revision.Create; RevisionCloud.Create"
|
|
2433
|
+
}
|
|
2434
|
+
},
|
|
2435
|
+
{
|
|
2436
|
+
"what": "Deleting sheets",
|
|
2437
|
+
"alternative": {
|
|
2438
|
+
"kind": "tool",
|
|
2439
|
+
"ref": "delete_elements"
|
|
2440
|
+
}
|
|
2441
|
+
}
|
|
2442
|
+
],
|
|
2443
|
+
"verification": "reread",
|
|
2444
|
+
"contract_hash": "6e201549acd231ea",
|
|
2445
|
+
"parameters": {
|
|
2446
|
+
"type": "object",
|
|
2447
|
+
"properties": {
|
|
2448
|
+
"action": {
|
|
2449
|
+
"type": "string",
|
|
2450
|
+
"enum": [
|
|
2451
|
+
"create",
|
|
2452
|
+
"update"
|
|
2453
|
+
]
|
|
2454
|
+
},
|
|
2455
|
+
"sheet_id": {
|
|
2456
|
+
"type": "integer",
|
|
2457
|
+
"minimum": 1
|
|
2458
|
+
},
|
|
2459
|
+
"name": {
|
|
2460
|
+
"type": "string",
|
|
2461
|
+
"minLength": 1
|
|
2462
|
+
},
|
|
2463
|
+
"number": {
|
|
2464
|
+
"type": "string",
|
|
2465
|
+
"minLength": 1
|
|
2466
|
+
},
|
|
2467
|
+
"titleblock_type_id": {
|
|
2468
|
+
"type": "integer",
|
|
2469
|
+
"minimum": 1,
|
|
2470
|
+
"description": "Creation only; omitted means no titleblock."
|
|
2471
|
+
},
|
|
2472
|
+
"preview": {
|
|
2473
|
+
"type": "boolean",
|
|
2474
|
+
"description": "Commit-validate then roll back all model edits. Default false."
|
|
2475
|
+
},
|
|
2476
|
+
"expected_document_id": {
|
|
2477
|
+
"type": "string",
|
|
2478
|
+
"description": "Required: exact opaque project.documentId from get_model_overview for the intended open document. Invalid after close/reopen or bridge restart."
|
|
2479
|
+
}
|
|
2480
|
+
},
|
|
2481
|
+
"required": [
|
|
2482
|
+
"action",
|
|
2483
|
+
"expected_document_id"
|
|
2484
|
+
]
|
|
2485
|
+
}
|
|
2486
|
+
},
|
|
2487
|
+
{
|
|
2488
|
+
"name": "manage_views",
|
|
2489
|
+
"source": "bridge",
|
|
2490
|
+
"tier": "advanced",
|
|
2491
|
+
"write": true,
|
|
2492
|
+
"effects": [
|
|
2493
|
+
"model"
|
|
2494
|
+
],
|
|
2495
|
+
"requires_document": true,
|
|
2496
|
+
"document_kinds": [
|
|
2497
|
+
"project",
|
|
2498
|
+
"family"
|
|
2499
|
+
],
|
|
2500
|
+
"keywords": [
|
|
2501
|
+
"view",
|
|
2502
|
+
"floor plan",
|
|
2503
|
+
"ceiling plan",
|
|
2504
|
+
"section",
|
|
2505
|
+
"3d view",
|
|
2506
|
+
"duplicate view",
|
|
2507
|
+
"dependent view",
|
|
2508
|
+
"view template",
|
|
2509
|
+
"scale",
|
|
2510
|
+
"create view"
|
|
2511
|
+
],
|
|
2512
|
+
"limits": [
|
|
2513
|
+
{
|
|
2514
|
+
"what": "Perspective (camera) 3D views",
|
|
2515
|
+
"alternative": {
|
|
2516
|
+
"kind": "api",
|
|
2517
|
+
"ref": "View3D.CreatePerspective; ViewOrientation3D"
|
|
2518
|
+
}
|
|
2519
|
+
},
|
|
2520
|
+
{
|
|
2521
|
+
"what": "Elevation, drafting and legend views",
|
|
2522
|
+
"alternative": {
|
|
2523
|
+
"kind": "api",
|
|
2524
|
+
"ref": "ElevationMarker.CreateElevationMarker; ViewDrafting.Create"
|
|
2525
|
+
}
|
|
2526
|
+
},
|
|
2527
|
+
{
|
|
2528
|
+
"what": "View visibility and graphics (hiding, overrides, crop regions)",
|
|
2529
|
+
"alternative": {
|
|
2530
|
+
"kind": "api",
|
|
2531
|
+
"ref": "View.SetCategoryHidden; View.HideElements; View.SetElementOverrides; View.CropBox"
|
|
2532
|
+
}
|
|
2533
|
+
},
|
|
2534
|
+
{
|
|
2535
|
+
"what": "Deleting views",
|
|
2536
|
+
"alternative": {
|
|
2537
|
+
"kind": "tool",
|
|
2538
|
+
"ref": "delete_elements"
|
|
2539
|
+
}
|
|
2540
|
+
}
|
|
2541
|
+
],
|
|
2542
|
+
"verification": "capture",
|
|
2543
|
+
"contract_hash": "a8633ed43c6fb869",
|
|
2544
|
+
"parameters": {
|
|
2545
|
+
"type": "object",
|
|
2546
|
+
"properties": {
|
|
2547
|
+
"action": {
|
|
2548
|
+
"type": "string",
|
|
2549
|
+
"enum": [
|
|
2550
|
+
"create_plan",
|
|
2551
|
+
"create_3d",
|
|
2552
|
+
"create_section",
|
|
2553
|
+
"duplicate",
|
|
2554
|
+
"update"
|
|
2555
|
+
]
|
|
2556
|
+
},
|
|
2557
|
+
"view_id": {
|
|
2558
|
+
"type": "integer",
|
|
2559
|
+
"description": "Existing view for duplicate/update."
|
|
2560
|
+
},
|
|
2561
|
+
"view_family_type_id": {
|
|
2562
|
+
"type": "integer",
|
|
2563
|
+
"description": "Compatible ViewFamilyType for creation."
|
|
2564
|
+
},
|
|
2565
|
+
"level_id": {
|
|
2566
|
+
"type": "integer",
|
|
2567
|
+
"description": "Level for create_plan."
|
|
2568
|
+
},
|
|
2569
|
+
"duplicate_option": {
|
|
2570
|
+
"type": "string",
|
|
2571
|
+
"enum": [
|
|
2572
|
+
"duplicate",
|
|
2573
|
+
"with_detailing",
|
|
2574
|
+
"dependent"
|
|
2575
|
+
]
|
|
2576
|
+
},
|
|
2577
|
+
"name": {
|
|
2578
|
+
"type": "string",
|
|
2579
|
+
"minLength": 1
|
|
2580
|
+
},
|
|
2581
|
+
"scale": {
|
|
2582
|
+
"type": "integer",
|
|
2583
|
+
"minimum": 1,
|
|
2584
|
+
"maximum": 24000
|
|
2585
|
+
},
|
|
2586
|
+
"view_template_id": {
|
|
2587
|
+
"type": "integer",
|
|
2588
|
+
"description": "Compatible template ID, or -1 to remove."
|
|
2589
|
+
},
|
|
2590
|
+
"unit": {
|
|
2591
|
+
"type": "string",
|
|
2592
|
+
"enum": [
|
|
2593
|
+
"millimeters",
|
|
2594
|
+
"centimeters",
|
|
2595
|
+
"meters",
|
|
2596
|
+
"feet",
|
|
2597
|
+
"inches"
|
|
2598
|
+
]
|
|
2599
|
+
},
|
|
2600
|
+
"origin": {
|
|
2601
|
+
"type": "array",
|
|
2602
|
+
"minItems": 3,
|
|
2603
|
+
"maxItems": 3,
|
|
2604
|
+
"items": {
|
|
2605
|
+
"type": "number"
|
|
2606
|
+
},
|
|
2607
|
+
"description": "Section origin in document internal coordinates, in unit."
|
|
2608
|
+
},
|
|
2609
|
+
"viewing_direction": {
|
|
2610
|
+
"type": "array",
|
|
2611
|
+
"minItems": 3,
|
|
2612
|
+
"maxItems": 3,
|
|
2613
|
+
"items": {
|
|
2614
|
+
"type": "number"
|
|
2615
|
+
},
|
|
2616
|
+
"description": "Section viewing direction, dimensionless nonzero vector."
|
|
2617
|
+
},
|
|
2618
|
+
"up": {
|
|
2619
|
+
"type": "array",
|
|
2620
|
+
"minItems": 3,
|
|
2621
|
+
"maxItems": 3,
|
|
2622
|
+
"items": {
|
|
2623
|
+
"type": "number"
|
|
2624
|
+
},
|
|
2625
|
+
"description": "Section up vector, orthogonal to viewing_direction."
|
|
2626
|
+
},
|
|
2627
|
+
"width": {
|
|
2628
|
+
"type": "number",
|
|
2629
|
+
"exclusiveMinimum": 0
|
|
2630
|
+
},
|
|
2631
|
+
"height": {
|
|
2632
|
+
"type": "number",
|
|
2633
|
+
"exclusiveMinimum": 0
|
|
2634
|
+
},
|
|
2635
|
+
"depth": {
|
|
2636
|
+
"type": "number",
|
|
2637
|
+
"exclusiveMinimum": 0
|
|
2638
|
+
},
|
|
2639
|
+
"preview": {
|
|
2640
|
+
"type": "boolean",
|
|
2641
|
+
"description": "Commit-validate then roll back all model edits. Default false."
|
|
2642
|
+
},
|
|
2643
|
+
"expected_document_id": {
|
|
2644
|
+
"type": "string",
|
|
2645
|
+
"description": "Required: exact opaque project.documentId from get_model_overview for the intended open document. Invalid after close/reopen or bridge restart."
|
|
2646
|
+
}
|
|
2647
|
+
},
|
|
2648
|
+
"required": [
|
|
2649
|
+
"action",
|
|
2650
|
+
"expected_document_id"
|
|
2651
|
+
]
|
|
2652
|
+
}
|
|
2653
|
+
},
|
|
2654
|
+
{
|
|
2655
|
+
"name": "measure_geometry",
|
|
2656
|
+
"source": "bridge",
|
|
2657
|
+
"tier": "advanced",
|
|
2658
|
+
"write": false,
|
|
2659
|
+
"effects": [],
|
|
2660
|
+
"requires_document": true,
|
|
2661
|
+
"document_kinds": [
|
|
2662
|
+
"project",
|
|
2663
|
+
"family"
|
|
2664
|
+
],
|
|
2665
|
+
"keywords": [
|
|
2666
|
+
"distance",
|
|
2667
|
+
"measure",
|
|
2668
|
+
"gap",
|
|
2669
|
+
"clearance",
|
|
2670
|
+
"spacing",
|
|
2671
|
+
"dimension check"
|
|
2672
|
+
],
|
|
2673
|
+
"limits": [
|
|
2674
|
+
{
|
|
2675
|
+
"what": "Exact solid-to-solid distance or clash detection",
|
|
2676
|
+
"alternative": {
|
|
2677
|
+
"kind": "api",
|
|
2678
|
+
"ref": "ElementIntersectsElementFilter; ElementIntersectsSolidFilter; ReferenceIntersector"
|
|
2679
|
+
}
|
|
2680
|
+
}
|
|
2681
|
+
],
|
|
2682
|
+
"verification": null,
|
|
2683
|
+
"contract_hash": "34cc9bf1c26888bd",
|
|
2684
|
+
"parameters": {
|
|
2685
|
+
"type": "object",
|
|
2686
|
+
"properties": {
|
|
2687
|
+
"mode": {
|
|
2688
|
+
"type": "string",
|
|
2689
|
+
"enum": [
|
|
2690
|
+
"point_distance",
|
|
2691
|
+
"bounding_box_gap"
|
|
2692
|
+
]
|
|
2693
|
+
},
|
|
2694
|
+
"unit": {
|
|
2695
|
+
"type": "string",
|
|
2696
|
+
"enum": [
|
|
2697
|
+
"millimeters",
|
|
2698
|
+
"centimeters",
|
|
2699
|
+
"meters",
|
|
2700
|
+
"feet",
|
|
2701
|
+
"inches"
|
|
2702
|
+
]
|
|
2703
|
+
},
|
|
2704
|
+
"point_a": {
|
|
2705
|
+
"type": "array",
|
|
2706
|
+
"minItems": 3,
|
|
2707
|
+
"maxItems": 3,
|
|
2708
|
+
"items": {
|
|
2709
|
+
"type": "number"
|
|
2710
|
+
},
|
|
2711
|
+
"description": "First point in document internal axes, in unit."
|
|
2712
|
+
},
|
|
2713
|
+
"point_b": {
|
|
2714
|
+
"type": "array",
|
|
2715
|
+
"minItems": 3,
|
|
2716
|
+
"maxItems": 3,
|
|
2717
|
+
"items": {
|
|
2718
|
+
"type": "number"
|
|
2719
|
+
},
|
|
2720
|
+
"description": "Second point in document internal axes, in unit."
|
|
2721
|
+
},
|
|
2722
|
+
"element_a_id": {
|
|
2723
|
+
"type": "integer",
|
|
2724
|
+
"minimum": 1
|
|
2725
|
+
},
|
|
2726
|
+
"element_b_id": {
|
|
2727
|
+
"type": "integer",
|
|
2728
|
+
"minimum": 1
|
|
2729
|
+
},
|
|
2730
|
+
"clearance": {
|
|
2731
|
+
"type": "number",
|
|
2732
|
+
"minimum": 0,
|
|
2733
|
+
"description": "Optional box-proximity threshold in unit, only for bounding_box_gap."
|
|
2734
|
+
},
|
|
2735
|
+
"expected_document_id": {
|
|
2736
|
+
"type": "string",
|
|
2737
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
2738
|
+
}
|
|
2739
|
+
},
|
|
2740
|
+
"required": [
|
|
2741
|
+
"mode",
|
|
2742
|
+
"unit"
|
|
2743
|
+
]
|
|
2744
|
+
}
|
|
2745
|
+
},
|
|
2746
|
+
{
|
|
2747
|
+
"name": "open_view",
|
|
2748
|
+
"source": "bridge",
|
|
2749
|
+
"tier": "core",
|
|
2750
|
+
"write": false,
|
|
2751
|
+
"effects": [
|
|
2752
|
+
"ui"
|
|
2753
|
+
],
|
|
2754
|
+
"requires_document": true,
|
|
2755
|
+
"document_kinds": [
|
|
2756
|
+
"project",
|
|
2757
|
+
"family"
|
|
2758
|
+
],
|
|
2759
|
+
"keywords": [
|
|
2760
|
+
"open",
|
|
2761
|
+
"show",
|
|
2762
|
+
"activate",
|
|
2763
|
+
"switch view",
|
|
2764
|
+
"go to sheet",
|
|
2765
|
+
"display"
|
|
2766
|
+
],
|
|
2767
|
+
"limits": [
|
|
2768
|
+
{
|
|
2769
|
+
"what": "Creating views",
|
|
2770
|
+
"alternative": {
|
|
2771
|
+
"kind": "tool",
|
|
2772
|
+
"ref": "manage_views"
|
|
2773
|
+
}
|
|
2774
|
+
}
|
|
2775
|
+
],
|
|
2776
|
+
"verification": "none",
|
|
2777
|
+
"contract_hash": "6bb71caab2e5304b",
|
|
2778
|
+
"parameters": {
|
|
2779
|
+
"type": "object",
|
|
2780
|
+
"properties": {
|
|
2781
|
+
"view_id": {
|
|
2782
|
+
"type": "integer",
|
|
2783
|
+
"description": "Id of the view or sheet to activate."
|
|
2784
|
+
},
|
|
2785
|
+
"name": {
|
|
2786
|
+
"type": "string",
|
|
2787
|
+
"description": "Exact view name, sheet number, or sheet 'number - name' (case-insensitive). Used when view_id is absent."
|
|
2788
|
+
},
|
|
2789
|
+
"expected_document_id": {
|
|
2790
|
+
"type": "string",
|
|
2791
|
+
"description": "Required: exact opaque project.documentId from get_model_overview for the intended open document. Invalid after close/reopen or bridge restart."
|
|
2792
|
+
}
|
|
2793
|
+
},
|
|
2794
|
+
"required": [
|
|
2795
|
+
"expected_document_id"
|
|
2796
|
+
]
|
|
2797
|
+
}
|
|
2798
|
+
},
|
|
2799
|
+
{
|
|
2800
|
+
"name": "ping",
|
|
2801
|
+
"source": "native",
|
|
2802
|
+
"tier": "core",
|
|
2803
|
+
"write": false,
|
|
2804
|
+
"effects": [],
|
|
2805
|
+
"requires_document": false,
|
|
2806
|
+
"document_kinds": null,
|
|
2807
|
+
"keywords": [
|
|
2808
|
+
"connection",
|
|
2809
|
+
"status",
|
|
2810
|
+
"version",
|
|
2811
|
+
"revit running",
|
|
2812
|
+
"bridge",
|
|
2813
|
+
"loaded version"
|
|
2814
|
+
],
|
|
2815
|
+
"limits": [
|
|
2816
|
+
{
|
|
2817
|
+
"what": "Whether a project document is open",
|
|
2818
|
+
"alternative": {
|
|
2819
|
+
"kind": "tool",
|
|
2820
|
+
"ref": "get_model_overview"
|
|
2821
|
+
}
|
|
2822
|
+
}
|
|
2823
|
+
],
|
|
2824
|
+
"verification": null,
|
|
2825
|
+
"contract_hash": "aefaeb4355d5d822",
|
|
2826
|
+
"parameters": {
|
|
2827
|
+
"type": "object",
|
|
2828
|
+
"properties": {}
|
|
2829
|
+
}
|
|
2830
|
+
},
|
|
2831
|
+
{
|
|
2832
|
+
"name": "query_spatial_elements",
|
|
2833
|
+
"source": "bridge",
|
|
2834
|
+
"tier": "advanced",
|
|
2835
|
+
"write": false,
|
|
2836
|
+
"effects": [],
|
|
2837
|
+
"requires_document": true,
|
|
2838
|
+
"document_kinds": [
|
|
2839
|
+
"project"
|
|
2840
|
+
],
|
|
2841
|
+
"keywords": [
|
|
2842
|
+
"inside",
|
|
2843
|
+
"within",
|
|
2844
|
+
"contained",
|
|
2845
|
+
"intersect",
|
|
2846
|
+
"bounding box",
|
|
2847
|
+
"spatial",
|
|
2848
|
+
"near",
|
|
2849
|
+
"clash candidates",
|
|
2850
|
+
"overlap"
|
|
2851
|
+
],
|
|
2852
|
+
"limits": [
|
|
2853
|
+
{
|
|
2854
|
+
"what": "Solid-intersection clash detection",
|
|
2855
|
+
"alternative": {
|
|
2856
|
+
"kind": "api",
|
|
2857
|
+
"ref": "ElementIntersectsElementFilter; ElementIntersectsSolidFilter"
|
|
2858
|
+
}
|
|
2859
|
+
},
|
|
2860
|
+
{
|
|
2861
|
+
"what": "Elements inside linked models",
|
|
2862
|
+
"alternative": {
|
|
2863
|
+
"kind": "tool",
|
|
2864
|
+
"ref": "get_linked_elements with host_bounds"
|
|
2865
|
+
}
|
|
2866
|
+
}
|
|
2867
|
+
],
|
|
2868
|
+
"verification": null,
|
|
2869
|
+
"contract_hash": "0018676c125da56c",
|
|
2870
|
+
"parameters": {
|
|
2871
|
+
"type": "object",
|
|
2872
|
+
"properties": {
|
|
2873
|
+
"query": {
|
|
2874
|
+
"type": "object",
|
|
2875
|
+
"properties": {
|
|
2876
|
+
"category": {
|
|
2877
|
+
"type": "string",
|
|
2878
|
+
"description": "Category: BuiltInCategory enum name (e.g. OST_Walls) or display name (e.g. Walls, Doors, Rooms, Sheets, Views)."
|
|
2879
|
+
},
|
|
2880
|
+
"of_class": {
|
|
2881
|
+
"type": "string",
|
|
2882
|
+
"description": "Revit API element class, e.g. Wall, FamilyInstance, ViewSheet, Level, or a full name like Autodesk.Revit.DB.Mechanical.Duct."
|
|
2883
|
+
},
|
|
2884
|
+
"filter": {
|
|
2885
|
+
"type": "object",
|
|
2886
|
+
"description": "Parameter filter. Numeric rule values are read in the document's display units for that parameter unless 'unit' is set.",
|
|
2887
|
+
"properties": {
|
|
2888
|
+
"match": {
|
|
2889
|
+
"type": "string",
|
|
2890
|
+
"enum": [
|
|
2891
|
+
"all",
|
|
2892
|
+
"any"
|
|
2893
|
+
],
|
|
2894
|
+
"description": "Combine rules with AND (all, default) or OR (any)."
|
|
2895
|
+
},
|
|
2896
|
+
"rules": {
|
|
2897
|
+
"type": "array",
|
|
2898
|
+
"items": {
|
|
2899
|
+
"type": "object",
|
|
2900
|
+
"properties": {
|
|
2901
|
+
"param": {
|
|
2902
|
+
"type": "string",
|
|
2903
|
+
"description": "Parameter display name, BuiltInParameter enum name (e.g. WALL_BASE_OFFSET), or guid:<GUID> for a shared parameter."
|
|
2904
|
+
},
|
|
2905
|
+
"op": {
|
|
2906
|
+
"type": "string",
|
|
2907
|
+
"enum": [
|
|
2908
|
+
"equals",
|
|
2909
|
+
"not_equals",
|
|
2910
|
+
"greater",
|
|
2911
|
+
"greater_or_equal",
|
|
2912
|
+
"less",
|
|
2913
|
+
"less_or_equal",
|
|
2914
|
+
"contains",
|
|
2915
|
+
"is_empty",
|
|
2916
|
+
"is_not_empty",
|
|
2917
|
+
"regex"
|
|
2918
|
+
]
|
|
2919
|
+
},
|
|
2920
|
+
"value": {
|
|
2921
|
+
"description": "Comparison value (string, number, or bool). Regex pattern for op=regex. Unused for is_empty/is_not_empty."
|
|
2922
|
+
},
|
|
2923
|
+
"unit": {
|
|
2924
|
+
"type": "string",
|
|
2925
|
+
"description": "Unit of a numeric value, e.g. millimeters, meters, feet, squareMeters. Default: the document's display units."
|
|
2926
|
+
}
|
|
2927
|
+
},
|
|
2928
|
+
"required": [
|
|
2929
|
+
"param",
|
|
2930
|
+
"op"
|
|
2931
|
+
]
|
|
2932
|
+
}
|
|
2933
|
+
}
|
|
2934
|
+
},
|
|
2935
|
+
"required": [
|
|
2936
|
+
"rules"
|
|
2937
|
+
]
|
|
2938
|
+
},
|
|
2939
|
+
"level": {
|
|
2940
|
+
"type": "string",
|
|
2941
|
+
"description": "Only elements hosted on this level (level name or id)."
|
|
2942
|
+
},
|
|
2943
|
+
"type_id": {
|
|
2944
|
+
"type": "integer",
|
|
2945
|
+
"description": "Only instances of this element type id (see get_element_types)."
|
|
2946
|
+
},
|
|
2947
|
+
"in_active_view": {
|
|
2948
|
+
"type": "boolean",
|
|
2949
|
+
"description": "Only elements visible in the active view. Default false."
|
|
2950
|
+
}
|
|
2951
|
+
},
|
|
2952
|
+
"required": [],
|
|
2953
|
+
"description": "Filter the whole matching scope. Query paging and projections are not supported here.",
|
|
2954
|
+
"additionalProperties": false
|
|
2955
|
+
},
|
|
2956
|
+
"min": {
|
|
2957
|
+
"type": "array",
|
|
2958
|
+
"minItems": 3,
|
|
2959
|
+
"maxItems": 3,
|
|
2960
|
+
"items": {
|
|
2961
|
+
"type": "number"
|
|
2962
|
+
},
|
|
2963
|
+
"description": "Region minimum in document internal axes, in unit."
|
|
2964
|
+
},
|
|
2965
|
+
"max": {
|
|
2966
|
+
"type": "array",
|
|
2967
|
+
"minItems": 3,
|
|
2968
|
+
"maxItems": 3,
|
|
2969
|
+
"items": {
|
|
2970
|
+
"type": "number"
|
|
2971
|
+
},
|
|
2972
|
+
"description": "Region maximum in document internal axes, in unit."
|
|
2973
|
+
},
|
|
2974
|
+
"unit": {
|
|
2975
|
+
"type": "string",
|
|
2976
|
+
"enum": [
|
|
2977
|
+
"millimeters",
|
|
2978
|
+
"centimeters",
|
|
2979
|
+
"meters",
|
|
2980
|
+
"feet",
|
|
2981
|
+
"inches"
|
|
2982
|
+
]
|
|
2983
|
+
},
|
|
2984
|
+
"relation": {
|
|
2985
|
+
"type": "string",
|
|
2986
|
+
"enum": [
|
|
2987
|
+
"intersects",
|
|
2988
|
+
"inside"
|
|
2989
|
+
]
|
|
2990
|
+
},
|
|
2991
|
+
"offset": {
|
|
2992
|
+
"type": "integer",
|
|
2993
|
+
"minimum": 0
|
|
2994
|
+
},
|
|
2995
|
+
"limit": {
|
|
2996
|
+
"type": "integer",
|
|
2997
|
+
"minimum": 1,
|
|
2998
|
+
"maximum": 200
|
|
2999
|
+
},
|
|
3000
|
+
"expected_document_id": {
|
|
3001
|
+
"type": "string",
|
|
3002
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
3003
|
+
}
|
|
3004
|
+
},
|
|
3005
|
+
"required": [
|
|
3006
|
+
"min",
|
|
3007
|
+
"max",
|
|
3008
|
+
"unit"
|
|
3009
|
+
]
|
|
3010
|
+
}
|
|
3011
|
+
},
|
|
3012
|
+
{
|
|
3013
|
+
"name": "read_revit_result",
|
|
3014
|
+
"source": "native",
|
|
3015
|
+
"tier": "core",
|
|
3016
|
+
"write": false,
|
|
3017
|
+
"effects": [],
|
|
3018
|
+
"requires_document": false,
|
|
3019
|
+
"document_kinds": null,
|
|
3020
|
+
"keywords": [
|
|
3021
|
+
"large result",
|
|
3022
|
+
"saved result",
|
|
3023
|
+
"continue result",
|
|
3024
|
+
"next fragment"
|
|
3025
|
+
],
|
|
3026
|
+
"limits": [
|
|
3027
|
+
{
|
|
3028
|
+
"what": "Paging the original query",
|
|
3029
|
+
"alternative": {
|
|
3030
|
+
"kind": "tool",
|
|
3031
|
+
"ref": "the original query tool (for example get_elements) with its next_offset"
|
|
3032
|
+
}
|
|
3033
|
+
}
|
|
3034
|
+
],
|
|
3035
|
+
"verification": null,
|
|
3036
|
+
"contract_hash": "b318aeb83a3acd30",
|
|
3037
|
+
"parameters": {
|
|
3038
|
+
"type": "object",
|
|
3039
|
+
"required": [
|
|
3040
|
+
"result_id"
|
|
3041
|
+
],
|
|
3042
|
+
"properties": {
|
|
3043
|
+
"result_id": {
|
|
3044
|
+
"type": "string",
|
|
3045
|
+
"description": "Opaque result_id returned by a Revit tool in this extension session."
|
|
3046
|
+
},
|
|
3047
|
+
"offset": {
|
|
3048
|
+
"type": "integer",
|
|
3049
|
+
"minimum": 0,
|
|
3050
|
+
"description": "Character offset from the previous page's next_offset; default 0."
|
|
3051
|
+
},
|
|
3052
|
+
"limit": {
|
|
3053
|
+
"type": "integer",
|
|
3054
|
+
"minimum": 1,
|
|
3055
|
+
"maximum": 8000,
|
|
3056
|
+
"description": "Maximum characters to return; default 8000. Escaping may require a smaller fragment."
|
|
3057
|
+
}
|
|
3058
|
+
}
|
|
3059
|
+
}
|
|
3060
|
+
},
|
|
3061
|
+
{
|
|
3062
|
+
"name": "search_api_docs",
|
|
3063
|
+
"source": "bridge",
|
|
3064
|
+
"tier": "core",
|
|
3065
|
+
"write": false,
|
|
3066
|
+
"effects": [],
|
|
3067
|
+
"requires_document": false,
|
|
3068
|
+
"document_kinds": [
|
|
3069
|
+
"project",
|
|
3070
|
+
"family"
|
|
3071
|
+
],
|
|
3072
|
+
"keywords": [
|
|
3073
|
+
"api",
|
|
3074
|
+
"revit api",
|
|
3075
|
+
"method",
|
|
3076
|
+
"class",
|
|
3077
|
+
"signature",
|
|
3078
|
+
"enum",
|
|
3079
|
+
"developer documentation"
|
|
3080
|
+
],
|
|
3081
|
+
"limits": [
|
|
3082
|
+
{
|
|
3083
|
+
"what": "Autodesk product Help or modeling guidance",
|
|
3084
|
+
"alternative": {
|
|
3085
|
+
"kind": "user",
|
|
3086
|
+
"ref": "Autodesk Revit Help or project standards"
|
|
3087
|
+
}
|
|
3088
|
+
},
|
|
3089
|
+
{
|
|
3090
|
+
"what": "Proof that code compiles or works",
|
|
3091
|
+
"alternative": {
|
|
3092
|
+
"kind": "tool",
|
|
3093
|
+
"ref": "execute_csharp"
|
|
3094
|
+
}
|
|
3095
|
+
}
|
|
3096
|
+
],
|
|
3097
|
+
"verification": null,
|
|
3098
|
+
"contract_hash": "dea6dc11655529a1",
|
|
3099
|
+
"parameters": {
|
|
3100
|
+
"type": "object",
|
|
3101
|
+
"properties": {
|
|
3102
|
+
"query": {
|
|
3103
|
+
"type": "string",
|
|
3104
|
+
"description": "Type or member name to look up, e.g. FilteredElementCollector, Wall.Create, WALL_BASE_OFFSET; or up to 10 names separated by ';' to verify them in one call. Substring and multi-word matches are ranked; Type.Member composites rank highest on exact match."
|
|
3105
|
+
},
|
|
3106
|
+
"kind": {
|
|
3107
|
+
"type": "string",
|
|
3108
|
+
"enum": [
|
|
3109
|
+
"type",
|
|
3110
|
+
"method",
|
|
3111
|
+
"property",
|
|
3112
|
+
"field",
|
|
3113
|
+
"event"
|
|
3114
|
+
],
|
|
3115
|
+
"description": "Optional filter to one member kind ('method' includes constructors; 'field' covers enum values)."
|
|
3116
|
+
},
|
|
3117
|
+
"max_results": {
|
|
3118
|
+
"type": "integer",
|
|
3119
|
+
"description": "Maximum matches to return (1-50, default 10; per member when several are named, default 3)."
|
|
3120
|
+
}
|
|
3121
|
+
},
|
|
3122
|
+
"required": [
|
|
3123
|
+
"query"
|
|
3124
|
+
]
|
|
3125
|
+
}
|
|
3126
|
+
},
|
|
3127
|
+
{
|
|
3128
|
+
"name": "set_parameters",
|
|
3129
|
+
"source": "bridge",
|
|
3130
|
+
"tier": "core",
|
|
3131
|
+
"write": true,
|
|
3132
|
+
"effects": [
|
|
3133
|
+
"model"
|
|
3134
|
+
],
|
|
3135
|
+
"requires_document": true,
|
|
3136
|
+
"document_kinds": [
|
|
3137
|
+
"project",
|
|
3138
|
+
"family"
|
|
3139
|
+
],
|
|
3140
|
+
"keywords": [
|
|
3141
|
+
"parameter",
|
|
3142
|
+
"set value",
|
|
3143
|
+
"edit",
|
|
3144
|
+
"change value",
|
|
3145
|
+
"rename",
|
|
3146
|
+
"mark",
|
|
3147
|
+
"comments",
|
|
3148
|
+
"bulk edit",
|
|
3149
|
+
"update"
|
|
3150
|
+
],
|
|
3151
|
+
"limits": [
|
|
3152
|
+
{
|
|
3153
|
+
"what": "Changing an element's type",
|
|
3154
|
+
"alternative": {
|
|
3155
|
+
"kind": "tool",
|
|
3156
|
+
"ref": "change_element_types"
|
|
3157
|
+
}
|
|
3158
|
+
},
|
|
3159
|
+
{
|
|
3160
|
+
"what": "Element properties that are not parameters, such as pinned state",
|
|
3161
|
+
"alternative": {
|
|
3162
|
+
"kind": "api",
|
|
3163
|
+
"ref": "Element.Pinned"
|
|
3164
|
+
}
|
|
3165
|
+
},
|
|
3166
|
+
{
|
|
3167
|
+
"what": "Moving or rotating elements",
|
|
3168
|
+
"alternative": {
|
|
3169
|
+
"kind": "tool",
|
|
3170
|
+
"ref": "transform_elements"
|
|
3171
|
+
}
|
|
3172
|
+
},
|
|
3173
|
+
{
|
|
3174
|
+
"what": "Family parameters, family types and formulas in a family document",
|
|
3175
|
+
"alternative": {
|
|
3176
|
+
"kind": "api",
|
|
3177
|
+
"ref": "FamilyManager.Types; FamilyManager.NewType; FamilyManager.Set; FamilyManager.AddParameter; FamilyManager.SetFormula"
|
|
3178
|
+
}
|
|
3179
|
+
}
|
|
3180
|
+
],
|
|
3181
|
+
"verification": "reread",
|
|
3182
|
+
"contract_hash": "20ad3893ff59afa6",
|
|
3183
|
+
"parameters": {
|
|
3184
|
+
"type": "object",
|
|
3185
|
+
"properties": {
|
|
3186
|
+
"preview": {
|
|
3187
|
+
"type": "boolean",
|
|
3188
|
+
"description": "Validate edits through Revit commit, then roll back the enclosing transaction group. Returns proposed before/after values; no model changes remain. Default false."
|
|
3189
|
+
},
|
|
3190
|
+
"atomic": {
|
|
3191
|
+
"type": "boolean",
|
|
3192
|
+
"description": "Roll back all updates if any fails. Default false preserves successful updates. Each update is isolated in a subtransaction."
|
|
3193
|
+
},
|
|
3194
|
+
"updates": {
|
|
3195
|
+
"type": "array",
|
|
3196
|
+
"description": "Parameter writes to apply in one transaction (1-200 per call).",
|
|
3197
|
+
"items": {
|
|
3198
|
+
"type": "object",
|
|
3199
|
+
"properties": {
|
|
3200
|
+
"element_id": {
|
|
3201
|
+
"type": "integer",
|
|
3202
|
+
"description": "Target element id (use the type id for type parameters)."
|
|
3203
|
+
},
|
|
3204
|
+
"parameter": {
|
|
3205
|
+
"type": "string",
|
|
3206
|
+
"description": "Parameter display name (e.g. Comments, Mark, Name), BuiltInParameter enum name (e.g. ALL_MODEL_MARK), or guid:<GUID> for a shared parameter."
|
|
3207
|
+
},
|
|
3208
|
+
"value": {
|
|
3209
|
+
"description": "New value: string, number, or boolean (yes/no parameters). Empty string clears a text parameter."
|
|
3210
|
+
},
|
|
3211
|
+
"unit": {
|
|
3212
|
+
"type": "string",
|
|
3213
|
+
"description": "Unit of a numeric value, e.g. millimeters, meters, feet, inches, squareMeters, degrees. Default: the document's display units for that parameter."
|
|
3214
|
+
}
|
|
3215
|
+
},
|
|
3216
|
+
"required": [
|
|
3217
|
+
"element_id",
|
|
3218
|
+
"parameter",
|
|
3219
|
+
"value"
|
|
3220
|
+
]
|
|
3221
|
+
}
|
|
3222
|
+
},
|
|
3223
|
+
"expected_document": {
|
|
3224
|
+
"type": "string",
|
|
3225
|
+
"description": "Optional safety check: title of the document these writes are meant for (as reported by get_model_overview). If the active document differs (user switched models), the call fails without changing anything."
|
|
3226
|
+
},
|
|
3227
|
+
"expected_document_id": {
|
|
3228
|
+
"type": "string",
|
|
3229
|
+
"description": "Required: exact opaque project.documentId from get_model_overview for the intended open document. Invalid after close/reopen or bridge restart."
|
|
3230
|
+
}
|
|
3231
|
+
},
|
|
3232
|
+
"required": [
|
|
3233
|
+
"updates",
|
|
3234
|
+
"expected_document_id"
|
|
3235
|
+
]
|
|
3236
|
+
}
|
|
3237
|
+
},
|
|
3238
|
+
{
|
|
3239
|
+
"name": "summarize_elements",
|
|
3240
|
+
"source": "bridge",
|
|
3241
|
+
"tier": "advanced",
|
|
3242
|
+
"write": false,
|
|
3243
|
+
"effects": [],
|
|
3244
|
+
"requires_document": true,
|
|
3245
|
+
"document_kinds": [
|
|
3246
|
+
"project",
|
|
3247
|
+
"family"
|
|
3248
|
+
],
|
|
3249
|
+
"keywords": [
|
|
3250
|
+
"statistics",
|
|
3251
|
+
"count by",
|
|
3252
|
+
"group by",
|
|
3253
|
+
"breakdown",
|
|
3254
|
+
"totals",
|
|
3255
|
+
"per level",
|
|
3256
|
+
"distribution"
|
|
3257
|
+
],
|
|
3258
|
+
"limits": [
|
|
3259
|
+
{
|
|
3260
|
+
"what": "Linked-model contents",
|
|
3261
|
+
"alternative": {
|
|
3262
|
+
"kind": "tool",
|
|
3263
|
+
"ref": "get_linked_elements"
|
|
3264
|
+
}
|
|
3265
|
+
},
|
|
3266
|
+
{
|
|
3267
|
+
"what": "Scopes above 10,000 elements",
|
|
3268
|
+
"alternative": {
|
|
3269
|
+
"kind": "tool",
|
|
3270
|
+
"ref": "narrow the query, or get_elements with count_only for a total"
|
|
3271
|
+
}
|
|
3272
|
+
}
|
|
3273
|
+
],
|
|
3274
|
+
"verification": null,
|
|
3275
|
+
"contract_hash": "27ddae42a59b01cb",
|
|
3276
|
+
"parameters": {
|
|
3277
|
+
"type": "object",
|
|
3278
|
+
"properties": {
|
|
3279
|
+
"query": {
|
|
3280
|
+
"type": "object",
|
|
3281
|
+
"properties": {
|
|
3282
|
+
"category": {
|
|
3283
|
+
"type": "string",
|
|
3284
|
+
"description": "Category: BuiltInCategory enum name (e.g. OST_Walls) or display name (e.g. Walls, Doors, Rooms, Sheets, Views)."
|
|
3285
|
+
},
|
|
3286
|
+
"of_class": {
|
|
3287
|
+
"type": "string",
|
|
3288
|
+
"description": "Revit API element class, e.g. Wall, FamilyInstance, ViewSheet, Level, or a full name like Autodesk.Revit.DB.Mechanical.Duct."
|
|
3289
|
+
},
|
|
3290
|
+
"filter": {
|
|
3291
|
+
"type": "object",
|
|
3292
|
+
"description": "Parameter filter. Numeric rule values are read in the document's display units for that parameter unless 'unit' is set.",
|
|
3293
|
+
"properties": {
|
|
3294
|
+
"match": {
|
|
3295
|
+
"type": "string",
|
|
3296
|
+
"enum": [
|
|
3297
|
+
"all",
|
|
3298
|
+
"any"
|
|
3299
|
+
],
|
|
3300
|
+
"description": "Combine rules with AND (all, default) or OR (any)."
|
|
3301
|
+
},
|
|
3302
|
+
"rules": {
|
|
3303
|
+
"type": "array",
|
|
3304
|
+
"items": {
|
|
3305
|
+
"type": "object",
|
|
3306
|
+
"properties": {
|
|
3307
|
+
"param": {
|
|
3308
|
+
"type": "string",
|
|
3309
|
+
"description": "Parameter display name, BuiltInParameter enum name (e.g. WALL_BASE_OFFSET), or guid:<GUID> for a shared parameter."
|
|
3310
|
+
},
|
|
3311
|
+
"op": {
|
|
3312
|
+
"type": "string",
|
|
3313
|
+
"enum": [
|
|
3314
|
+
"equals",
|
|
3315
|
+
"not_equals",
|
|
3316
|
+
"greater",
|
|
3317
|
+
"greater_or_equal",
|
|
3318
|
+
"less",
|
|
3319
|
+
"less_or_equal",
|
|
3320
|
+
"contains",
|
|
3321
|
+
"is_empty",
|
|
3322
|
+
"is_not_empty",
|
|
3323
|
+
"regex"
|
|
3324
|
+
]
|
|
3325
|
+
},
|
|
3326
|
+
"value": {
|
|
3327
|
+
"description": "Comparison value (string, number, or bool). Regex pattern for op=regex. Unused for is_empty/is_not_empty."
|
|
3328
|
+
},
|
|
3329
|
+
"unit": {
|
|
3330
|
+
"type": "string",
|
|
3331
|
+
"description": "Unit of a numeric value, e.g. millimeters, meters, feet, squareMeters. Default: the document's display units."
|
|
3332
|
+
}
|
|
3333
|
+
},
|
|
3334
|
+
"required": [
|
|
3335
|
+
"param",
|
|
3336
|
+
"op"
|
|
3337
|
+
]
|
|
3338
|
+
}
|
|
3339
|
+
}
|
|
3340
|
+
},
|
|
3341
|
+
"required": [
|
|
3342
|
+
"rules"
|
|
3343
|
+
]
|
|
3344
|
+
},
|
|
3345
|
+
"level": {
|
|
3346
|
+
"type": "string",
|
|
3347
|
+
"description": "Only elements hosted on this level (level name or id)."
|
|
3348
|
+
},
|
|
3349
|
+
"type_id": {
|
|
3350
|
+
"type": "integer",
|
|
3351
|
+
"description": "Only instances of this element type id (see get_element_types)."
|
|
3352
|
+
},
|
|
3353
|
+
"in_active_view": {
|
|
3354
|
+
"type": "boolean",
|
|
3355
|
+
"description": "Only elements visible in the active view. Default false."
|
|
3356
|
+
}
|
|
3357
|
+
},
|
|
3358
|
+
"required": [],
|
|
3359
|
+
"description": "Filter the whole matching scope. Query paging and projections are not supported here.",
|
|
3360
|
+
"additionalProperties": false
|
|
3361
|
+
},
|
|
3362
|
+
"group_by": {
|
|
3363
|
+
"type": "string",
|
|
3364
|
+
"enum": [
|
|
3365
|
+
"category",
|
|
3366
|
+
"typeName",
|
|
3367
|
+
"levelId",
|
|
3368
|
+
"parameter"
|
|
3369
|
+
]
|
|
3370
|
+
},
|
|
3371
|
+
"parameter": {
|
|
3372
|
+
"type": "string",
|
|
3373
|
+
"description": "Required for group_by=parameter. Name, built-in identity or guid:<GUID>."
|
|
3374
|
+
},
|
|
3375
|
+
"type_parameter": {
|
|
3376
|
+
"type": "boolean",
|
|
3377
|
+
"description": "Group by the parameter on the element type instead of the instance."
|
|
3378
|
+
},
|
|
3379
|
+
"offset": {
|
|
3380
|
+
"type": "integer",
|
|
3381
|
+
"minimum": 0
|
|
3382
|
+
},
|
|
3383
|
+
"limit": {
|
|
3384
|
+
"type": "integer",
|
|
3385
|
+
"minimum": 1,
|
|
3386
|
+
"maximum": 500
|
|
3387
|
+
},
|
|
3388
|
+
"expected_document_id": {
|
|
3389
|
+
"type": "string",
|
|
3390
|
+
"description": "Exact opaque project.documentId from get_model_overview. Not required by the schema for reads, but required at runtime for any model change or UI change this tool performs; when supplied, the call runs only against that document. Invalid after close/reopen or bridge restart."
|
|
3391
|
+
}
|
|
3392
|
+
},
|
|
3393
|
+
"required": [
|
|
3394
|
+
"group_by"
|
|
3395
|
+
]
|
|
3396
|
+
}
|
|
3397
|
+
},
|
|
3398
|
+
{
|
|
3399
|
+
"name": "transform_elements",
|
|
3400
|
+
"source": "bridge",
|
|
3401
|
+
"tier": "advanced",
|
|
3402
|
+
"write": true,
|
|
3403
|
+
"effects": [
|
|
3404
|
+
"model"
|
|
3405
|
+
],
|
|
3406
|
+
"requires_document": true,
|
|
3407
|
+
"document_kinds": [
|
|
3408
|
+
"project",
|
|
3409
|
+
"family"
|
|
3410
|
+
],
|
|
3411
|
+
"keywords": [
|
|
3412
|
+
"move",
|
|
3413
|
+
"copy",
|
|
3414
|
+
"rotate",
|
|
3415
|
+
"shift",
|
|
3416
|
+
"offset",
|
|
3417
|
+
"relocate"
|
|
3418
|
+
],
|
|
3419
|
+
"limits": [
|
|
3420
|
+
{
|
|
3421
|
+
"what": "Mirroring",
|
|
3422
|
+
"alternative": {
|
|
3423
|
+
"kind": "api",
|
|
3424
|
+
"ref": "ElementTransformUtils.MirrorElements"
|
|
3425
|
+
}
|
|
3426
|
+
},
|
|
3427
|
+
{
|
|
3428
|
+
"what": "Pinned elements (move and rotate reject them)",
|
|
3429
|
+
"alternative": {
|
|
3430
|
+
"kind": "user",
|
|
3431
|
+
"ref": "Confirm unpinning (Element.Pinned) first"
|
|
3432
|
+
}
|
|
3433
|
+
},
|
|
3434
|
+
{
|
|
3435
|
+
"what": "Elements inside linked models",
|
|
3436
|
+
"alternative": {
|
|
3437
|
+
"kind": "user",
|
|
3438
|
+
"ref": "Edit the linked model itself"
|
|
3439
|
+
}
|
|
3440
|
+
}
|
|
3441
|
+
],
|
|
3442
|
+
"verification": "reread",
|
|
3443
|
+
"contract_hash": "538f5336f11a299e",
|
|
3444
|
+
"parameters": {
|
|
3445
|
+
"type": "object",
|
|
3446
|
+
"properties": {
|
|
3447
|
+
"action": {
|
|
3448
|
+
"type": "string",
|
|
3449
|
+
"enum": [
|
|
3450
|
+
"move",
|
|
3451
|
+
"copy",
|
|
3452
|
+
"rotate"
|
|
3453
|
+
]
|
|
3454
|
+
},
|
|
3455
|
+
"element_ids": {
|
|
3456
|
+
"type": "array",
|
|
3457
|
+
"minItems": 1,
|
|
3458
|
+
"maxItems": 200,
|
|
3459
|
+
"uniqueItems": true,
|
|
3460
|
+
"items": {
|
|
3461
|
+
"type": "integer",
|
|
3462
|
+
"minimum": 1
|
|
3463
|
+
}
|
|
3464
|
+
},
|
|
3465
|
+
"unit": {
|
|
3466
|
+
"type": "string",
|
|
3467
|
+
"enum": [
|
|
3468
|
+
"millimeters",
|
|
3469
|
+
"centimeters",
|
|
3470
|
+
"meters",
|
|
3471
|
+
"feet",
|
|
3472
|
+
"inches"
|
|
3473
|
+
]
|
|
3474
|
+
},
|
|
3475
|
+
"translation": {
|
|
3476
|
+
"type": "array",
|
|
3477
|
+
"minItems": 3,
|
|
3478
|
+
"maxItems": 3,
|
|
3479
|
+
"items": {
|
|
3480
|
+
"type": "number"
|
|
3481
|
+
},
|
|
3482
|
+
"description": "Move/copy displacement [x,y,z] in unit."
|
|
3483
|
+
},
|
|
3484
|
+
"axis_origin": {
|
|
3485
|
+
"type": "array",
|
|
3486
|
+
"minItems": 3,
|
|
3487
|
+
"maxItems": 3,
|
|
3488
|
+
"items": {
|
|
3489
|
+
"type": "number"
|
|
3490
|
+
},
|
|
3491
|
+
"description": "Rotation axis origin [x,y,z] in unit, relative to internal origin."
|
|
3492
|
+
},
|
|
3493
|
+
"axis_direction": {
|
|
3494
|
+
"type": "array",
|
|
3495
|
+
"minItems": 3,
|
|
3496
|
+
"maxItems": 3,
|
|
3497
|
+
"items": {
|
|
3498
|
+
"type": "number"
|
|
3499
|
+
},
|
|
3500
|
+
"description": "Nonzero rotation axis direction [x,y,z], dimensionless."
|
|
3501
|
+
},
|
|
3502
|
+
"angle_degrees": {
|
|
3503
|
+
"type": "number",
|
|
3504
|
+
"description": "Signed right-hand rotation angle in degrees."
|
|
3505
|
+
},
|
|
3506
|
+
"preview": {
|
|
3507
|
+
"type": "boolean",
|
|
3508
|
+
"description": "Commit-validate then roll back all model edits. Default false."
|
|
3509
|
+
},
|
|
3510
|
+
"expected_document_id": {
|
|
3511
|
+
"type": "string",
|
|
3512
|
+
"description": "Required: exact opaque project.documentId from get_model_overview for the intended open document. Invalid after close/reopen or bridge restart."
|
|
3513
|
+
}
|
|
3514
|
+
},
|
|
3515
|
+
"required": [
|
|
3516
|
+
"action",
|
|
3517
|
+
"element_ids",
|
|
3518
|
+
"unit",
|
|
3519
|
+
"expected_document_id"
|
|
3520
|
+
]
|
|
3521
|
+
}
|
|
3522
|
+
}
|
|
3523
|
+
]
|
|
3524
|
+
}
|