//创建样式 public static TFPartRef create_tfpart_ref(string family, string part) { TFPartRefList tfpart_ref_list = new TFPartRefList(); TFPartRef tfpart_ref = tfpart_ref_list.AsTFPartRef; tfpart_ref.SetPartFamilyName(family); tfpart_ref.SetPartName(part); return(tfpart_ref); }
//为元素添加样式 public static void add_part_to_element(ref Element element, TFPartRef tfpart_ref) { try { Level level; int color, weight, style; string level_str; TFPartList tfpart_list = new TFPartList(); tfpart_ref.GetPart(out tfpart_list); TFPart tfpart = tfpart_list.AsTFPart; //提取样式 tfpart.GetModelLevelNameW(out level_str); if ((level = app.ActiveDesignFile.Levels.Find(level_str)) == null) { level = app.ActiveDesignFile.AddNewLevel(level_str); } tfpart.GetModelSymbologyValues(out color, out weight, out style); //为元素赋予样式 try { element.Color = color; element.LineWeight = weight; element.LineStyle = app.ActiveDesignFile.LineStyles[style]; } catch { } TFElementList tfelement_list = new TFElementList(); tfelement_list.InitFromElement(element); TFElement tfelement = tfelement_list.AsTFElement; tfelement.SetPartRef(tfpart_ref); tfelement.GetElement(out element); } catch { } }
public void DataPoint(ref Point3d Point, Bentley.Interop.MicroStationDGN.View View) { Element column = null, foundation = null, foundation_rebars = null, column_longitudinal_rebars = null, column_stirrups = null; stirrupData = read_Data(); switch (stf.Type) { case TYPE.TYPE1: { StirrupData1 data = (StirrupData1)stirrupData; column = RCUtil.create_column(data.B, data.H, 1500, 400); foundation = RCUtil.create_foundation(1500, 1500, 400); column_longitudinal_rebars = LongitudinalBarUtil.create_column_longitudinal_rebars(data.B, data.H, 1500, 1500, 1500, 400, 50, stf.Type, data.M, data.N); column_stirrups = StirrupUtil.create_column_stirrups(data.B, data.H, 1500, 400, stf.Type, data.M, data.N); foundation_rebars = FootingSlabBarUtil.create_foundation_rebars(1500, 1500, 400); break; } case TYPE.TYPE2: { StirrupData2 data = (StirrupData2)stirrupData; column = RCUtil.create_column(data.B, data.H, 1500, 400); foundation = RCUtil.create_foundation(1500, 1500, 400); column_longitudinal_rebars = LongitudinalBarUtil.create_column_longitudinal_rebars(data.B, data.H, 1500, 1500, 1500, 400, 50, stf.Type); column_stirrups = StirrupUtil.create_column_stirrups(data.B, data.H, 1500, 400, stf.Type); foundation_rebars = FootingSlabBarUtil.create_foundation_rebars(1500, 1500, 400); break; } case TYPE.TYPE3: { StirrupData3 data = (StirrupData3)stirrupData; column = RCUtil.create_column(data.B, data.H, 1500, 400); foundation = RCUtil.create_foundation(1500, 1500, 400); column_longitudinal_rebars = LongitudinalBarUtil.create_column_longitudinal_rebars(data.B, data.H, 1500, data.B1, data.H1, 1500, 1500, 400, 50, stf.Type); column_stirrups = StirrupUtil.create_column_stirrups(data.B, data.H, data.B1, data.H1, 1500, 400, stf.Type); foundation_rebars = FootingSlabBarUtil.create_foundation_rebars(1500, 1500, 400); break; } case TYPE.TYPE4: { StirrupData4 data = (StirrupData4)stirrupData; column = RCUtil.create_column(data.B, data.H, 1500, 400); foundation = RCUtil.create_foundation(1500, 1500, 400); column_longitudinal_rebars = LongitudinalBarUtil.create_column_longitudinal_rebars(data.B, data.H, 1500, 1500, 1500, 400, 50, stf.Type); column_stirrups = StirrupUtil.create_column_stirrups(data.B, data.H, 1500, 400, stf.Type); foundation_rebars = FootingSlabBarUtil.create_foundation_rebars(1500, 1500, 400); break; } case TYPE.TYPE5: { StirrupData5 data = (StirrupData5)stirrupData; column = RCUtil.create_column(data.B, data.H, 1500, 400); foundation = RCUtil.create_foundation(1500, 1500, 400); column_longitudinal_rebars = LongitudinalBarUtil.create_column_longitudinal_rebars(data.B, data.H, 1500, 1500, 1500, 400, 50, stf.Type, data.M, data.N); column_stirrups = StirrupUtil.create_column_stirrups(data.B, data.H, 1500, 400, stf.Type, data.M, data.N); foundation_rebars = FootingSlabBarUtil.create_foundation_rebars(1500, 1500, 400); break; } case TYPE.TYPE6: { StirrupData6 data = (StirrupData6)stirrupData; column = RCUtil.create_column(data.D, 1500, 400); foundation = RCUtil.create_foundation(1500, 1500, 400); column_longitudinal_rebars = LongitudinalBarUtil.create_column_longitudinal_rebars(data.D, 1500, 1500, 1500, 400, 50, stf.Type); column_stirrups = StirrupUtil.create_column_stirrups(data.D, 1500, 400, stf.Type); foundation_rebars = FootingSlabBarUtil.create_foundation_rebars(1500, 1500, 400); break; } case TYPE.TYPE7: { StirrupData7 data = (StirrupData7)stirrupData; column = RCUtil.create_column(data.D, 1500, 400); foundation = RCUtil.create_foundation(1500, 1500, 400); column_longitudinal_rebars = LongitudinalBarUtil.create_column_longitudinal_rebars(data.D, 1500, 1500, 1500, 400, 50, stf.Type); column_stirrups = StirrupUtil.create_column_stirrups(data.D, 1500, 400, stf.Type); foundation_rebars = FootingSlabBarUtil.create_foundation_rebars(1500, 1500, 400); break; } } TFPartRef tfpart_ref = TFPartUtil.create_tfpart_ref("Ceiling", "Metal"); TFPartUtil.add_part_to_element(ref column, tfpart_ref); TFPartUtil.add_part_to_element(ref foundation, tfpart_ref); TFPartUtil.add_part_to_element(ref column_longitudinal_rebars, tfpart_ref); TFPartUtil.add_part_to_element(ref column_stirrups, tfpart_ref); TFPartUtil.add_part_to_element(ref foundation_rebars, tfpart_ref); column.Move(ref Point); foundation.Move(ref Point); column_longitudinal_rebars.Move(ref Point); column_stirrups.Move(ref Point); foundation_rebars.Move(ref Point); List <Element> elements = new List <Element>(); elements.Add(column); elements.Add(foundation); elements.Add(column_longitudinal_rebars); elements.Add(column_stirrups); elements.Add(foundation_rebars); draw_Elements(elements.ToArray(), "diji"); }