Example #1
0
 /// <summary>
 /// Construct an Element from an existing Element in the Document
 /// </summary>
 /// <param name="family"></param>
 /// <param name="isRevitOwned"></param>
 /// <returns></returns>
 internal static Family FromExisting(Autodesk.Revit.DB.Family family, bool isRevitOwned)
 {
     return(new Family(family)
     {
         IsRevitOwned = isRevitOwned
     });
 }
Example #2
0
        protected override void TrySolveInstance(IGH_DataAccess DA)
        {
            Autodesk.Revit.DB.Family family = null;
            if (!DA.GetData("Family", ref family))
            {
                return;
            }

            DA.SetData("Category", family?.FamilyCategory);
            DA.SetData("Name", family?.Name);
        }
Example #3
0
        public bool LoadFamily(string path)
        {
            Autodesk.Revit.DB.Family family = null;
            lock (_locker)
            {
                TaskContainer.Instance.EnqueueTask(uiapp =>
                {
                    try
                    {
                        var doc = uiapp.ActiveUIDocument.Document;



                        using (Autodesk.Revit.DB.Transaction trans = new Autodesk.Revit.DB.Transaction(doc, "loadFamily"))
                        {
                            trans.Start();

                            var isLoad = doc.LoadFamily(path, out family);
                            if (isLoad)
                            {
                                Debug.Print("{0}:{1}", "load is success", family.Name);
                            }
                            else
                            {
                                Debug.Print("load is failed");
                            }


                            trans.Commit();
                        }
                    }
                    finally
                    {
                        lock (_locker)
                        {
                            Monitor.Pulse(_locker);
                        }
                    }
                });
                Monitor.Wait(_locker);
            }
            return(family != null);
        }
Example #4
0
 /// <summary>
 /// Set the internal Revit representation and update the ElementId and UniqueId
 /// </summary>
 /// <param name="family"></param>
 private void InternalSetFamily(Autodesk.Revit.DB.Family family)
 {
     this.InternalFamily    = family;
     this.InternalElementId = family.Id;
     this.InternalUniqueId  = family.UniqueId;
 }
Example #5
0
 private void InitFamily(Autodesk.Revit.DB.Family family)
 {
     InternalSetFamily(family);
 }
Example #6
0
 private Family(Autodesk.Revit.DB.Family family)
 {
     SafeInit(() => InitFamily(family));
 }
Example #7
0
 public Family(Autodesk.Revit.DB.Family family) : base(family)
 {
 }