LDJ 发表于 2014-9-12 17:10:51

DWGdirect_NET_3_02如何实现增加entity?

基于DWGdirect_NET_3_02开发了个小系统 已经实现了 dwg展示 缩放,选择,平移等
如何实现增加entity 并立即体现在系统上。即绘制后立即被保存。
用Teigha_Net可以实现吗?

雪山飞狐_lzh 发表于 2014-9-12 17:52:07

没问题 和cad2开差不多

LDJ 发表于 2014-9-12 19:02:20

用哪个?DWGdirect_NET_3_02还是Teigha_Net? 这个问题困住我了。
你有qq吗?私聊。

雪山飞狐_lzh 发表于 2014-9-13 07:47:03

我前段发了相关的帖子了 你可以看下

LDJ 发表于 2014-9-14 15:29:28

哪个帖子?给连接。

雪山飞狐_lzh 发表于 2014-9-14 16:23:21

...向后翻两页

LDJ 发表于 2014-9-15 08:27:49

我列出我的问题吧:
DWGdirect.Runtime.Services dd;
      Graphics graphics;
      DWGdirect.GraphicsSystem.LayoutHelperDevice helperDevice;
      Database database = null;
      Point3dCollection grips = new Point3dCollection();
      ObjectIdCollection selected = new ObjectIdCollection();
      Point2d startSelPoint;
      Point3d firstCornerPoint;
在 private void panel1_MouseDown(object sender, MouseEventArgs e)
      {
            startSelPoint = new Point2d(e.X, e.Y);
         //增加entity
LayerTableRecord ltr = cadLayer.GetLayer("00000", database);
               cadLayer.SetCurrentLayer(ltr, database);

               DWGdirect.DatabaseServices.Polyline ent1 = new DWGdirect.DatabaseServices.Polyline();
               ent1.AddVertexAt(0, startSelPoint, 0, 10, 10);
               ent1.AddVertexAt(1, new Point2d(e.X + 100, e.Y + 100), 0, 10, 10);
               ent1.AddVertexAt(2, new Point2d(e.X + 200, e.Y + 300), 0, 10, 10);
               using (Transaction tr = database.TransactionManager.StartTransaction())
               {
                     //ObjectId id;
                     BlockTable bt = (BlockTable)tr.GetObject(database.BlockTableId, OpenMode.ForWrite);

                     BlockTableRecord btr = (BlockTableRecord)tr.GetObject(database.CurrentSpaceId, OpenMode.ForWrite);
                     ent1.ColorIndex = 1;
                     ent1.LineWeight = LineWeight.LineWeight005;
                     //ent1.Layer = "00000";//这样不注释掉,出现异常,注释掉,也看不见绘制的entity
                     btr.AppendEntity(ent1);
                     tr.AddNewlyCreatedDBObject(ent1, true);
    tr.Commit();
               }
               //database.Save();
               helperDevice.Invalidate();
               Invalidate();
}
飞狐,错误在哪儿?

雪山飞狐_lzh 发表于 2014-9-15 19:03:07

本帖最后由 雪山飞狐_lzh 于 2014-9-15 19:04 编辑

你应该做坐标转换吧 从DCS到WCS
试试用固定点添加看看 如果可以的话就是坐标转换的问题

LDJ 发表于 2014-9-16 16:46:13

你有正确的代码 给段,我比葫芦画瓢。

雪山飞狐_lzh 发表于 2014-9-16 21:06:49

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=110736
最近有点忙 先看看这里吧
页: [1] 2
查看完整版本: DWGdirect_NET_3_02如何实现增加entity?