예제 #1
0
        /*
         * deklaracja mdl
         *
         *  int mdlElement_size
         *  (
         *  MSElement const* el
         *  );
         */
        // działa poprawnie
        public static void getElementSize()
        {
            Element oLine = getLine();
            Element sh    = getShape();
            Element cell  = getCell();

            Range3d r = sh.Range;

            int sizeLine  = mdlElement_size(oLine);
            int sizeShape = mdlElement_size(sh);
            int sizeCell  = mdlElement_size(cell);
        }
예제 #2
0
        public void DataPoint(ref Point3d Point, View View)
        {
            if (!ready)
            {
                current_point = Point;
                app.ShowPrompt("选择终点");
                ready = true;
            }
            else
            {
                if (current_point.X != Point.X)
                {
                    Point.X = current_point.X;
                }
                Element     guide_line   = create_line(current_point, Point);
                LineElement line_element = guide_line.AsLineElement();

                Element label = create_rebar_label(content);
                Range3d label_range = label.Range;
                Point3d down_left = label_range.Low, up_right = label_range.High;
                double  line_length = up_right.Y - down_left.Y;
                Element line        = create_line(line_length);
                if (current_point.Y < Point.Y)
                {
                    Point.Y = Point.Y + line_length;
                }
                label.Move(ref Point);
                line.Move(ref Point);


                List <Element> list = new List <Element>();
                list.Add(label);
                list.Add(line);
                list.Add(guide_line);

                //NamedGroupElement groupElement = app.ActiveModelReference.AddNewNamedGroup("标签1");
                //groupElement.AddMember(label);
                //groupElement.AddMember(line);
                //groupElement.AddMember(guide_line);
                CellElement cell = app.CreateCellElement1("标签1", list.ToArray(), Point);
                app.ActiveModelReference.AddElement(cell);
                //app.ActiveModelReference.AddElement((Element)groupElement);
                ready = false;
            }
        }
예제 #3
0
        public void Dynamics(ref Point3d Point, View View, MsdDrawingMode DrawMode)
        {
            if (!ready)
            {
                Element label = create_rebar_label(content);
                Range3d label_range = label.Range;
                Point3d down_left = label_range.Low, up_right = label_range.High;
                double  line_length = up_right.Y - down_left.Y;
                Element line        = create_line(line_length);
                label.Move(ref Point);
                line.Move(ref Point);
                List <Element> list = new List <Element>();
                list.Add(label);
                list.Add(line);
                CellElement cell = app.CreateCellElement1("标签", list.ToArray(), Point);
                cell.Redraw(DrawMode);
            }
            else
            {
                if (current_point.X != Point.X)
                {
                    Point.X = current_point.X;
                }
                Element guide_line = create_line(current_point, Point);
                Element label = create_rebar_label(content);
                Range3d label_range = label.Range;
                Point3d down_left = label_range.Low, up_right = label_range.High;
                double  line_length = up_right.Y - down_left.Y;
                Element line        = create_line(line_length);

                if (current_point.Y < Point.Y)
                {
                    Point.Y = Point.Y + line_length;
                }
                label.Move(Point);
                line.Move(Point);
                List <Element> list = new List <Element>();
                list.Add(label);
                list.Add(line);
                list.Add(guide_line);
                CellElement cell = app.CreateCellElement1("标签1", list.ToArray(), Point);
                cell.Redraw(DrawMode);
            }
        }
예제 #4
0
 public static extern int mdlElement_extractRange(out Range3d range, Element e);