明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2678|回复: 4

CAD画椭圆

[复制链接]
发表于 2011-10-11 15:53 | 显示全部楼层 |阅读模式

Point3d center=new Point3d(-9.39346286010186, 2.86410249509299, 0.0);
vector3d majVec= new Vector3d(1.23087105577724, -1.73142607162663, 0);
Ellipse ell = new Ellipse(center,majVec, Vector3d.ZAxis, 3.20067262646138, 0.0, 6.28318530717959);
          Database db = HostApplicationServices.WorkingDatabase;
            ObjectId objId = new ObjectId();
            using (Transaction tran = db.TransactionManager.StartTransaction())
            {
                BlockTable bt = tran.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
                BlockTableRecord btr = tran.GetObject(db.CurrentSpaceId, OpenMode.ForWrite) as BlockTableRecord;
                 objId= btr.AppendEntity(ell );
                tran.AddNewlyCreatedDBObject(ell , true);
                tran.Commit();
            }
代码如上,为什么运行后椭圆并没有显示处理呢??为什么?
发表于 2011-10-11 17:30 | 显示全部楼层
Ellipse ell = new Ellipse(center,majVec, Vector3d.ZAxis, 3.20067262646138, 0.0, 6.28318530717959);
改为下面样子试试,
Ellipse ell = new Ellipse(center,Vector3d.ZAxis,majVec,  3.20067262646138, 0.0, 6.28318530717959);

另外检查一下是没有东西出来会是东西出来了看不见而已.
 楼主| 发表于 2011-10-12 10:11 | 显示全部楼层
sieben 发表于 2011-10-11 17:30
Ellipse ell = new Ellipse(center,majVec, Vector3d.ZAxis, 3.20067262646138, 0.0, 6.28318530717959);
...

谢谢!我把代码像你说的那样,试了下,还是没显示(我运行完代码后,zoom了下,还是没出来),别的地方我检查了下,应该没什么错的,,这个问题已经让我纠结很久了,帮帮忙啊!![em0]
发表于 2011-10-12 10:47 | 显示全部楼层
本帖最后由 sieben 于 2011-10-12 10:48 编辑

1,你没有给出全部代码,看上去你给出的这部分代码是没有问题的(但或许前后有问题,甚至这些代码根本没有执行);
2,你的代码里面是将实体添加到.CurrentSpaceId,也就是说可能是添加到模型空间,也可能是添加到图纸空间
3,使用Earse 命令 All来判断是否添加了新实体(zoom不保险,另外建议在新图纸);
4,在你的函数里捕捉异常,在前后添加一些提示看你的函数正常走完了没有.
发表于 2011-10-13 20:22 | 显示全部楼层
文档没有加锁,CAD应该会崩溃吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-4 08:34 , Processed in 0.249190 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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