关于ObjectArx区域另存为问题

区域另存为涉及很多地方,如出图等,以前一直有个误区就是利用Trim来做,搜集了大量关于Object

arx裁剪的资料,但是都没有做出来,后来再做一个项目是偶然发现利用database就可以简单的把区域内的图形存出来。具体思路是:

  1. 用区域选择并保存选择集,代码如下:PromptSelectionResult per1 = ed.SelectCrossingPolygon(CADhelpercs.LineToPoint(line));
                                        ObjectIdCollection idc = new ObjectIdCollection();


                                        foreach (var item in per1.Value.GetObjectIds())
                                        {
                                            idc.Add(item);
                                        }
  2. 利用数据database把选出来的数据另存出来即可,代码如下: Database ndb = db.Wblock(idc, line.StartPoint);




                                        ndb.SaveAs(sfd.SelectedPath + "\\" + name, DwgVersion.AC1800);
  3. 这里面有个重要的东西就是要关闭输入,不然存出来的dwg没有数据;
另外在我搜索Trim资料时,有一段代码一直实现不了,很多人可能和我一样,就是这段代码 Tools.RunCommand("TRIM", cutBox.ObjectId, "", "F", p1, p2, "", "");很多人引用了这段代码没有告诉出处,其实要实现这段代码需要下载一个库:DotNetARX.dll,版本尽量高一点,不然也没有这个方法,希望可以帮助到你们
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值