AutoCAD更换部件

CAD软件中,在AutoCAD Civil 3D 2018“目标映射”功能已更改,这会影响自定义部件的编写方式。此功能现在允许子部件以对象类型为目标,以及与道路关联的路线和纵断面(该道路需要定义其几何图形)。

编写自定义部件的方式有四个更改:

  1. ParamLogicalNameType中的新参数类型
  2. CorridorState中新的目标集合
  1. 现在目标是对象
  1. CalcAlignmentOffsetToThisAlignment使用程序方法已更改

ParamLogicalNameType中的新参数类型

部件可以使用偏移目标和高程目标(而不单是路线和纵断面),这些目标由ParamLogicalNameType中的新参数类型表示。如果要在部件中支持新的目标类型,则需要替换:

  • ParamLogicalNameType.Alignment使用
  • ParamLogicalNameType.OffsetTarget — 偏移目标可以是路线、要素线、测量线或者多段线
  • ParamLogicalNameType.OffsetTargetPipe —也可以管线作为偏移目标
  • ParamLogicalNameType.Profile使用
  • ParamLogicalNameType.ElevationTarget — 高程目标可以是纵断面、要素线、测量线、或者多段线
  • ParamLogicalNameType.ElevationTargetPipe —也可以管线作为高程目标

CorridorState中的新目标集合

要从CorridorState对象获取偏移和高程目标集合,请使用ParamsOffsettarget和ParamSelvationTarget,而不是ParamsAlignment和ParamsProfile。所有偏移目标(包括网络管道偏移目标)都在paramsoffsettarget中,所有高程目标(包括网络管道高程目标)都在ParamsElevationTarget中。下面是示例VB.NET子部件部分中BasicLaneTransition.vb示例的示例:

Dim oParamsLong As ParamLongCollection oParamsLong = corridorState.ParamsLong Dim oParamsOffsetTarget As ParamOffsetTargetCollection oParamsOffsetTarget = corridorState.ParamsOffsetTarget

现在目标是对象

现在目标是对象,而不是路线或纵断面D。WidthOffsetTarget是为偏移目标定义的,SlopeElevationTarget是为高程目标定义的,因此可以将目标声明为对象而不是ID。下面是示例VB.NET部件部分中BasicLaneTransition.vb的示例:

Dim offsetTarget As WidthOffsetTarget 'width or offset target offsetTarget = Nothing Dim elevationTarget As SlopeElevationTarget 'slope or elevation target elevationTarget = Nothing

对CalcAlignmentOffsetToThisAlignment()的更改

CalcAlignmentOffsetToThisAlignment()实用程序方法现在计算从该路线到偏移目标的偏移量。此方法不再返回桩号值;它现在返回与路线桩号垂直的点处偏移目标的xy坐标。

现在还可以使用SlopeElevationTarget.GetElevation ()方法直接获取高程目标上的高程,而不是使用CalcAlignmentOffsetToThisAlignment()。下面是示例VB.NET部件部分中BasicLaneTransition.vb的示例:

'获取高程目标上的高程 Try dOffsetElev = elevationTarget.GetElevation(oCurrentAlignmentId, _ corridorState.CurrentStation, Utilities.GetSide(vSide)) Catch Utilities.RecordWarning(corridorState, _ CorridorError.LogicalNameNotFound, _ "TargetHA", "BasicLaneTransition") dOffsetElev = corridorState.CurrentElevation + vWidth * vSlope End Try

为您推荐

返回顶部
首页
电子图书
视频教程
搜索
会员