Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AF SDK Getting Started

Lesson 1 exercise solutions

  • Last UpdatedMay 16, 2023
  • 1 minute read

This section contains sample code that solves each of the exercises in this lesson.

  • Exercise 1

    static void PrintElementTemplates(AFDatabase database)
    {
    Console.WriteLine("Print Element Templates");
    AFNamedCollectionList<AFElementTemplate> elemTemplates =
    database.ElementTemplates.FilterBy(typeof(AFElement));
    foreach (AFElementTemplate elemTemp in elemTemplates)
    {
    Console.WriteLine("Name: {0}; Categories: {1}", elemTemp.Name,
    elemTemp.CategoriesString);
    }

    Console.WriteLine();
    }

  • Exercise 2

    static void PrintAttributeTemplates(AFDatabase database, string elemTempName)
    {
    Console.WriteLine("Print Attribute Templates for Element Template:
    {0}", elemTempName);
    AFElementTemplate elemTemp = database.ElementTemplates[elemTempName];
    foreach (AFAttributeTemplate attrTemp in elemTemp.AttributeTemplates)
    {
    string drName = attrTemp.DataReferencePlugIn ==
    null ? "None" : attrTemp.DataReferencePlugIn.Name;
    Console.WriteLine("Name: {0}, DRPlugin: {1}", attrTemp.Name, drName);
    }
    Console.WriteLine();
    }

  • Exercise 3

    static void PrintEnergyUOMs(PISystem system)
    {
    Console.WriteLine("Print Energy UOMs");
    UOMClass uomClass = system.UOMDatabase.UOMClasses["Energy"];
    foreach (UOM uom in uomClass.UOMs)
    {
    Console.WriteLine("UOM: {0}, Abbreviation: {1}", uom.Name,
    uom.Abbreviation);
    }
    Console.WriteLine();
    }

    Note that the UOMDatabase belongs to PISystem and is not exclusive to an AFDatabase.

  • Exercise 4

    static void PrintEnumerationSets(AFDatabase database)
    {
    Console.WriteLine("Print Enumeration Sets");
    AFEnumerationSets enumSets = database.EnumerationSets;
    foreach (AFEnumerationSet enumSet in enumSets)
    {
    Console.WriteLine(enumSet.Name);
    foreach (AFEnumerationValue state in enumSet)
    {
    int stateValue = state.Value;
    string stateName = state.Name;
    Console.WriteLine("{0} - {1}", stateValue, stateName);
    }

    Console.WriteLine();
    }
    }

  • Exercise 5

    static void PrintCategories(AFDatabase database)
    {
    Console.WriteLine("Print Categories");
    AFCategories elemCategories = database.ElementCategories;
    AFCategories attrCategories = database.AttributeCategories;

    Console.WriteLine("Element Categories");
    foreach (AFCategory category in elemCategories)
    {
    Console.WriteLine(category.Name);
    }

    Console.WriteLine();
    Console.WriteLine("Attribute Categories");
    foreach (AFCategory category in attrCategories)
    {
    Console.WriteLine(category.Name);
    }

    Console.WriteLine();
    }

TitleResults for “How to create a CRG?”Also Available in