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); }
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); }
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 }