示例#1
0
文件: Commands.cs 项目: JOndarza/CAD
 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);
 }
示例#2
0
文件: Commands.cs 项目: JOndarza/CAD
 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);
         }
     }
 }
示例#3
0
文件: Compuerta.cs 项目: JOndarza/CAD
 /// <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;
 }