将ObjectIdCollection转换为Autodesk.AutoCAD.EditorInput.SelectionSet

... ...

 acObjIdColl.Remove(id_objectid))


 Dim bset As List(Of ObjectId) = New List(Of ObjectId)
  For Each ids As ObjectId In acObjIdColl
             bset.Add(ids)
  Next
  ss = SelectionSet.FromObjectIds(bset.ToArray)  '去除不相关对象后的选择集

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要向VB.NET CAD中的图形填充图案,可以使用以下步骤: 1. 在CAD中创建一个闭合的多边形或区域,该区域将用于填充图案。 2. 选择填充工具,然后在CAD中选择图案。 3. 选择要填充的区域,然后应用填充。 在VB.NET中,可以使用CAD的API来实现这些步骤。以下是一个示例代码片段: ```vb ' 获取当前文档和数据库的对象 Dim doc As Document = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument Dim db As Database = doc.Database ' 开始事务 Using trans As Transaction = db.TransactionManager.StartTransaction() ' 获取当前空间 Dim space As BlockTableRecord = trans.GetObject(db.CurrentSpaceId, OpenMode.ForWrite) ' 创建一个多边形 Dim poly As New Polyline() poly.AddVertexAt(0, New Point2d(0, 0), 0, 0, 0) poly.AddVertexAt(1, New Point2d(10, 0), 0, 0, 0) poly.AddVertexAt(2, New Point2d(10, 10), 0, 0, 0) poly.AddVertexAt(3, New Point2d(0, 10), 0, 0, 0) poly.Closed = True ' 添加多边形到空间 space.AppendEntity(poly) trans.AddNewlyCreatedDBObject(poly, True) ' 获取填充工具和图案 Dim hatch As Hatch = New Hatch() hatch.SetHatchPattern(HatchPatternType.PreDefined, "ANSI31") hatch.Associative = False ' 添加填充到空间 space.AppendEntity(hatch) trans.AddNewlyCreatedDBObject(hatch, True) ' 添加多边形到填充 hatch.AppendLoop(HatchLoopTypes.Default, New ObjectIdCollection({poly.ObjectId})) ' 应用填充 hatch.EvaluateHatch(True) ' 提交事务 trans.Commit() End Using ``` 这个例子创建了一个简单的多边形,然后使用ANSI31图案填充该区域。您可以根据需要更改多边形的顶点和图案类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值