Contains the source code for the 'CIM Viewer' ArcGIS Pro Add-in which allows inspection and modification of underlying CIM models.
Language: C#
Subject: Framework, Map Authoring
Contributor: ArcGIS Pro SDK Team <[email protected]>
Organization: Esri, http://www.esri.com
Date: 3/16/2020
ArcGIS Pro: 2.5
Visual Studio: 2019
.NET Target Framework: .NET Framework 4.8
The CIMViewer can be used to examine layer, map (2D or 3D), and layout CIM definitions. Select a layer, map, scene, or layout in the TOC with the viewer open and its CIM definition will be loaded into the XML Editor. The XML Editor uses the AvalonEdit control which provides syntax colorization and formatting. Cut, Copy, Paste, and XML Validation have been added in the Add-in so the XML editing experience is reasonably functional though not as rich as a fully fledged commercial editor like XML Spy. However, it is a simple task of copy/pasting the CIM XML into a commercial editor if that level of XML manipulation is desired.
The Save button will save any changes you make back to the layer, map, scene, or layout whose CIM definition you loaded. However, there is not much of a safety net to protect you against making really bad xml or other inadvertant mistakes so use the Save
functionality with caution. The primary use of the CIM Viewer is to allow you, the developer, to decipher the inner workings or "guts" of the CIM and how it affects the configuration of your Pro project at any given point in time. In other words, it is a learning or educational tool that can be used to help you in your Pro development efforts. It is not a customization or configuration tool.
A second add-in, CIMViewerAnno, has been added to the CIMViewerSolution. CIMViewerAnno adds a dockpane that allows you to view the CIMTextGraphic of annotation features. With at least one annotation layer loaded into the current map, select annotation features to load their CIM (similar to the way the CIMViewer works). You will see a preview image of the selected text graphic along with its CIM definition. You can use the standard Pro select tool or the custom select tool provided with the CIMViewerAnno add-in.
You must install Pro SDK 2.5. This version of the CIM Viewer will not work with earlier versions. They do not contain the layout and annotation APIs.
- Support for layouts and layout elements added
- A CIMViewerAnno project is added to allow you to view and edit anno text graphics CIM xml.
Both add-ins require the ArcGIS Pro SDK
Both add-ins require a third party nuget called AvalonEdit and a third party nuget called Extended.Wpf.Toolkit.
When you first rebuild your solution those nuget are usually updated (or installed) auomatically. However, if that is not the case, you can use the NuGet Package manager inside Visual Studio (Tools->NuGet Package Manager->Manage NuGet Packages for Solution...).
You don't have the NuGet Package Manager installed? Find it here or go to Tools->Extensions and Updates and search for "NuGet Package Manager" You are not familiar with NuGets? Watch this tutorial
Note:
If your References to the ArcGIS Pro Assemblies in the CIMViewer project are broken (because your ArcGIS Pro is installed to a different location than the CIMViewer references) don't forget to use the Pro Fix References utility that comes with the Pro SDK to fix them
- Make sure you have re-built the CIM Viewer tool and the add-in is available in ArcGIS Pro.
- Start ArcGIS Pro.
- Open any project file with a map or scene. Click on the "CIM Viewer" tab on the ribbon and then on the "Show CIMViewer" button.
- Open the "Contents" dockpane and select any layer in the TOC of the map or scene.
- View the "Cartographic Information Model Viewer" dockpane to see and/or manipulate the CIM for the selected layer.
- To "post" (or save) any changes you made in the "Cartographic Information Model Viewer" dockpane back to ArcGIS Pro you can click the 'Save' button.
- Select the map or scene node in the TOC to view its CIM
- Make sure you have the add-in built and available
- Start ArcGIS Pro
- Open any project that has an annotation layer
- Open the CIMAnnoDockPane
- Select any annotation feature to load its text graphic CIM definition
- If you make changes to the CIM definition you can use "Preview" to change the preview image on the dockpane without changing the underlying annotation feature.
- Select "Save" to apply your changes to the selected annotation feature (assuming you have the appropriate write permissions on the annotation feature class).
Note: Save will fail if you do not have edit permissions on the anno feature class or annoFeatureClassDef.AreSymbolOverridesAllowed()
returns false.
- API Reference online
- ArcGIS Pro SDK for .NET (pro.arcgis.com)
- arcgis-pro-sdk-community-samples
- [ArcGIS Pro DAML ID Reference](http://github.com/Esri/arcgis-pro-sdk/wiki/ArcGIS Pro DAML ID Reference)
- FAQ
- ArcGIS Pro SDK icons
- ProConcepts: ArcGIS Pro Add in Samples
- Sample data for ArcGIS Pro SDK Community Samples can be downloaded from the repo releases page.
The requirements for the machine on which you develop your ArcGIS Pro add-ins are listed here.
- ArcGIS Pro 2.5
- Windows 10 (Home, Pro, Enterprise) (64 bit)
- Windows 8.1 (Pro, and Enterprise) (64 bit)
- Microsoft .NET Framework 4.8 Developer Pack
- Visual Studio 2019 (Professional, Enterprise, and Community Editions)
Note: ArcGIS Pro system requirements
Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.
Refer to this wiki for detailed instructions on the ArcGIS Pro SDK Samples submission process.
Copyright 2020 Esri
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:
http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
A copy of the license is available in the repository's license.txt file.
Home | API Reference | Requirements | Download | Samples