Пример #1
0
 public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
 {
     _cachedCmdData = commandData;
     //Create_SP("SP2", ParameterType.Area,"GROUP2");
     //TaskDialog.Show("Revit","Hello");
     //	TaskDialog.Show("Revit","Test");
     try
     {
         fill_all_SP(CachedApp.OpenSharedParameterFile());
         //TaskDialog.Show("Revit",all_SP.First());
         //              foreach(string s in ThisApplication.all_SP)
         //              {
         //                  TaskDialog.Show("Revit",s);
         //              }
         Form1 myForm1 = new Form1();
         myForm1.doc = CachedDoc;
         myForm1.app = CachedApp;
         myForm1.Show();
     }
     catch (Autodesk.Revit.Exceptions.ArgumentNullException)
     {
         TaskDialog.Show("Error Warning", "There is no Shared Parameters file Or There is no Shared Parameters");
         //trans.Commit();
         //	doc.Close(false);
         //	return;
         return(Result.Failed);
     }
     catch (SystemException ae)
     {
         TaskDialog.Show("For Developer", ae.ToString() + "\n");
     }
     //TaskDialog.Show("Revit","Hello World From Excute!");
     return(Result.Succeeded);
 }
Пример #2
0
        public static ExternalDefinition Create_SP(string sp_name
                                                   , ParameterType type, string group_name)
        {
            DefinitionFile deFile = CachedApp.OpenSharedParameterFile();
            // create new group in the shared paramters files
            DefinitionGroups groups       = deFile.Groups;
            bool             founded      = false;
            Definition       myDefinition = groups.First().Definitions.First();

            foreach (DefinitionGroup dg in groups)
            {
                if (dg.Name == group_name)
                {
                    ExternalDefinition exDef = dg.Definitions.get_Item(sp_name) as ExternalDefinition;
                    if (exDef != null)
                    {
                        //exDef.Description
                        return(exDef);
                    }
                    //ExternalDefinition exDef = dg.Definitions.get_Item("CompanyName") as ExternalDefinition;
                    ExternalDefinitionCreationOptions option = new ExternalDefinitionCreationOptions(sp_name, type);

                    myDefinition = dg.Definitions.Create(option);

                    founded = true;
                    break;
                }
            }
            if (!founded)
            {
                DefinitionGroup myGroup = groups.Create(group_name);
                // Create a type definition
                ExternalDefinitionCreationOptions option = new ExternalDefinitionCreationOptions(sp_name, type);
                myDefinition = myGroup.Definitions.Create(option);
            }

            ExternalDefinition eDef = myDefinition as ExternalDefinition;

            return(eDef);

            //
        }
Пример #3
0
        public static void rename_in_shared_parm_file(string s, string new_s)
        {
            DefinitionFile file  = CachedApp.OpenSharedParameterFile();
            var            lines = File.ReadLines(file.Filename);

            //StringComparison comp = StringComparison.Ordinal;
            new_s = "	"+ new_s + "	";
            s     = "	"+ s + "	";
            string tmp     = "";
            string orginal = "";

            foreach (string line in lines)
            {
                if (line.Contains(s))
                {
                    tmp = orginal = line;
                    tmp = line.Replace(s, new_s);


                    //    MessageBox.Show(tmp);
                    break;
                }
            }
            string readAll = File.ReadAllText(file.Filename);

            readAll = readAll.Replace(orginal, tmp);
            using (StreamWriter writer = new StreamWriter(file.Filename))
            {
                writer.Write(readAll);
                writer.Close();
            }

            //MessageBox.Show(readAll);
            //File.WriteAllText(file, readAll,Encoding.UTF8);
            //	return;
        }
Пример #4
0
        public static void Add_SP_To_Families(List <string> full_files_name, List <string> parm_to_add, bool instance)
        {
            Document doc;

            //Application app;
            //string folder = @"F:\ECG work\ECG_Shared_Parameters\Samples\sample 1\f1";

            // loop through all files in the directory
            //	TaskDialog.Show("Revit","Hey");
            foreach (string filename in full_files_name)
            {
                doc = CachedApp.OpenDocumentFile(filename);
                try
                {
                    if (doc.IsFamilyDocument)
                    {
                        Transaction trans = new Transaction(doc, "Add Param");

                        using (trans)
                        {
                            FamilyManager    fm       = doc.FamilyManager;
                            DefinitionFile   deFile   = CachedApp.OpenSharedParameterFile();
                            DefinitionGroups myGroups = deFile.Groups;

                            foreach (string s in parm_to_add)
                            {
                                foreach (DefinitionGroup myGroup in myGroups)
                                {                                  // DefinitionGroup myGroup = myGroups.get_Item("New len");
                                    trans.Start();
                                    Definitions myDefinitions = myGroup.Definitions;
                                    //TaskDialog.Show("Revit",s);
                                    ExternalDefinition eDef = myDefinitions.get_Item(s) as ExternalDefinition;
                                    if (eDef != null)
                                    {
                                        fm.AddParameter(eDef, eDef.ParameterGroup, instance);
                                    }
                                    //TaskDialog.Show("Revit","Hey");
                                    trans.Commit();
                                    //	if(eDef != null) break;
                                }
                            }
                        }

                        //		doc.SaveAs(filename);
                        doc.Close(true);
                        //int tmp = Form1.progressBar1.Maximum;
                        //	int c = tmp/Globals.full_files_name_variables.Count;
                        //Form1.progressBar1.Increment(c);
                    }
                }
                catch (Autodesk.Revit.Exceptions.ArgumentNullException ae)
                {
                    TaskDialog.Show("Revit", ae.ToString());
                    //trans.Commit();
                    doc.Close(false);
                    //	return;
                }
                catch (Autodesk.Revit.Exceptions.FamilyContextException ae)
                {
                    TaskDialog.Show("Revit", ae.ToString());
                    doc.Close(false);
                    //	return;
                }
                catch (Autodesk.Revit.Exceptions.FileAccessException ae)
                {
                    TaskDialog.Show("Revit", ae.ToString());
                    doc.Close(false);
                    //	return;
                }
                catch (Autodesk.Revit.Exceptions.FileNotFoundException ae)
                {
                    TaskDialog.Show("Revit", ae.ToString());
                    doc.Close(false);
                    //	return;
                }
                catch (Autodesk.Revit.Exceptions.ApplicationException ae)
                {
                    TaskDialog.Show("Revit", ae.ToString());
                    doc.Close(false);
                    //	return;
                }
                catch (SystemException ae)
                {
                    TaskDialog.Show("Revit", ae.ToString());
                    doc.Close(false);
                    //		return;
                }
            }
        }