I'm working with feature-linked-annotations. In Pro relationship dialog, I have defined relationship-rules between subtypes in the origin- and the destination (annotation)class.
I want to access this rules by the c# SDK. But neither the "RelationshipClass", nor the "RelationshipClass.GetDefinition()" contains corresponding methods.
Can anybody help?
I have implement a MapTool for labeling existing line features in the UN. First the user has to select a line in the map. Only line features with related linked AnnotationFeatureClasses will be considered. Next the user has to define the labeling
position by an oriented text feedback next to the nearest linesegment. The linked annotation feature has to be created at this MapPoint.
Normaly the line features have different AssetGroups. Each line feature has to be labeled with a different symbolisation.
So I have defined corresponding rules in the relationshipclass. As the result, the rules would provide the AnnotationClassId corresponding to the selected feature AssetGroup. I could create the annotationfeature with the requested symbol.
Because the rules are not available in the Pro SDK this fails. (In python the rule are accessable!)
In this workaround I could not work with templates and inspector. I'm working with an editoperation-callback. I'm storing the involved features explicit.
Could you use Python/ geoprocessing to build a cache of this information, and then access it from within the editoperation-callback?
I don't have any other suggestions in the short-term, but I'll add this for consideration in a future release.
Thank you for your posting. But bad news! Caching Python isn't a solution.
As a consequence - not only in context of annotations - relationships are always unusable in the current Pro Version (2.5). In a UN usually we have less featureclasses, and many many AssetGroups/AssetTypes. What will be the reaction of our customers, if we ask him always for the relation to serve in a dialog? I think he didn't accept!
Essential for migration ArcMap to ArcGIS Pro is customer acceptance. A long-term consideration didn't help.