MicroStation CE SDK Update 16发布了!

MicroStation SDK(软件开发包)团队高兴地宣布:MicroStation CONNECT版SDK Update16(U16)可供下载了!该新版本提供了如下一些增强功能。

1、概述

  • 微软Visual Studio2017专业版(或企业版)为默认工具集
  • 由于新的默认工具集要求,最好重新编译现有的MDL应用程序
  • 增量更新:API、文档和例子

2、文档

3、MicroStation开发环境(Developer Shell)

      在以下几个方面对整个环境进行了许多补充和改进:

  • 环境脚本
    • 扩展使用和处理有空格的文件/路径
    • 跨shell脚本的扩展特性和一致性
  • SDKMacros
    • 添加了许多新的搜索和便利宏。在开发环境下键入sdkmoretips可查看
  • SDKSearch
    • 更新搜索以使其在默认情况下使用Findstr RegEx模式
    • 提供区分大小写的搜索宏(宏可以在名称中使用“cs”)
    • 增强和使用标准化搜索过滤器/模式
    • 提高了搜索速度和位置
  • 减少对8.3格式的要求
    • 新的开发环境移除了大多数(如果不是全部的话)微软8.3格式要求
    • 微软8.3格式要求主要存在于:
      • Bmake(类似于GNU make-空格Bug修复)可能包含将来的更新,以提供额外的空格处理支持
      • Bmake(本机代码)应用程序仍然要求开发人员从满足以下条件之一的路径构建应用程序:
        • 为要启用的源代码驱动器和路径启用微软8.3格式,或
        • 源代码(放置或安装)在不包含空格的路径中
  • Bentley Visual Studio模板
    • 开发环境仅对这些变量强制8.3格式,以确保本机代码MDL项目可以在具有空格的路径中生成:
      • MS、MSMDE、MSMDE_OUTPUT、BMAKE_OPT (和SDKEXAMPLES)
      • 当使用或创建Visual Studio模板,该模板与智能感知连接,且该模板引用SDK包含和/或替代文件/路径位置时,请考虑使用:
        • MS(可以使用。通常不与智能感知不支持8.3格式约定选项一起使用)
        • SDKINC(支持空格并被智能感知使用)
        • SDKLIB(支持空格)
        • 任何/所有其他不使用8.3格式约定的开发环境或自定义变量也是很好的候选变量
        • Bentley Visual Studio模板可从以下网站下载:
  • MicroStationDeveloperShell.bat被更新
  • bin文件夹下更新了
    • Build.bat
    • SDKCommonEnv.bat
    • SDKMacros.bat
    • SDKPrefs.bat
    • SDKSearch.bat
    • SDKTips.txt
  • bin文件夹下新增了
    • CheckSignature.exe
    • RSign.exe
    • Toggle.bat
  • 移植工具集中更新了Migrate.bat文件
  • 更新了AssertToolset.mki

4、头文件和应用程序接口(API)

  • 增加
    • DgnGeoCoord\ExportMacros.h
    • GeoCoord\ExportMacros.h
    • TerrainModel\Core\bcDTM.h
    • TerrainModel\Core\bcDTMBaseDef.h
    • TerrainModel\Core\bcDTMClass.h
    • TerrainModel\Core\DTMDefs.h
    • TerrainModel\Core\DTMIterators.h
    • TerrainModel\ElementHandler\DTMDataRef.h
    • TerrainModel\ElementHandler\DTMElementHandlerManager.h
    • TerrainModel\ElementHandler\DTMSymbologyOverrideManager.h
    • TerrainModel\ElementHandler\TerrainModelElementHandler.h
    • TerrainModel\Formats\Formats.h
    • TerrainModel\Formats\LandXMLExporter.h
    • TerrainModel\Formats\LandXMLImporter.h
    • TerrainModel\Formats\TerrainExporter.h
    • TerrainModel\Formats\TerrainImporter.h
  • 更新
    • DgnPlatform\CustomItemType.h (Get/SetPickListSettings, Get/SetPickListSource)
    • DgnPlatform\DgnAttachment.h (allSettingsFromNamedViewRootModel)
    • DgnPlatform\DgnECInstance.h (DgnECRelationshipIterable)
    • DgnPlatform\DgnECManager.h
      • FindRelationships, GetSupportedRelationshipInfos, Register/UnRegisterPickListProvider
      • GetPickListProvderNames, GetPickListProviderDisplayLabel, IsPickListProviderExists
    • DgnPlatform\DgnECProviders.h (DgnECRelationshipInfo, DgnECRelationshipInfoVector)
    • DgnPlatform\DgnPlatform.h (IPickListProvider)
    • DgnPlatform\DgnPlatform.r.h (AllSettingsFromNamedViewRootModel)
    • DgnPlatform\DimensionStyleProps.r.h (DIMSTYLE_PROP_Terminator_SuppressLargeTerminator_BOOLINT)
    • DgnPlatform\DisplayStyleManager.h (Vue)
    • DgnPlatform\Light.h (Get/SetVolumeIntensity)
    • DgnPlatform\MaterialSettings.h (Get/SetRowSpacing, Get/SetColumnSpacing)
    • DgnPlatform\ParametricModeling.h (GetDisplayLabel)
    • DgnPlatform\TextTableHandler.h (Get/SetTableName, Get/SetTableDescription, IsTableNameExist)
    • DgnPlatform\WorkSet.h (GetProperty)
    • ECObjects\ECSchema.h (WStringKey, GetKey)
    • GeoCoord\BaseGeoCoord.h
      • BENTLEY_GEOCOORD_NAMESPACE
      • CSGeodeticTransformDef, GridFileDefinition, GetLinearTransformToECEF, ECEFFromCartesian
      • Get/SetDatum, GetDatumGridFile, DatumExtendedParametersValid, GetNetVerticalDatumCode
      • CorrectVerticalDatumToPreserveLegacyElevation, EllipsoidEnumerator, SetEPSGCode, Get/SetGridFile
      • SetEllipsoid, ExtendedParametersValid
    • GeoCoord\BaseGeoDefs.r.h (更多的错误码)
    • GeoCoord\GCSLibrary.h (CreateUserLibrary)
    • Geom\ClipPlaneSet.h (ConvexPolygonClipInsideOutside)
    • Geom\CurveDetails.h (SolidLocationDetail::FaceIndices, CurveGapOptions, Get/SetTagOption)
    • Geom\CurvePrimitive.h (CreateRegularPolygonXY)
    • Geom\CurveVector.h (CreateRegularPolygonXY)
    • Geom\GeomApi.h (SizeSize)
    • Geom\MSBsplineCurve.h (InitAkima, SegmentAkimaCurve)
    • Geom\TransformedDRange3d.h (HasAnyInside, IsAnyPointInsideClipper)
    • MdlApi\dlogids.r.h (DIALOGID_UnsignedAppWarning, TOGGLEID_UnsignedAppDoNotShow, SYNCITEM_SessionEvent_ConnectProjectChanged)
    • Mstn\MdlApi\msvec.fdf (mdlVec_linePlaneIntersect)
    • Mstn\MdlApi\MSWorkSet.h (CreateWorkSpace)
    • Mstn\MdlApi\rtypes.r.h (RTYPE_UnsignedApp)
    • Mstn\MdlApi\userpref.r.h (doNotShowAgainUnsignedApp, useStartupFile, confirmIncompatibleDatumGrid)
    • Mstn\cmdlist.r.h (CMD_REFERENCE_UPDATEFROMIMODELHUB, CMD_REFERENCE_REPAIRATTACHMENTS, CMD_FILE_DROPGLOBALORIGIN)
    • Mstn\ISessionMgr.h (IsActiveWorkSetAssociatedToCONNECTProject, IsActiveWorkSetNoWorkSet, IsActiveWorkSetAssociatedToCONNECTProjectAndDGNMode)
    • TerrainModel\Core\IDTM.h
      • DTMFenceParams, GetNumParts, GetIsPond, GetPoints, IDTMDrainage
      • GetDTMDraping, GetDTMDrainage, GetDTMContouring, GetDTMVolume, GetBoundary, CalculateSlopeArea
    • TerrainModel\TerrainModel.h (DTMFeatureEnumerator, DTMMeshEnumerator, DTMFenceOption, DTMFenceType, DTMCleanupFlags, DTMFeatureId, DTMUserTag)

5、例子

  • 新增
    • DgnEC\PickListProviderExample (本机代码 + 托管代码)
    • DgnEC\ReportContentFilter (本机代码 + 托管代码)
    • Elements\SteelMaster
    • Elements\SteelMaster\Baseline
    • Elements\SteelMaster\ExcelReaderWrapper
    • Elements\SteelMaster\steel
  • 更新
    • DgnEC\PickListExamples\ManagedExample\PickListManagedExample (参见: RENAMEPICKLISTANDSORTVALUES, SAVEWITHCHANGES)
    • DgnEC\PickListExamples\NativeExample\PickListNativeExample.cpp (参见: RenamePickListAndSortValues, SaveWithChanges)
    • Elements\ManagedToolsExample\ManagedToolsExample.cs (参考: 添加了许多事件处理程序类型示例)

6、库

  • 所有典型的API更改和二进制变动(版本号、链接时间等)

7、要求

  • 需要微软Visual Studio 2017专业版(或企业版)和默认工具集
  • 依赖的Workload(工作负荷)
  •   
    • .NET桌面开发
    • 用C++桌面开发(提供了DIA SDK)
    • 通用Windows平台开发(提供了Windows 10 SDK或下载)

8、已知和修复的问题、重大变化

  • MSCE SDK安装版本号有可能和生成版本号有微小的差别。最后一位的版本号仅仅是修饰作用,提供任何版本号都是可以接受的。
  • MSCE U16解决的问题列表:MSCE U16修复问题列表
  • 由于新的默认工具集要求,最好重新编译现有的MDL应用程序

9、发布说明

  • 建议修改桌面或开始菜单中的MicroStation SDK快捷方式为“以管理员运行”。这能保证在任何Windows保护的位置能创建和修改文件
  • MicroStation CE SDK通常会在MicroStation产品相应版本发布后的两周内发布
  • 为最大限度确保应用程序的兼容性和稳定性
    • 确保使用最新版本的MicroStation CONNECT版SDK和最匹配的MicroStation产品
    • 对于每个新的MicroStation产品和SDK更新,强烈推荐重编译现有的应用程序
  • 如果发生重大改变,MDL应用需要重新编译

10、相关资源