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 <arcgisprosdk@esri.com>
Organization: Esri, http://www.esri.com
Date: 6/22/2022
ArcGIS Pro: 2.8
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.
At 3.0 the CIM Viewer has been updated to incorporate API breaking changes as well as the move to .NET 6 and Visual Studio 2022. However, because many developers may still be on 2.x versions of Pro, the original 2.x solution and projects have been left in the master branch of the repo (for convenience). They will be removed from the master at 3.1.
For the 3.0 (latest) version you must: Install ArcGIS Pro 3.0 + SDK, Visual Studio 2022 v17.2 or better (and .NET 6.0.5). Open the solution called CIMViewer_3.0.sln.
For the 2.x flavor: You must install Pro SDK ~2.5~ 2.8. This version of the CIM Viewer will not work with earlier versions. They do not contain the layout and annotation APIs.
All add-ins require the ArcGIS Pro SDK
All 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: PreviewSymbol uses a Nuget Package reference as opposed to the older “Packages.config”. Visual Studio 2019 should be used to build the PreviewSymbol add-in.
Note:
If your References to the ArcGIS Pro Assemblies in the CIMViewer solution are broken (because your ArcGIS Pro is installed to a different location than the CIMViewer add-in projects reference) don’t forget to use the Pro Fix References utility that comes with the Pro SDK to fix them
Note: Save will fail if you do not have edit permissions on the anno feature class or annoFeatureClassDef.AreSymbolOverridesAllowed()
returns false.
The requirements for the machine on which you develop your ArcGIS Pro add-ins are listed here.
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 2022 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