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\ ...
随机推荐
- Tomcat配置JNDI
JNDI是什么?使用JNDI有什么好处? JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之一. 我个人对j ...
- 使用fastjson的parseObject方法将json字符串转换成Map 或者List
fastjson 转换成map HashMap<String,String> map = JSON.parseObject(jsonStr,new TypeReference<Has ...
- qt5--数据类型转换
QString-->Char* str.toUtf8().data() pointf=QPointF(point); //将QPoint转换为QPointF point ...
- 2017noip总结
day0 酒店位置很好,旁边就是玉树公园,3公里处还有万达广场: 晚上去万达吃喝玩乐, 不过,打车等了好久,手机还没电了. 同时水杯还在广州扎根了...(暗示后文悲惨结局) day1 8:30 监考老 ...
- 【Wince-DataTable填充ListView】DataTable的数据填充到ListView控件,适用.Net2.0
在开发WinCE6.0程序的时候,要把DataTable的数据显示到ListView控件上,无法使用绑定, 只能使用循环遍历. 思路:外循环遍历行,内循环遍历列 //DataTable:dt2 //L ...
- netfromwork4.5 迁移到netcore 遇到踩坑
https://weblogs.asp.net/ricardoperes/using-mef-in-net-core 可以用https://www.bbsmax.com/A/xl56bpv45r/ 里 ...
- SpringBoot项目构建、测试、热部署、配置原理、执行流程
SpringBoot项目构建.测试.热部署.配置原理.执行流程 一.项目构建 二.测试和热部署 三.配置原理 四.执行流程
- 25. ClustrixDB 使用sierra_stats导出概率分布
ClustrixDB提供了导出概率分布(PDs)的能力,这可以与模式(DDL)一起用于调查查询的性能.通常,这个过程是在Clustrix支持请求时执行的.下面的部分概述了如何使用python脚本sie ...
- jquery visible 选择器 语法
jquery visible 选择器 语法 作用::visible 选择器选取每个当前是可见的元素.除以下几种情况之外的元素即是可见元素:设置为 display:none type="h ...
- rm:删除文件或目录
在使用 rm 命令删除文件或目录时,系统不会产生任何提示信息.此命令的基本格式为:rm[选项] 文件或目录 选项: -f:强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直 ...