NavisWorks连接外部数据库,为模型附加属性
可以直接从Navisworks 文件连接到外部数据库,并在场景中的对象与数据库表中的字段之间创建链接以引入额外特性。
1.连接mdb数据库

新建数据连接
单击“新建”按钮,新建数据连接,输入一个名称,ccc,再选择ODBC驱动类型:mdb数据库


------------------这里的Database1.mdb内容如下:

点击确定,会在新建连接窗口中的连接栏显示连接字符串,这就是普通的ODBC数据库连接串。

----------------------
以下蓝字是帮助中的内容,很有用:
如果要选择的数据库具有特定名称(例如 test.mdb)并且该名称始终位于模型文件(位于生成的 NWD/NWF 而不是原始 NWD/NWF 中)旁边,请键入:DBQ=%pushpath(%poppath(%currentpath),"test.mdb"); DRIVER={Microsoft Access Driver (*.mdb)}; 
如果要选择的数据库与原始模型文件(例如 AutoPlant)同名,请键入:DBQ=%join(%removeext(%removepath(%sourcepath)),".mdb"); DRIVER={Microsoft Access Driver (*.mdb)};
指定要查询的数据库中的表: 
在“SQL 语句”字段中,在 SELECT 之后单击,然后输入选择语句,例如:SELECT * FROM tblBoilerData WHERE "NWUniqueID" = %prop("Entity Handle", "Value");
此语句指示 Autodesk Navisworks 从 tblBoilerData 表中选择所有列,同时要求名为 NWUniqueID 的列与名为 Entity Handle/Value 的类别/特性对匹配。
-------------------------------
设置特性字段
双击“字段名称”字段,然后键入数据库列的名称aaa和bbb。
输入“显示名称”,将会显示在特性对话框中,它可以与字段名称不一样。

配置SQL语句
SELECT * FROM tab1 WHERE aaa = %intprop("LcOaNode", "LcOaSceneBaseUserName");
tab1是数据库表名
aaa是主键的列名
LcOaNode和LcOaSceneBaseUserName是两个内部名称,要显示内部名称,可以在选项中设置:

设置完,特性对话框就会变成这样,显示内部名:

那么这句SQL的意思就是:
SELECT * FROM tab1 WHERE aaa = %intprop("LcOaNode", "LcOaSceneBaseUserName");
当选中的对象,它的某一个属性值(这里是项目LcOaNode中的名称LcOaSceneBaseUserName),等于数据库中aaa的值时,
将在特性对话框中显示刚才设置的列值(两列aaa和bbb)
最终效果
选择一个模型,由于我们的数据库中只有两个值,我们选择名称为/1MZ_FWD0001/B1的模型,
此时属性中会出现我们定义的自定义特性:

2.连接EXCEL文件
与连接access数据类似。
连接数据库的那一步选择:Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)
再指定EXCEL文件的位置。
在这里,我们的EXCEL文件内容为:设置的自定义特性字段名称为nnn,qqq,xxx

SQL语句设置时,需要注意:
1),首行内容为字段名字
2),表名为方括号括起来的以$符号结尾Sheet名如: [Sheet1$]
SELECT * from [Sheet1$] where nnn = %intprop("LcOaNode", "LcOaSceneBaseUserName");
最终效果
选择名字为/1MZ_FWD0001/B1的模型,属性对话框如下:

可以用数据库完成很多有意思的事。
NavisWorks连接外部数据库,为模型附加属性的更多相关文章
- Grails连接外部数据库注意事项Could not determine Hibernate dialect for database name [Oracle]!
		
初次使用Grails时,使用其内置数据库,一直不会出错,但迁移到外部数据库时会出错Could not determine Hibernate dialect for database name [Or ...
 - odoo连接外部数据库
		
odoo框架默认的访问时Postgres数据库,但在实际的应用场景中,不可避免的使用到其他数据库,所以有必要研究如何连接其他第三方数据库,这里分享下OCA的相关模块,具体的源代码在这里. 我将第三方的 ...
 - 如何从40亿整数中找到不存在的一个  webservice  Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库  WPF实战案例-打印  RabbitMQ与.net core(五) topic类型 与 headers类型 的Exchange
		
如何从40亿整数中找到不存在的一个 前言 给定一个最多包含40亿个随机排列的32位的顺序整数的顺序文件,找出一个不在文件中的32位整数.(在文件中至少确实一个这样的数-为什么?).在具有足够内存的情况 ...
 - 《Entity Framework 6 Recipes》翻译系列  (4) -----第二章 实体数据建模基础之从已存在的数据库创建模型
		
不知道对EF感兴趣的并不多,还是我翻译有问题(如果是,恳请你指正),通过前几篇的反馈,阅读这个系列的人不多.不要这事到最后成了吃不讨好的事就麻烦了,废话就到这里,直奔主题. 2-2 从已存在的数据库创 ...
 - 继承IDbConnection连接不同数据库
		
继承IDbConnection连接不同数据库 本方案可实现仅修改app.config即可连接不同数据库,但是设计数据库时需要注意各种数据库的数据类型是不一样的. 各种不同数据库的Connection. ...
 - ADO.NET连接到数据库(oracle)
		
本文摘抄于http://www.cnblogs.com/luluping/archive/2009/10/13/1582737.html,如有侵权,请联系博主. OracleConnection 对象 ...
 - visualC/C++连接MySql数据库
		
vs连接数据库其实就是将mysql数据库.h头文件接口.lib链接文件和dll执行文件加入到项目中.下面是配置如何加入. 转于http://www.cnblogs.com/justinzhang/ar ...
 - Java连接MySQL数据库及简单操作代码
		
1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...
 - 一个非常标准的Java连接Oracle数据库的示例代码
		
最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择“D:\Oracle\app\ ...
 
随机推荐
- 渗透神器CobaltStrike 3.1.2 去后门破解版 & Windows版TeamServer【转】
			
转自我八师傅博客 CS简介 Cobalt Strike(简称CS)是全球黑客公认一款非常优秀的渗透测试神器,以metasploit为基础的GUI的框架式渗透工具,集成了传统远控功能(远程桌面VNC.键 ...
 - 12、Nginx代理缓存服务
			
通常情况下缓存是用来减少后端压力, 将压力尽可能的往前推, 减少后端压力,提高网站并发延时 1.缓存常见类型 服务端缓存 代理缓存, 获取服务端内容进行缓存 客户端浏览器缓存 Nginx代理缓存原理 ...
 - Android单元测试之google官例CalculatorTest
			
执行测试用例类CalculatorTest 设置genymotion可见: Android Studio界面中,依次单击菜单项 View >Toolbar.即可见改工具按钮. 启动gen ...
 - PAT Basic 1019 数字黑洞 (20 分)
			
给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有“数字黑洞 ...
 - Vue自行封装常用组件-弹出框
			
使用方法: 1.在父组件中引入"box.vue" //import popUpBox from "./box.vue"; 2.在父组件中注册 popUpBo ...
 - SQLAlchemy中Model.query和session.query(Model)的区别
			
我们使用Flask 0.11.1,Flask-SQLAlchemy 2.1使用PostgreSQL作为DBMS. 示例使用以下代码更新数据库中的数据: entry = Entry.query.get( ...
 - mysqldump关于--set-gtid-purged=OFF的使用
			
数据库的模式中我开启了gtid: mysql> show variables like '%gtid%'; +----------------------------------+------- ...
 - 2017 趋势科技 研发4.26(offer)
			
南京趋势科技外企(offer) 笔试 在华科线下笔试的,推荐多参加线下笔试,因为相对难度会低一些,好进一些. 当时笔试的估计只有60几个,然后选择题感觉有的不会,编程简单. 第二天去面试的时候,hr小 ...
 - document.writeln绑定数据 --点击跳转添加样式
			
document.writeln(" "); document.writeln(" "); document.writeln(" "); d ...
 - C# 转json
			
#region MyRegion StringBuilder sb = new StringBuilder(); sb.Append("{"); foreach (System.R ...