/// <summary> /// Get Advance Steel Grid Numbering Type /// </summary> /// <param name="steelObject"> Selected Advance Steel Grid Object</param> /// <returns>Int = 0 - User Defined, 1 - Lowercase, 2 - Uppercase, 3 - Numerical</returns> public static int GetGridNumberingType(AdvanceSteel.Nodes.SteelDbObject steelObject) { int ret = -1; using (var ctx = new SteelServices.DocContext()) { if (steelObject != null) { FilerObject myGrid = Utils.GetObject(steelObject.Handle); if (myGrid != null) { if (myGrid.IsKindOf(FilerObject.eObjectType.kGrid)) { Autodesk.AdvanceSteel.Modelling.Grid selectedObj = myGrid as Autodesk.AdvanceSteel.Modelling.Grid; ret = (int)selectedObj.NumberingType; } else { throw new System.Exception("Not a Grid Object"); } } else { throw new System.Exception("AS Object is null"); } } else { throw new System.Exception("Steel Object or Point is null"); } } return(ret); }
/// <summary> /// Set Advance Steel Grid Width /// </summary> /// <param name="steelObject"> Selected Advance Steel Grid Object</param> /// <param name="width"> Set Grid Length in X Direction of CS</param> public static void SetGridWidth(SteelDbObject steelObject, [DefaultArgument("0")] double width) { using (var ctx = new SteelServices.DocContext()) { string handle = steelObject.Handle; FilerObject obj = Utils.GetObject(handle); if (obj != null && obj.IsKindOf(FilerObject.eObjectType.kGrid)) { Autodesk.AdvanceSteel.Modelling.Grid myGrid = obj as Autodesk.AdvanceSteel.Modelling.Grid; myGrid.updateLength(width); } else { throw new System.Exception("Failed to Get Grid Object"); } } }
/// <summary> /// Set Advance Steel Grid Numbering Type /// </summary> /// <param name="steelObject"> Selected Advance Steel Grid Object</param> /// <param name="numberingType"> 0 - User Defined, 1 - Lowercase, 2 - Uppercase, 3 - Numerical</param> public static void SetGridNumberingType(SteelDbObject steelObject, [DefaultArgument("1")] int numberingType) { using (var ctx = new SteelServices.DocContext()) { string handle = steelObject.Handle; FilerObject obj = Utils.GetObject(handle); if (obj != null && obj.IsKindOf(FilerObject.eObjectType.kGrid)) { Autodesk.AdvanceSteel.Modelling.Grid myGrid = obj as Autodesk.AdvanceSteel.Modelling.Grid; myGrid.NumberingType = (Autodesk.AdvanceSteel.Modelling.Grid.eNumberingType)numberingType; } else { throw new System.Exception("Failed to Get Grid Object"); } } }
internal Grid(List <Property> gridProperties, double length, double width = 0, int noOfAxis = 0) { lock (access_obj) { using (var ctx = new SteelServices.DocContext()) { List <Property> defaultData = gridProperties.Where(x => x.Level == ".").ToList <Property>(); List <Property> postWriteDBData = gridProperties.Where(x => x.Level == "Z_PostWriteDB").ToList <Property>(); Matrix3d gridMat = (Matrix3d)defaultData.FirstOrDefault <Property>(x => x.Name == "CS").InternalValue; string handle = SteelServices.ElementBinder.GetHandleFromTrace(); Autodesk.AdvanceSteel.Modelling.Grid myGrid = null; if (string.IsNullOrEmpty(handle) || Utils.GetObject(handle) == null) { switch (noOfAxis) { case 0: myGrid = new Autodesk.AdvanceSteel.Modelling.Grid1D(gridMat, length); break; default: myGrid = new Autodesk.AdvanceSteel.Modelling.Grid1D(gridMat, length, width, noOfAxis); break; } if (defaultData != null) { Utils.SetParameters(myGrid, defaultData); } myGrid.WriteToDb(); if (postWriteDBData != null) { Utils.SetParameters(myGrid, postWriteDBData); } } else { myGrid = Utils.GetObject(handle) as Autodesk.AdvanceSteel.Modelling.Grid; if (myGrid != null && myGrid.IsKindOf(FilerObject.eObjectType.kGrid)) { myGrid.updateWidth(length); if (width > 0) { myGrid.updateLength(width); myGrid.setNumElementPerSequence(0, noOfAxis); } if (defaultData != null) { Utils.SetParameters(myGrid, defaultData); } if (postWriteDBData != null) { Utils.SetParameters(myGrid, postWriteDBData); } } else { throw new System.Exception("Not a Camera"); } } Handle = myGrid.Handle; SteelServices.ElementBinder.CleanupAndSetElementForTrace(myGrid); } } }