Example #1
0
        //创建样式
        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);
        }
Example #2
0
        //为元素添加样式
        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
            {
            }
        }
Example #3
0
        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");
        }