コード例 #1
0
        //---------------------------------------------------------------------------------------


        //STEP 1
        //THIS METHOD TAKES INPUTS FROM UserInput FORM.
        //DETERMINES IF CURRENT PROJECT IS NWF (LIVE) OR IF NWD (SNAPSHOT)
        public static void GetSystemProperties(string displayName, string classType)
        {
            ReturnProp.Clear();
            CurrCategories.Clear();
            ReturnCategories.Clear();
            catDuplicate.Clear();
            ModelItem Root = null;

            //CHECK IF FILE IS NWF
            foreach (Model model in DocModel)
            {
                if (model.RootItem.DisplayName == displayName)
                {
                    Root = model.RootItem as ModelItem;
                    ClassTypeCheck(Root, classType);
                    break;
                }
            }

            //ENTERS IF FILE IS NWD (GO NEXT LEVEL TO SEARCH FOR MODEL FILES)
            if (Root == null)
            {
                foreach (Model model in DocModel)
                {
                    ModelItem root = model.RootItem as ModelItem;
                    foreach (ModelItem item in root.Children)
                    {
                        if (item.DisplayName == displayName)
                        {
                            ClassTypeCheck(item, classType);
                        }
                    }
                }
            }
        }
コード例 #2
0
 //STEP 2
 //ROUTED HERE FROM UserInput FORM AFTER USER SELECTS CATEGORY TYPE TO ACCESS ASSOCIATED PROPERTIES
 //SELECTED CATEGORY IS PASSED AS CatNameSelected
 public static void GetCatProperties(string CatNameSelected)
 {
     //CYCLES THROUGH CATEGORY OF CLASS PropertyCategory
     //TO FIND MATCH THAT USER SELECTED OF TYPE STRING
     foreach (PropertyCategory category in CurrCategories)
     {
         if (category.DisplayName == CatNameSelected)
         {
             //WHEN MATCH FOUND TAKES category OF CLASS PropertyCategory
             //TO RETRIEVE AVAILABLE Properties
             foreach (DataProperty oDP in category.Properties)
             {
                 //STORES IN ReturnProp TO BE DISPLAYED IN UserInput FORM IN Prop_ListView
                 ReturnProp.Add(new Property
                 {
                     PropName = oDP.DisplayName,
                     //ISSUES WITH ToDisplayString() IN AUTODESK API.  Using Substring() and IndexOf() METHODS
                     //TO REMOVE UNWANTED CHARACTERS IN STRING
                     ValEx = oDP.Value.ToString().Substring(oDP.Value.ToString().IndexOf(':') + 1)
                 });
             }
         }
     }
 }