protected override void TrySolveInstance(IGH_DataAccess DA)
        {
            // get input
            Types.DataObject <DB.CompoundStructure> dataObj = default;
            if (!DA.GetData("Compound Structure", ref dataObj))
            {
                return;
            }

            DB.CompoundStructure cstruct = dataObj.Value;

            // Deconstruct the data object into output params
            DA.SetData("Width", cstruct.GetWidth());
            DA.SetDataList("Layers", cstruct.GetLayers().Select(x => new Types.DataObject <DB.CompoundStructureLayer>(apiObject: x, srcDocument: dataObj.Document)).ToList());
            DA.SetData("Layer Count", cstruct.LayerCount);
            DA.SetData("Cutoff Height", cstruct.CutoffHeight);
            DA.SetData("End Cap Condition", new Types.EndCapCondition(cstruct.EndCap));
            DA.SetData("Has Structural Deck", cstruct.HasStructuralDeck);
            DA.SetData("Is Vertically Compound", cstruct.IsVerticallyCompound);
            DA.SetData("Sample Height", cstruct.SampleHeight);
            DA.SetData("Minimum Sample Height", cstruct.MinimumSampleHeight);
            DA.SetData("Opening Wrapping Condition", new Types.OpeningWrappingCondition(cstruct.OpeningWrapping));
            DA.SetData("Structural Material Index", cstruct.StructuralMaterialIndex);
            DA.SetData("Variable Layer Index", cstruct.VariableLayerIndex);
            DA.SetData("First Core Layer Index", cstruct.GetFirstCoreLayerIndex());
            DA.SetData("Last Core Layer Index", cstruct.GetLastCoreLayerIndex());
            DA.SetData("Minimum Allowable Layer Thickness", DB.CompoundStructure.GetMinimumLayerThickness());
        }
Exemple #2
0
        /// <summary>
        /// Returns a list of dictionaries with Autodesk.Revit.DB.CompoundStructureLayer properties.
        /// </summary>
        /// <param name="cs">Autodesk.Revit.DB.CompoundStructure</param>
        /// <param name="doc">Autodesk.Revit.DB.Document</param>
        /// <returns></returns>
        internal static cg.IList <cg.Dictionary <string, object> > _GetLayers(revitCS cs, revitDoc doc)
        {
            cg.IList <cg.Dictionary <string, object> > layers = new cg.List <cg.Dictionary <string, object> >();

            foreach (revitCSLayer layer in cs.GetLayers())
            {
                layers.Add(_RevitLayerToDictionary(layer, doc));
            }

            return(layers);
        }
Exemple #3
0
        public SerialCompoundStructure(RevitCS CompoundStructure,
                                       [DefaultArgument("Synthetic.Revit.Document.Current()")] RevitDoc Document)
        {
            this.Layers     = new List <SerialCompoundStructureLayer>();
            this.WallSweeps = new List <string>();
            IList <RevitCSLayer> csLayers = CompoundStructure.GetLayers();

            foreach (RevitCSLayer csLayer in csLayers)
            {
                this.Layers.Add(new SerialCompoundStructureLayer(csLayer, Document));
            }
        }