EaBIM

标题: [即时预览] 画圆即时预览 [打印本页]

作者: 萧闫子    时间: 2014-1-8 16:43
标题: [即时预览] 画圆即时预览
  1. public void DrawCircle2P()
  2.         {
  3.             Database db = HostApplicationServices.WorkingDatabase;
  4.             Transaction trans = db.TransactionManager.StartTransaction();
  5.             Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
  6.             Document doc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
  7.             using (trans)
  8.             {
  9.                 using (DocumentLock docLock = doc.LockDocument())
  10.                 {
  11.                     //获得
  12.                     BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
  13.                     BlockTableRecord btr = (BlockTableRecord)trans.GetObject(db.CurrentSpaceId, OpenMode.ForWrite);
  14.                      PromptPointOptions prPos = new PromptPointOptions("\n 指定圆心点");
  15.                     Point3d position = new Point3d(0, 0, 0);
  16.                     PromptPointResult prPosRes;
  17.                     prPosRes = ed.GetPoint(prPos);
  18.                     if (prPosRes.Status != PromptStatus.OK)
  19.                         return;
  20.                     position = prPosRes.Value;
  21.                     //Jig动态画圆
  22.                     CirJig circleJig = new CirJig(position);
  23.                     bool bSuccess = false;
  24.                     bool bCancle = false;
  25.                     do
  26.                     {
  27.                         PromptResult res = ed.Drag(circleJig);
  28.                         bCancle = (res.Status == PromptStatus.Cancel);
  29.                         bSuccess = (res.Status == PromptStatus.OK);
  30.                     } while (!bSuccess && !bCancle);
  31.                     if (!bSuccess)
  32.                         return;
  33.                     Circle circle = circleJig.GetEntity();
  34.                    btr.AppendEntity(circle);
  35.                     trans.AddNewlyCreatedDBObject(circle, true);
  36.                    trans.Commit();
  37.                    }
  38.              }
  39.        }



  40.    /// <summary>
  41.         /// Jig类  动态画圆
  42.         /// </summary>
  43.         class CirJig : DrawJig
  44.         {
  45.             private Circle mycircle;
  46.             private double radius;
  47.             private Point3d  center;
  48.             /// <summary>
  49.             /// 初始化Jig
  50.             /// </summary>
  51.             /// <param name="circenter">圆心点</param>
  52.             public CirJig(Point3d circenter)
  53.             {
  54.                 center = circenter;
  55.                 mycircle = new Circle();
  56.                 mycircle.Center = center;
  57.                 mycircle.Radius = 0.001;
  58.             }
  59.             protected override bool WorldDraw(Autodesk.AutoCAD.GraphicsInterface.WorldDraw draw)
  60.             {
  61.                 //throw new NotImplementedException();
  62.                 draw.Geometry.Draw(mycircle);
  63.                 return true;
  64.             }           
  65.             protected override SamplerStatus Sampler(JigPrompts prompts)
  66.             {
  67.                 //throw new NotImplementedException();
  68.                 JigPromptPointOptions optJigDis = new JigPromptPointOptions("\n选择半径");
  69.                 optJigDis.UserInputControls = UserInputControls.NullResponseAccepted | UserInputControls.Accept3dCoordinates;
  70.                 PromptPointResult resJigDis = prompts.AcquirePoint(optJigDis);
  71.                 Point3d tempPt = resJigDis.Value;
  72.                 //每次计算 新半径
  73.                 double tempradius = Math.Sqrt((tempPt.X - center.X) * (tempPt.X - center.X) + (tempPt.Y - center.Y) * (tempPt.Y - center.Y));
  74.                 if (resJigDis.Status == PromptStatus.Cancel)
  75.                 {
  76.                     return SamplerStatus.Cancel;
  77.                 }
  78.                 if (radius != tempradius)
  79.                 {   //将新半径 赋值给圆
  80.                     radius = tempradius;
  81.                     if (tempradius != 0)
  82.                     {
  83.                         mycircle.Radius = radius;
  84.                     }
  85.                         return SamplerStatus.OK;
  86.                     
  87.                 }
  88.                 else
  89.                 {
  90.                     return SamplerStatus.NoChange;
  91.                 }
  92.             }
  93.             /// <summary>
  94.             ///
  95.             /// </summary>
  96.             /// <returns>返回圆</returns>
  97.             public Circle  GetEntity()
  98.             {
  99.                 return mycircle;
  100.             }
  101.         }
复制代码

作者: 波罗友    时间: 2014-2-18 12:10
顶!!!!!!!!!!!!!!!!!!!!!!!!!
作者: cocacola    时间: 2014-2-27 15:36
顶......
楼下跟上.....
作者: 千里独行    时间: 2014-3-10 13:16
路过!!!
帮顶……
作者: 月の月    时间: 2014-3-11 11:07
顶!!!!!!!!!!
作者: 大头佬    时间: 2014-3-11 11:12
看看啥…………
作者: 烈火ivk    时间: 2014-3-11 11:14
了解下BIM.....
作者: cocacola    时间: 2014-3-14 11:20
顶!!!!!!!!!!
作者: zpklfruV    时间: 2014-3-14 11:25
顶......
楼下跟上.....
作者: 楚客    时间: 2014-3-14 11:27
顶!!!!!!!!!!!!!!!!!!!!!!!!!
作者: codywu    时间: 2014-3-14 11:36
(*^__^*) 嘻嘻……
作者: 代号蓝牙    时间: 2014-5-22 15:41
(*^__^*) 嘻嘻……
作者: NetBeetle    时间: 2014-6-13 14:39
顶......
楼下跟上.....
作者: dison    时间: 2014-9-18 16:16
顶!!!!!!!!!!!!!!!!!!!!!!!!!
作者: ben7    时间: 2014-9-18 16:17
顶!!!!!!!!!!!!!!!!!!!!!!!!!
作者: 入樽    时间: 2014-9-18 16:18
顶!!!!!!!!!!
作者: 木鬼    时间: 2014-9-18 16:19
顶......
楼下跟上.....
作者: 月の月    时间: 2014-9-18 16:20
(*^__^*) 嘻嘻……
作者: audigy    时间: 2014-9-18 16:21
顶......
楼下跟上.....
作者: 泰安oim    时间: 2014-9-18 16:23
顶起来…………
作者: 极HONDA速    时间: 2014-9-18 16:24
路过!!!
不发表意见……
作者: 车晶晶    时间: 2014-9-18 16:25
顶......
楼下跟上.....
作者: 大奔KY    时间: 2014-9-18 16:26
(*^__^*) 嘻嘻……
作者: 车晶晶    时间: 2014-9-18 16:27
(*^__^*) 嘻嘻……
作者: 风吹枫落    时间: 2014-9-18 16:29
顶......
楼下跟上.....
作者: 慕容柔晴    时间: 2014-9-18 16:30
顶起来…………
作者: 大奔KY    时间: 2014-9-18 16:31
路过!!!
帮顶……
作者: best    时间: 2014-9-18 16:32
路过!!!
不发表意见……
作者: 野风    时间: 2014-9-18 16:33
(*^__^*) 嘻嘻……
作者: 元劭    时间: 2014-9-18 16:35
顶......
楼下跟上.....
作者: 泰安oim    时间: 2014-9-18 16:36
顶!!!!!!!!!!
作者: 秦惑    时间: 2014-9-18 16:37
路过!!!
帮顶……
作者: 飞天舞    时间: 2014-9-18 16:38
(*^__^*) 嘻嘻……
作者: 沧海冷月    时间: 2014-9-18 16:40
顶起来…………
作者: chen_0003    时间: 2014-9-18 16:41
顶!!!!!!!!!!!!!!!!!!!!!!!!!
作者: levin    时间: 2014-9-18 16:42
顶!!!!!!!!!!!!!!!!!!!!!!!!!
作者: 等你回来    时间: 2014-9-18 16:43
(*^__^*) 嘻嘻……
作者: gba8297517    时间: 2014-9-18 16:45
顶起来…………
作者: 看看侃侃    时间: 2014-9-18 16:46
(*^__^*) 嘻嘻……
作者: 泰安oim    时间: 2014-9-18 16:47
路过!!!
不发表意见……
作者: 千里独行    时间: 2014-9-18 16:48
顶!!!!!!!!!!
作者: 等你回来    时间: 2014-9-18 16:49
路过!!!
不发表意见……
作者: MIMDxFzL    时间: 2014-9-18 16:51
路过!!!
不发表意见……
作者: 雁田佬    时间: 2014-9-18 16:52
顶......
楼下跟上.....
作者: 烈火ivk    时间: 2014-9-18 16:53
(*^__^*) 嘻嘻……
作者: 教父    时间: 2014-9-18 16:54
顶起来…………
作者: 野风    时间: 2014-9-18 16:56
路过!!!
不发表意见……
作者: 筱雅    时间: 2014-9-18 16:57
顶......
楼下跟上.....
作者: 龙龙..!    时间: 2014-9-18 16:58
路过!!!
不发表意见……
作者: 莞人莞事    时间: 2014-9-18 17:00
顶起来…………
作者: 秦惑    时间: 2014-9-18 17:01
顶!!!!!!!!!!
作者: cocacola    时间: 2014-9-18 17:02
(*^__^*) 嘻嘻……
作者: 中华!    时间: 2014-9-18 17:03
路过!!!
帮顶……
作者: 妮可    时间: 2014-9-18 17:05
顶!!!!!!!!!!!!!!!!!!!!!!!!!
作者: 风吹枫落    时间: 2014-9-18 17:06
顶!!!!!!!!!!
作者: 悠悠筱荷    时间: 2014-9-18 17:07
路过!!!
帮顶……
作者: 矮矮    时间: 2014-9-18 17:08
(*^__^*) 嘻嘻……
作者: 猫猫girl    时间: 2014-9-18 17:10
顶起来…………
作者: bin    时间: 2014-9-18 17:11
路过!!!
帮顶……
作者: 鹦鹉仔    时间: 2014-9-18 17:12
顶......
楼下跟上.....
作者: 车奴    时间: 2014-9-18 17:13
(*^__^*) 嘻嘻……
作者: 嫣雨遥    时间: 2014-9-18 17:14
顶!!!!!!!!!!
作者: gba8297517    时间: 2014-9-18 17:16
(*^__^*) 嘻嘻……
作者: 元劭    时间: 2014-9-18 17:17
路过!!!
帮顶……
作者: dglei88    时间: 2014-9-18 17:18
顶!!!!!!!!!!
作者: JHXT杰西卡    时间: 2014-9-18 17:19
(*^__^*) 嘻嘻……
作者: 苦田辛君    时间: 2014-9-18 17:20
顶......
楼下跟上.....
作者: 順順    时间: 2014-9-18 17:21
路过!!!
帮顶……
作者: 悠悠筱荷    时间: 2014-10-10 10:17

路过  
作者: 悠悠筱荷    时间: 2014-10-17 09:07
路过
作者: 悠悠筱荷    时间: 2014-11-6 09:58
路过
作者: 丶添饭不要钱    时间: 2014-11-7 10:59
阅!
作者: 悠悠筱荷    时间: 2014-12-10 09:22
路过
作者: 萧闫子    时间: 2014-12-25 15:33
学习
作者: EaBIM门户编辑    时间: 2014-12-26 16:33
路过。。。
作者: EaBIM门户编辑    时间: 2015-1-8 09:34
不明觉厉啊
作者: EaBIM门户编辑    时间: 2015-1-27 09:56
路过
作者: EaBIM门户编辑    时间: 2015-1-28 10:09
路过
作者: 萧闫子    时间: 2015-12-14 12:55
感谢分享
作者: EaBIM门户编辑    时间: 2015-12-18 12:39
不错!
作者: 妮可    时间: 2016-1-7 10:01
支持~~楼下跟上
作者: 萧闫子    时间: 2016-7-31 14:51
1112233
作者: 萧闫子    时间: 2016-7-31 14:51
1112233
作者: 萧闫子    时间: 2016-7-31 14:52
1112233
作者: 萧闫子    时间: 2016-7-31 14:52
1112233
作者: 萧闫子    时间: 2016-7-31 14:52
1112233
作者: 萧闫子    时间: 2016-7-31 14:52
1112233
作者: 萧闫子    时间: 2016-7-31 14:52
1112233
作者: 萧闫子    时间: 2016-7-31 14:52
1112233
作者: EaBIM门户编辑    时间: 2016-8-3 09:31
很好
作者: EaBIM门户编辑    时间: 2016-8-24 11:36
不错!




欢迎光临 EaBIM (https://eabim.net/) Powered by Discuz! X3.2