明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1499|回复: 4

[几何] 绘制一个多边形函数

[复制链接]
发表于 2010-12-1 21:00 | 显示全部楼层 |阅读模式
本帖最后由 chpmould 于 2010-12-2 07:30 编辑

请教老师:
如何绘制一个六边形。
谢谢狐哥! 问题已解决...



发表于 2010-12-1 21:32 | 显示全部楼层
  1.         [CommandMethod("t2")]
  2.         public static void Test2()
  3.         {

  4.             var db = HostApplicationServices.WorkingDatabase;
  5.             var doc = Application.DocumentManager.GetDocument(db);
  6.             var ed = doc.Editor;

  7.             var resDbl = ed.GetDouble("\n输入六边形的高度:");
  8.             if (resDbl.Status != PromptStatus.OK)
  9.                 return;

  10.             //边长
  11.             double a = resDbl.Value / Math.Pow(3, 0.5);

  12.             using (var tr = db.TransactionManager.StartTransaction())
  13.             {

  14.                 var pl = new Polyline();
  15.                 //以0,0为起点
  16.                 Point2d pt = Point2d.Origin;
  17.                 //按边长生成一个向量
  18.                 Vector2d vec = Vector2d.XAxis * a;

  19.                 for (int i = 0; i < 6; i++)
  20.                 {
  21.                     pl.AddVertexAt(i, pt, 0, 0, 0);
  22.                     //移动到下一个点
  23.                     pt += vec;
  24.                     //循环每步将向量旋转60度
  25.                     vec = vec.RotateBy(Math.PI / 3);
  26.                 }
  27.                 pl.Closed = true;

  28.                 var btr = (BlockTableRecord)tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite);
  29.                 btr.AppendEntity(pl);
  30.                 tr.AddNewlyCreatedDBObject(pl, true);

  31.                 tr.Commit();

  32.             }
  33.         }
 楼主| 发表于 2010-12-1 21:42 | 显示全部楼层
谢谢狐哥:原来自带是没有多边形函数,需要计算得来。。。
发表于 2010-12-7 12:52 | 显示全部楼层
回复 lzh741206 的帖子

请问这个是不是要有ARX才行的呀?如果不在arx情况下,在C#情况下可以如何用addpolyline呢?菜鸟求助,谢谢
发表于 2010-12-7 13:05 | 显示全部楼层
com库的话直接看帮助里的VBA部分,或者VBA版有中文的翻译版
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-9 13:06 , Processed in 0.143982 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表