Bentley Communities
Bentley Communities
  • Site
  • User
  • Site
  • Search
  • User
Bentley 中国优先社区
  • Welcome to Bentley Communities
  • Bentley's Communities
  • Bentley 中国优先社区
  • Cancel
Bentley 中国优先社区
技术资料库 项类型和Excel的组合使用(Using ItemType and Excel)
    • Sign In
    Bentley 中国优先社区 requires membership for participation - click to join
    • -Bentley 中文技术资料库
      • +AutoPIPE
      • +Bentley Navigator
      • +Bentley Substation
      • +Bentley 道路与场地设计
      • +BRCM
      • +BridgeMasterModeler/OpenBridgeModeler
      • +i-model / DgnDb
      • +LumenRT/ContextCapture
      • -MicroStation
        • +01-常见问题解答
        • +02-培训资料
        • +03-软件安装与配置
        • +04-图形用户界面
        • +05-辅助绘图
        • +06-二维绘图
        • +07-三维建模
        • +08-渲染和动画
        • +09-打印
        • +10-元素选择和操作/测量
        • +11-单元/组/图案化
        • -12-文字/标注/表格/报表
          • CE版本的文字输入框-无法输入文字
          • CONNECT版中插入输入数据域(EDF)
          • CONNECT版本-自动获取元素属性放置标签(Label)
          • Connect版本中的Place Callout
          • Item Type中的实例数据无法从Excel导入成功?
          • ItemType-Expression的应用例子
          • Label Coordinate(坐标标注)工具简介
          • MicroStation里的字体
          • MSCE版的Properties窗口中将元素的标签名字显示成Item的标签名字
          • MS_RTCONFIG参数变量详解
          • Text的WordProcessor输入框报错
          • [MSCE]为什么DGN转换成DWG后RSC字体没有正确转换成相应的SHX字体
          • 【MSCE】DGN转换成DWG文件后找不到使用的RSC字体生成的SHX字体
          • 使用Batch Process批量替换文字
          • 使用Microstation如何批量修改已添加Itemtype元素的属性
          • 使用SHX字体显示中文问题
          • 关于Font Utilities工具说明
          • 关于制作字体的一个问题
          • 创建带有弧形符号的弧长标注
          • 利用Import Coordinate工具批量导入文本
          • 利用报表功能将单元库中的单元名导出到Excel中
          • 在MSCE中创建Item属性和元素几何属性的复合报表
          • 在输入的文字中关联图形或模型的属性信息
          • 堆叠分数的输入与修改
          • 如何创建关于单元位置的报表且使位置坐标分列表示?
          • 如何发现失去关联的Dimension元素
          • 如何在Microstation Connect中创建和使用表格模板
          • 如何在Microstation Connect中创建属性标注
          • 如何在Microstation Connect中对元素或属性创建报表
          • 如何在Microstation Connect中插入表格元素
          • 如何在报表中对Graphic Cell(图形单元)统计时忽略Orphan Cells(孤立单元)?
          • 如何在放置Note工具中使用cell作为terminator?
          • 如何将一个Dimension元素的所有属性赋给另一个Dimension元素
          • 如何将失去关联的Dimension元素重新关联
          • 如何更改已放置的没有使用标注样式的标注元素的属性
          • 如何替换文字的字体(Font Mapping)
          • 如何设置文字不随视图的旋转而变化
          • 如何读取另一个DGN中包含的文本样式?
          • 将Tag元素转换成Text元素
          • 将Text Node转换成Text元素
          • 将Text转换成Text Node元素
          • 怎样在标注圆或者弧的直径的时候加入引线
          • 批量的在同一位置放置文字
          • 批量置换多个DGN文件中的相同文字
          • 控制文字中上下标的大小
          • 放置表格元素后,可以做哪些格式上的修改?
          • 文字的空格部分变成分数显示的问题
          • 文本样式对话框中的图标含义
          • 让MicroStation更好地支持中文
          • 设置相同长度的尺寸标注延伸线
          • 输入特殊符号
          • 重新定义缺失字体的默认替代字体
          • 键入命令设置文字样式和标注样式为(none)
          • 项类型和Excel的组合使用(Using ItemType and Excel)
          • 项类型定义中将中文字符串对应到Unicode码
          • 高程标注(Ordinate Dimensioning)
        • +13-自定义线型和多线
        • +14-单位和坐标系
        • +15-模型与参考文件
        • +16-视图和层
        • +17-动态视图和组图
        • +18-光栅/点云/实景
        • +19-DGN/DWG及格式转换
        • +20-实用工具
        • +21-二次开发
        • +22-其它
        • +23-MicroStation与iTwin交互
        • +24- Learning Tips
      • +MOSES
      • +OpenBridge
      • +OpenBuildings Designer
      • +OpenFlows
      • +OpenPlant
      • +OpenPlant Electrical CCK
      • Plaxis 地质分析
      • +ProjectWise
      • +ProStructures
      • +SACS
      • +STAAD.Pro
      • +SYNCHRO Pro
      • 中国优先产品汇总
      • +其 它
      • +建筑设计之思考(赵大师专作)
      • +桥梁大师<BridgeMaster>
      • +现浇箱梁
      • +软件激活及授权
    • +iTwin 数字孪生平台
    • Bentley二次开发资料库
    • +常用产品离线安装包分享 [截止到2021年9月]
    • +常见问题汇总
    • Bentley-Learn 官方教学平台-使用方法
    • +中国优先社区使用指南
    • +Bentley在线视频资源精选
    • +服务合作伙伴计划

     
     Questions about this article, topic, or product? Click here. 

    项类型和Excel的组合使用(Using ItemType and Excel)

    【版本要求】:MicroStation CONNECT Edition Update16及以上

    【文章难度】:中高级别 (本文章中对一些基本操作没有写出详细步骤。如果在操作过程中遇到问题,欢迎在此添加评论或到优先社区设计平台子论坛发帖提问)

    MicroStation CONNECT Edition引入了令人激动的自定义属性功能——项类型(ItemType),通过它我们能定义任意的业务属性框架(Schema),然后填充以具体的值——项(Item)后就可以挂接到任何类型的几何元素上了。从而实现几何+属性的BIM之基本目标。

    在设计项类型的属性时,我们支持值的一个选择列表(Picklist),该列表可以定义在当前的DGN文件中,也可以定义在一个DGNLIB库中,甚至可以定义在一个Excel文件中。在对几何元素赋整体多个属性时,当我们选择了一个属性后,其他相关属性还能直接从Excel中取得对应的值。这样,可以大大加快我们对几何元素添加业务属性的工作。下面以一个具体实例讲解详细的操作步骤:

    1、在文件夹C:\ProgramData\Bentley\MicroStation CONNECT Edition\Configuration\Organization\Data下创建MyPicklist.xlsx。为简单起见,该Excel的列名都采用了英文,当然,使用中文也是没有任何问题的。

     MyPicklist.xlsx

    2、定义配置变量ITEMTYPE_LOOKUP指向$(_USTN_ORGANIZATION)data\MyPicklist.xlsx。这里我们借用了系统的隐藏配置变量_USTN_ORGANIZATION以简化路径的写法,同时还能适应MSCE安装在不同位置的情况。【注】:配置变量ITEMTYPE_PICKLIST_EXCELPATH仅能控制Picklist的选取,无法控制后期LookUp函数的查找,因此在此一定要选用ITEMTYPE_LOOPUP配置变量,该变量两个功能都具备。

    3、创建一个项类型库MyLib,在其下创建一个项类型MyItemType,然后再创建三个属性:门编号、厂家、材质。

    4、将“门编号”属性的选择列表选项下的来源设置为Excel,再点击其设置后按钮就能自动设置到我们MyPicklist.xlsx的sheet1中的第一列了。如下图所示。

    5、此时一定要点击项类型对话框左上角的保存图标保存一下当前的项类型库定义,并重新启动MSCE。否则接下来的步骤中LoopUp.GetEntry函数有可能不能自动带出中文对应的Unicode编码。

    6、对MyItemType中的其他两个属性(厂家和材质)定义表达式LoopUp.GetEntry,使得用户选第一个属性时自动从Excel文件中带出第二和第三个属性的值。这个复杂的表达式可以从表达式创建器的右侧自动选择后构成。因为我们使用了中文的项类型属性,因此,在表达式中会出现__xXXXX__这样的Unicode编码,这种编码靠我们自己是很难输入正确的。好在有右侧的选择列表供我们使用。

    这一步的操作细节比较多,请看如下短视频获得帮助:

    Play this video

    LookUp.GetEntry函数的含义是:

    • GetEntry括号中的第一个字段(这里是"Sheet1")表示从Excel的哪个工作表中取数据(当然,配置变量ITEMTYPE_LOOKUP指定了Excel的文件位置);
    • GetEntry括号中的第二个字段(这里是"Number")表示到Sheet1中去找哪一列中的数据;
    • GetEntry括号中的第三个字段(这里是this.__x95E8____x7F16____x53F7__)表示该列具体的值,二和三两个字段配合就定位到了哪一行。本来这里我们想写成this.门编号,但由于EC系统中不允许出现非英文(甚至空格也不允许)的属性内部名,所以,系统自动为我们生成了对应的Unicode编码格式。其中的__x95E8__对应“门”,__x7F16__对应“编”,__x53F7__对应“号”。
    • 通过定位Excel文件、Excel工作表、Excel列和该列具体的值我们拿到了一个Entry(可以理解成一个Excel的行),然后用.Vendor或.Material的格式取得该Excel行中对应列的值。

    【知识扩展】:在输入LookUp.GetEntry表达式时,对于中文名称的属性,如果您右侧不会出现方便的选项(很有可能是您没有操作第5步的保存导致的),那我们如何知道中文字符串对应的Unicode编码呢?下面介绍一个查找的方法:

    ① 在命令键入栏输入ECX Schema Export将当前DGN中的所有ECSchema(ItemType是ECSchema的一种)导出到磁盘的某个文件夹下。如下图所示:

    ② 到这个文件夹下找到自己ItemType对应的ECSchema.xml文件(对于该例子,就是DgnCustomItemTypes_MyLib.01.00.ecschema.xml)。我们能发现ECSchema.xml文件名的规律是:DgnCustomItemTypes_我们定义的ItemType库名称.01.00.ecschema.xml。用记事本打开这个文件,能找到中文属性名对应的Unicode编码,如下图所示:

    7、在DGN中做测试,选择门编号前状态如下:

    选择门编号为001后状态如下。能看到厂家和材质两个属性自动填充了。

    测试用DGN如下,供您参考。

    ItemType&Excel.dgn

    执行效果演示如下:

    Play this video

    感谢您的阅读,欢迎批评指正。

    • Share
    • History
    • More
    • Cancel
    • Yongan.Fu Created by Bentley Colleague Yongan.Fu
    • When: Fri, Dec 17 2021 5:55 AM
    • Yongan.Fu Last revision by Bentley Colleague Yongan.Fu
    • When: Mon, Jun 20 2022 9:53 PM
    • Revisions: 7
    • Comments: 0
    • Sign in to reply
    Recommended
    Related
    Communities
    • Home
    • Getting Started
    • Community Central
    • Products
    • Support
    • Secure File Upload
    • Feedback
    Support and Services
    • Home
    • Product Support
    • Downloads
    • Subscription Services Portal
    Training and Learning
    • Home
    • About Bentley Institute
    • My Learning History
    • Reference Books
    Social Media
    •    LinkedIn
    •    Facebook
    •    Twitter
    •    YouTube
    •    RSS Feed
    •    Email

    © 2023 Bentley Systems, Incorporated  |  Contact Us  |  Privacy |  Terms of Use  |  Cookies