乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 36|回复: 1

如何用VB.NET的ARX方法生成面域

[复制链接]

46

主题

261

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
445
发表于 2005-2-22 11:39:00 | 显示全部楼层 |阅读模式
我写了一段代码,先画一个圆,再生成面域。结果圆能画出,面域却创建失败,请各位高手看看错在哪?先谢谢了!
Imports Autodesk..ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Geometry
Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.Interop
Imports Autodesk.AutoCAD.Interop.Common
Public Class Class1
                          Public Shared Sub TestTemp()
                                                         Dim bt As BlockTable
                                                         Dim btr As BlockTableRecord
                                                         Dim CenPt As New Point3d(0, 0, 0)                                                                                                                                                 '先画一个圆
                                                         Dim CircleObj As Circle
                                                         Try
                                                                                         Dim db As Database = HostApplicationServices.WorkingDatabase
                                                                                         Dim objId As ObjectId = db.BlockTableId
                                                                                         bt = objId.Open(OpenMode.ForRead)
                                                                                         objId = bt.Item(btr.ModelSpace)
                                                                                         btr = objId.Open(OpenMode.ForWrite)
                                                                                         CircleObj = New Circle
                                                                                         CircleObj.Center = CenPt
                                                                                         CircleObj.Radius = 300
                                                                                         btr.AppendEntity(CircleObj)
                                                         Catch
                                                         Finally
                                                                                         CircleObj.Close()
                                                                                         btr.Close()
                                                                                         bt.Close()
                                                         End Try
                                                         Dim Array As DBObjectCollection = New DBObjectCollection '建立一个集合
                                                         Array.Add(CircleObj)                                                                                                                                                                                                                                                                 '将圆添加到集合中
                                                         Dim Reginobj As Region
                                                         Try
                                                                                         Dim db As Database = HostApplicationServices.WorkingDatabase
                                                                                         Dim objId As ObjectId = db.BlockTableId
                                                                                         bt = objId.Open(OpenMode.ForRead)
                                                                                         objId = bt.Item(btr.ModelSpace)
                                                                                         btr = objId.Open(OpenMode.ForWrite)
                                                                                         ReginObj = New Region
                                                                                         Region.CreateFromCurves(Array)
                                                                                         btr.AppendEntity(Reginobj)
                                                         Catch
                                                         Finally
                                                                                         Reginobj.Close()
                                                                                         btr.Close()
                                                                                         bt.Close()
                                                         End Try
                         End Sub
                 
End Class
回复

使用道具 举报

0

主题

5

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2007-4-5 16:15:00 | 显示全部楼层
Region.CreateFromCurves(Array)
返回的是dbobjectcollection类型
你的ReginObj 还是null,并没有付给它
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 07:15 , Processed in 0.409496 second(s), 67 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表