乐筑天下

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

[编程交流] 创建弧长尺寸时出错

[复制链接]

3

主题

7

帖子

4

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 22:06:45 | 显示全部楼层 |阅读模式
我正在用VB写一个项目。net中,我在多段线的每一段上放置了一些尺寸,一切都很顺利,直到我尝试为曲线段声明一个弧尺寸。
 
例如,我得到:
Dim linearDim作为新的对齐尺寸
Dim radDim作为新的RadialDimension
Dim ANGLE Dim As New LineAngularDimension2
 
这些都很好,我能够创建维度并将其放置在需要的地方。但当我这么做的时候:
 
Dim arcDim作为新的ArcDimension
 
它导致以下错误-错误1重载解析失败,因为没有可访问的“New”接受此数量的参数。
 
这是我第一次在中使用维度。我被难住了。我在文档中没有看到任何会导致弧长维度的处理与其他维度有任何不同的地方。有什么想法吗?
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 22:43:04 | 显示全部楼层
 
我认为您收到了这个错误,因为您没有向构造函数提供任何参数;例子:
 
  1. Imports Autodesk.AutoCAD.Runtime
  2. Imports Autodesk.AutoCAD.ApplicationServices
  3. Imports Autodesk.AutoCAD.DatabaseServices
  4. Imports Autodesk.AutoCAD.Geometry
  5. <CommandMethod("CreateArcLengthDimension")> _
  6. Public Sub CreateArcLengthDimension()
  7.    '' Get the current database
  8.    Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument
  9.    Dim acCurDb As Database = acDoc.Database
  10.    '' Start a transaction
  11.    Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()
  12.        '' Open the Block table for read
  13.        Dim acBlkTbl As BlockTable
  14.        acBlkTbl = acTrans.GetObject(acCurDb.BlockTableId, _
  15.                                     OpenMode.ForRead)
  16.        '' Open the Block table record Model space for write
  17.        Dim acBlkTblRec As BlockTableRecord
  18.        acBlkTblRec = acTrans.GetObject(acBlkTbl(BlockTableRecord.ModelSpace), _
  19.                                        OpenMode.ForWrite)
  20.        '' Create an arc length dimension
  21.        Using acArcDim As ArcDimension = New ArcDimension([color="red"]New Point3d(4.5, 1.5, 0), _
  22.                                                          New Point3d(8, 4.25, 0), _
  23.                                                          New Point3d(0, 2, 0), _
  24.                                                          New Point3d(5, 7, 0), _
  25.                                                          "<>", _
  26.                                                          acCurDb.Dimstyle[/color])
  27.            '' Add the new object to Model space and the transaction
  28.            acBlkTblRec.AppendEntity(acArcDim)
  29.            acTrans.AddNewlyCreatedDBObject(acArcDim, True)
  30.        End Using
  31.        '' Commit the changes and dispose of the transaction
  32.        acTrans.Commit()
  33.    End Using
  34. End Sub

 
 
 
干杯
回复

使用道具 举报

3

主题

7

帖子

4

银币

初来乍到

Rank: 1

铜币
15
发表于 2022-7-6 22:55:45 | 显示全部楼层
谢谢
 
虽然我真的不明白为什么有必要对ArcDimension这样做,但对其他维度却没有必要。在所有其他维度类型中,我首先声明它们,然后设置值。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 23:11:19 | 显示全部楼层
 
不客气;我很乐意帮忙。
 
我能告诉你的就是AutoCAD完整性的一致性。NET API不是它应该是的,Visual Studio的intellisense将在编码时显示可用的构造函数重载。。。例如,比较AlignedDimension类型的2个构造函数重载中的1个。
 
此外,您可以将光标放在任何符号内,然后点击F12查看相同符号的元数据。
 
干杯
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 08:38 , Processed in 0.718327 second(s), 60 queries .

© 2020-2025 乐筑天下

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