/// <summary> /// Apply Cutting Settings to Void /// </summary> /// <param name="freeform"></param> private static void ApplyVoidSettingsToFreeForm(Autodesk.Revit.DB.FreeFormElement freeform) { var elementIsCuttingParameter = freeform.get_Parameter(BuiltInParameter.ELEMENT_IS_CUTTING); if (elementIsCuttingParameter != null && !elementIsCuttingParameter.IsReadOnly) { Revit.Elements.InternalUtilities.ElementUtils.SetParameterValue(elementIsCuttingParameter, 1); } var cutWithVoidsParameter = freeform.get_Parameter(BuiltInParameter.FAMILY_ALLOW_CUT_WITH_VOIDS); if (cutWithVoidsParameter != null && !cutWithVoidsParameter.IsReadOnly) { Revit.Elements.InternalUtilities.ElementUtils.SetParameterValue(cutWithVoidsParameter, 1); } }
/// <summary> /// Apply Material to Solid /// </summary> /// <param name="familyDocument"></param> /// <param name="material"></param> /// <param name="element"></param> private static void ApplyMaterialToFreeForm( Autodesk.Revit.DB.Document familyDocument, Revit.Elements.Material material, Autodesk.Revit.DB.FreeFormElement freeform) { var materialCollector = new Autodesk.Revit.DB.FilteredElementCollector(familyDocument) .OfClass(typeof(Autodesk.Revit.DB.Material)); foreach (Autodesk.Revit.DB.Material mat in materialCollector) { if (mat.Name == material.Name) { var materialParam = freeform.get_Parameter(BuiltInParameter.MATERIAL_ID_PARAM); if (materialParam != null && !materialParam.IsReadOnly) { Revit.Elements.InternalUtilities.ElementUtils.SetParameterValue(materialParam, material); } } } }