/* * 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); }
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; } }
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); } }
public static extern int mdlElement_extractRange(out Range3d range, Element e);