예제 #1
0
        public override double GetDimension <T>(T plate, DimensionKind kind)
        {
            BuiltInParameter param            = Plate.GetParameterByKind(kind);
            Subelement       plateAsSubelem   = plate as Subelement;
            ParameterValue   lengthParamValue = plateAsSubelem.GetParameterValue(new ElementId(param));

            if (lengthParamValue == null)
            {
                throw new Exception("Нет параметра " + Enum.GetName(typeof(DimensionKind), kind) + " в пластине " + plateAsSubelem.Element.Id.IntegerValue.ToString());
            }
            DoubleParameterValue lengthDoubleValue = lengthParamValue as DoubleParameterValue;

            return(lengthDoubleValue.Value);
        }
예제 #2
0
        public PlateInJoint(Subelement subelem, RVTDocument doc, Settings sets)
        {
            _subelem = subelem;
            Reference   rf       = _subelem.GetReference();
            FilerObject filerObj = AdvanceSteelUtils.GetFilerObject(doc, rf);

            Autodesk.AdvanceSteel.Modelling.Plate pl = filerObj as Autodesk.AdvanceSteel.Modelling.Plate;
            //_volume = pl.Volume / (1000000 * 29.504);
            _volume = 1.0419239 * pl.Volume / (29504000);

            ParameterValue          pv   = _subelem.GetParameterValue(new ElementId(BuiltInParameter.STRUCTURAL_MATERIAL_PARAM));
            ElementIdParameterValue idpv = pv as ElementIdParameterValue;

            materialId = idpv.Value;
            _thickness = GetDimension <Subelement>(_subelem, DimensionKind.Thickness);
#if !R2019
            if (sets.writePlatesLengthWidth)
            {
                _length = GetDimension(_subelem, DimensionKind.Length);
                _width  = GetDimension(_subelem, DimensionKind.Width);
            }
#endif
        }