Esempio n. 1
0
        /***************************************************/
        /****               Public Methods              ****/
        /***************************************************/

        public static Material MaterialFromRevit(this Autodesk.Revit.DB.Material revitMaterial, string grade = null, RevitSettings settings = null, Dictionary <string, List <IBHoMObject> > refObjects = null)
        {
            if (revitMaterial == null)
            {
                return new Material {
                           Name = "Unknown Material"
                }
            }
            ;

            settings = settings.DefaultIfNull();

            string   refId    = revitMaterial.Id.ReferenceIdentifier(grade);
            Material material = refObjects.GetValue <Material>(refId);

            if (material != null)
            {
                return(material);
            }

            material = new Material {
                Properties = revitMaterial.MaterialProperties(grade, settings, refObjects), Name = revitMaterial.Name
            };

            //Set identifiers, parameters & custom data
            material.SetIdentifiers(revitMaterial);
            material.CopyParameters(revitMaterial, settings.ParameterSettings);
            material.SetProperties(revitMaterial, settings.ParameterSettings);

            refObjects.AddOrReplace(refId, material);
            return(material);
        }

        /***************************************************/
    }
Esempio n. 2
0
 /// <summary>
 /// Wrap an element in the associated DS type
 /// </summary>
 /// <param name="material">The material</param>
 /// <param name="isRevitOwned"></param>
 /// <returns></returns>
 internal static Material FromExisting(Autodesk.Revit.DB.Material material, bool isRevitOwned)
 {
     return(new Material(material)
     {
         IsRevitOwned = isRevitOwned
     });
 }
Esempio n. 3
0
 //private void AddFaceMaterial(Material materialElement, UIDocument doc)
 public void Test_303_AddFaceMaterial()
 {
     ExeWriter.CF_WriterUtils     Target          = new ExeWriter.CF_WriterUtils();
     Autodesk.Revit.DB.Material   materialElement = new Autodesk.Revit.DB.Material();
     Autodesk.Revit.UI.UIDocument doc             = new Autodesk.Revit.UI.UIDocument();
     Target.AddFaceMaterial(materialElement, doc);
     Assert.IsNotNull(Target);
 }
Esempio n. 4
0
        public static bool IsTransparent(this Autodesk.Revit.DB.Material material)
        {
            if (material == null)
            {
                return(false);
            }

            return(material.Transparency >= 10);
        }
        /***************************************************/
        /****               Public Methods              ****/
        /***************************************************/

        public static List <IMaterialProperties> MaterialProperties(this Autodesk.Revit.DB.Material material, string materialGrade = null, RevitSettings settings = null, Dictionary <string, List <IBHoMObject> > refObjects = null)
        {
            settings = settings.DefaultIfNull();

            // Add material fragment per discipline.
            List <IMaterialProperties> result = new List <IMaterialProperties>();

            result.Add(material.SolidMaterialFromRevit(settings, refObjects));
            result.Add(material.MaterialFragmentFromRevit(materialGrade, settings, refObjects));

            return(result.Where(x => x != null).ToList());
        }
Esempio n. 6
0
        public static Material ToSAM(this Autodesk.Revit.DB.Material material, ConvertSettings convertSettings)
        {
            Material result = Core.Revit.Convert.ToSAM(material, convertSettings);

            if (result == null)
            {
                return(result);
            }

            result.UpdateParameterSets(material, ActiveSetting.Setting.GetValue <TypeMap>(Core.Revit.ActiveSetting.Name.ParameterMap));

            return(result);
        }
        /// <summary>
        /// update display data to selected element's material
        /// </summary>
        private void LoadCurrentMaterial()
        {
            typeComboBox.DataSource = m_dataBuffer.MaterialTypes;

            typeComboBox.SelectedIndex = (int)m_dataBuffer.CurrentType;

            if (null == m_dataBuffer.CurrentMaterial || (m_dataBuffer.CurrentType != MaterialType.Steel &&
                                                         m_dataBuffer.CurrentType != MaterialType.Concrete))
            {
                return;
            }
            Autodesk.Revit.DB.Material tmp = m_dataBuffer.CurrentMaterial as Autodesk.Revit.DB.Material;
            if (null == tmp)
            {
                return;
            }

            subTypeComboBox.SelectedValue = tmp;
            parameterDataGrid.DataSource  = m_dataBuffer.GetParameterTable(subTypeComboBox.SelectedValue, (MaterialType)typeComboBox.SelectedIndex);
        }
Esempio n. 8
0
 /// <summary>
 /// Set the internal Element, ELementId, and UniqueId
 /// </summary>
 /// <param name="material"></param>
 private void InternalSetMaterial(Autodesk.Revit.DB.Material material)
 {
     this.InternalMaterial  = material;
     this.InternalElementId = material.Id;
     this.InternalUniqueId  = material.UniqueId;
 }
Esempio n. 9
0
 /// <summary>
 /// Initialize a Material element
 /// </summary>
 /// <param name="material"></param>
 private void InitMaterial(Autodesk.Revit.DB.Material material)
 {
     InternalSetMaterial(material);
 }
Esempio n. 10
0
 /// <summary>
 /// Private constructor for DSMaterial
 /// </summary>
 /// <param name="material"></param>
 private Material(Autodesk.Revit.DB.Material material)
 {
     SafeInit(() => InitMaterial(material));
 }
Esempio n. 11
0
 public Material(Autodesk.Revit.DB.Material material) : base(material)
 {
 }
Esempio n. 12
0
 private void InternalSetMaterial(Autodesk.Revit.DB.Material m)
 {
     InternalMaterial = m;
 }