Skip to content

hsarslan/arcgis-pro-sdk-cim-viewer

 
 

Repository files navigation

arcgis-pro-sdk-cim-viewer

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:                  3/16/2020
ArcGIS Pro:            2.5
Visual Studio:         2019
.NET Target Framework: .NET Framework 4.8

Overview

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.

ArcGIS Pro 2.5 (minimum requirement)

  • Support for layouts and layout elements added
  • A CIMViewerAnno project is added to allow you to view and edit anno text graphics CIM xml.

UI

CIM Viewer tool and CIMViewerAnno resources

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...).

NuGet

NuGet

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

ProSDK

How to use the CIM Viewer tool

  1. Make sure you have re-built the CIM Viewer tool and the add-in is available in ArcGIS Pro.
  2. Start ArcGIS Pro.
  3. 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.
    UI
  4. Open the "Contents" dockpane and select any layer in the TOC of the map or scene.
    UI
  5. View the "Cartographic Information Model Viewer" dockpane to see and/or manipulate the CIM for the selected layer.
    UI
  6. 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.
  7. Select the map or scene node in the TOC to view its CIM UI

CIMViewerAnno tool

  1. Make sure you have the add-in built and available
  2. Start ArcGIS Pro
  3. Open any project that has an annotation layer
  4. Open the CIMAnnoDockPane
  5. Select any annotation feature to load its text graphic CIM definition UI
  6. 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.
  7. 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.

ArcGIS Pro SDK Resources

Samples Data

  • Sample data for ArcGIS Pro SDK Community Samples can be downloaded from the repo releases page.

Requirements

The requirements for the machine on which you develop your ArcGIS Pro add-ins are listed here.

ArcGIS Pro

  • ArcGIS Pro 2.5

Supported platforms

  • Windows 10 (Home, Pro, Enterprise) (64 bit)
  • Windows 8.1 (Pro, and Enterprise) (64 bit)

Supported .NET framework

  • Microsoft .NET Framework 4.8 Developer Pack

Supported IDEs

  • Visual Studio 2019 (Professional, Enterprise, and Community Editions)

Note: ArcGIS Pro system requirements

Contributing

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.

Licensing

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.

      ArcGIS Pro SDK for Microsoft .NET Framework              Home | API Reference | Requirements | Download | Samples

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 63.2%
  • XSLT 34.1%
  • HTML 2.7%