示例#1
0
    private void Initialize()
    {
        if (constructor != null)
        {
            SetText(constructor.name);
            gameObject.name = constructor.name;
        }

        this.subcategory = constructor.subcategory;
        this.buttonID    = constructor.id;


        for (int i = 0; i < constructor.subelements; i++)
        {
            GameObject subelement = (GameObject)Instantiate(subElementPrefab);

            RectTransform rt = subelement.GetComponent <RectTransform>();
            subelement.transform.SetParent(subcontent.transform);
            Subelement s = new Subelement(subcategory.type[i],
                                          subcategory.GetButtonID(subcategory.type[i]),
                                          subcategory.GetButtonToggle(subcategory.type[i]),
                                          subcategory.GetButtonCost(subcategory.type[i]));
            rt.localScale    = new Vector3(1, 1, 1);
            rt.localPosition = new Vector3(0, 0, 0);
            rt.anchorMin     = new Vector2(0, 0);
            rt.anchorMax     = new Vector2(1, 1);
            rt.offsetMax     = new Vector2(-_elementHeight, 0);
            rt.offsetMin     = new Vector2(_elementHeight, 0);
            childrenHeight   = rt.rect.height;
            rt.GetComponent <SubelementHandler>()._constructor = s;
            rt.GetComponent <SubelementHandler>().element      = this;
            rt.GetComponent <SubelementHandler>().SetTargetPosition(new Vector3(0,
                                                                                (-i * childrenHeight * _paddingBetweenSubElements) - (childrenHeight * (_paddingTop - 1.0f)), 0));

            subelementCount = i + 2;
        }

        subcontent.GetComponent <RectTransform>().offsetMin = new Vector2(0, subcontent.GetComponent <RectTransform>().offsetMin.y);
        _openTargetVector  = Vector3.zero;
        _closeTargetVector = Vector2.zero;


        for (int i = 0; i < subcontent.transform.childCount; i++)
        {
            children.Add(subcontent.transform.GetChild(i).gameObject);
        }



        InitChildToggle(buttonID);
    }
示例#2
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);
        }
示例#3
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
        }