PMI: Query specifications for a selected feature
- Dominant language
- C++
- Stars
- 33.6k
- Forks
- 6k
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 196
Description
**User intent:** Select a face, edge, vertex, or feature and see all PMI specifications that apply to it or depend on it.
This is the reverse direction of the contextual selection logic when adding specifications to answers what is already defined on the current selection.
**PMI_QueryFeatureSpecifications**
**What the user selects first:** One or more geometric elements on the model, typically:
- a face
- an edge
- a vertex
- multiple faces representing one feature of size
**Behavior:**
- The command collects and lists all annotations that are directly or indirectly associated with the selected geometry
- The result is shown in a task panel
- Selecting one result in the list highlights the corresponding annotation in 3D view and in the tree
- This command should work even if no PMI View is active
**What should be listed in the result:**
- Dimensions that reference the selected geometry
- Geometric tolerances that apply to the selected geometry
- Basic dimensions that are related to those geometric tolerances
- Datum features attached to the selected geometry
- Datum systems that include these datums
- Notes and leaders attached to the selected geometry
- Annotations that are attached indirectly through a referenced dimension
- The Views in which each annotation is visible
- Validation state of each annotation, if invalid or broken
**Direct and indirect relationship logic:**
- Direct means the selected geometry is explicitly referenced by the annotation e.g. a:
- diameter dimension linked to the cylindrical face of a hole
- datum feature attached to a planar face
- position tolerance whose toleranced feature is the selected hole
- Indirect means the annotation is functionally related through another semantic object, e.g. a:
- hole face, show the position tolerance, the basic dimensions used to locate it, and the datum features referenced by that tolerance
- planar datum feature face, show all geometric tolerances that reference datum A
- diameter dimension, show the feature control frame attached below it
- The command should clearly distinguish direct and indirect results in the UI
**Task panel contents:**
- Selection summary
- selected object name
- selected subelement name
- detected feature type if recognized
- Result groups:
- Directly applied specifications
- Related basic dimensions
- Referenced datums and datum systems
- Indirectly related specifications
- Notes and supplemental annotations
- Visible in views
- For each result:
- annotation name
- annotation type
- short value summary
- linked view count
- validation state
- Actions:
- Show only these annotations (isolate)
- Select linked geometry
- Go to annotation
- Open annotation for editing
- Export result as report, later phase
Contributor guide
Assessment
This issue has not been assessed yet.