Exemple #1
0
        /// <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);
            }
        }
Exemple #2
0
        /// <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);
                    }
                }
            }
        }