public void CreateBlock() { Polygon2D pl = new Polygon2D(5, new Point3d(0, 0, 0), 10); Polyline pol = pl.Poly; pol.Closed = true; Lab3.DBMan.Draw("Pentagono", pol); }
public void DrawPolygon() { int sides; Point3d center, end; Double ap; if (Lab2.Selector.Integer("\nDame el número de lados", out sides) && Lab2.Selector.Point("\nSelecciona el centro", out center) && Lab2.Selector.Point("\nSelecciona el tamaño del poligono", center, out end)) { Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; ap = center.DistanceTo(end); if (sides < 3) ed.WriteMessage("\nEl número mínimo de lados es tres."); else { Polygon2D pl = new Polygon2D(sides, center, ap); DBMan.DrawGeometry(pl.Geometry); } } }
/// <summary> /// Un metodo de selección que busca un elemento por un punto /// </summary> /// <param name="center">El centro del punto a buscar</param> /// <param name="filter">El filtro de selección</param> /// <param name="objIds">Los ids encontrados en el área</param> /// <param name="crossing">Selección por crossing, otro caso window</param> /// <returns>El metodo de selección</returns> public Boolean SelectByPoint(Point3d center, SelectionFilter filter, out ObjectIdCollection objIds, Boolean crossing = true) { objIds = new ObjectIdCollection(); Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; Polygon2D pol = new Polygon2D(15, center, 1); PromptSelectionResult res = crossing ? ed.SelectCrossingPolygon(pol.Geometry, filter) : ed.SelectWindowPolygon(pol.Geometry, filter); if (res.Status == PromptStatus.OK) objIds = new ObjectIdCollection(res.Value.GetObjectIds()); return objIds.Count > 0; }