/***************************************************/ /**** 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); } /***************************************************/ }
/// <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 }); }
//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); }
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()); }
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); }
/// <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; }
/// <summary> /// Initialize a Material element /// </summary> /// <param name="material"></param> private void InitMaterial(Autodesk.Revit.DB.Material material) { InternalSetMaterial(material); }
/// <summary> /// Private constructor for DSMaterial /// </summary> /// <param name="material"></param> private Material(Autodesk.Revit.DB.Material material) { SafeInit(() => InitMaterial(material)); }
public Material(Autodesk.Revit.DB.Material material) : base(material) { }
private void InternalSetMaterial(Autodesk.Revit.DB.Material m) { InternalMaterial = m; }