明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4606|回复: 11

DWGdirect_NET_3_02如何实现增加entity?

[复制链接]
发表于 2014-9-12 17:10:51 | 显示全部楼层 |阅读模式
基于DWGdirect_NET_3_02开发了个小系统 已经实现了 dwg展示 缩放,选择,平移等
如何实现增加entity 并立即体现在系统上。即绘制后立即被保存。
用Teigha_Net可以实现吗?
发表于 2014-9-12 17:52:07 来自手机 | 显示全部楼层
没问题 和cad2开差不多
 楼主| 发表于 2014-9-12 19:02:20 | 显示全部楼层
用哪个?DWGdirect_NET_3_02还是Teigha_Net? 这个问题困住我了。
你有qq吗?私聊。
发表于 2014-9-13 07:47:03 来自手机 | 显示全部楼层
我前段发了相关的帖子了 你可以看下
 楼主| 发表于 2014-9-14 15:29:28 | 显示全部楼层
哪个帖子?给连接。
发表于 2014-9-14 16:23:21 来自手机 | 显示全部楼层
...向后翻两页
 楼主| 发表于 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();
}
飞狐,错误在哪儿?
发表于 2014-9-15 19:03:07 | 显示全部楼层
本帖最后由 雪山飞狐_lzh 于 2014-9-15 19:04 编辑

你应该做坐标转换吧 从DCS到WCS
试试用固定点添加看看 如果可以的话就是坐标转换的问题
 楼主| 发表于 2014-9-16 16:46:13 | 显示全部楼层
你有正确的代码 给段,我比葫芦画瓢。
发表于 2014-9-16 21:06:49 来自手机 | 显示全部楼层
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=110736
最近有点忙 先看看这里吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 12:39 , Processed in 0.168602 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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