可以直接从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连接外部数据库,为模型附加属性的更多相关文章

  1. Grails连接外部数据库注意事项Could not determine Hibernate dialect for database name [Oracle]!

    初次使用Grails时,使用其内置数据库,一直不会出错,但迁移到外部数据库时会出错Could not determine Hibernate dialect for database name [Or ...

  2. odoo连接外部数据库

    odoo框架默认的访问时Postgres数据库,但在实际的应用场景中,不可避免的使用到其他数据库,所以有必要研究如何连接其他第三方数据库,这里分享下OCA的相关模块,具体的源代码在这里. 我将第三方的 ...

  3. 如何从40亿整数中找到不存在的一个 webservice Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库 WPF实战案例-打印 RabbitMQ与.net core(五) topic类型 与 headers类型 的Exchange

    如何从40亿整数中找到不存在的一个 前言 给定一个最多包含40亿个随机排列的32位的顺序整数的顺序文件,找出一个不在文件中的32位整数.(在文件中至少确实一个这样的数-为什么?).在具有足够内存的情况 ...

  4. 《Entity Framework 6 Recipes》翻译系列 (4) -----第二章 实体数据建模基础之从已存在的数据库创建模型

    不知道对EF感兴趣的并不多,还是我翻译有问题(如果是,恳请你指正),通过前几篇的反馈,阅读这个系列的人不多.不要这事到最后成了吃不讨好的事就麻烦了,废话就到这里,直奔主题. 2-2 从已存在的数据库创 ...

  5. 继承IDbConnection连接不同数据库

    继承IDbConnection连接不同数据库 本方案可实现仅修改app.config即可连接不同数据库,但是设计数据库时需要注意各种数据库的数据类型是不一样的. 各种不同数据库的Connection. ...

  6. ADO.NET连接到数据库(oracle)

    本文摘抄于http://www.cnblogs.com/luluping/archive/2009/10/13/1582737.html,如有侵权,请联系博主. OracleConnection 对象 ...

  7. visualC/C++连接MySql数据库

    vs连接数据库其实就是将mysql数据库.h头文件接口.lib链接文件和dll执行文件加入到项目中.下面是配置如何加入. 转于http://www.cnblogs.com/justinzhang/ar ...

  8. Java连接MySQL数据库及简单操作代码

    1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...

  9. 一个非常标准的Java连接Oracle数据库的示例代码

    最基本的Oracle数据库连接代码(只针对Oracle11g): 1.右键项目->构建路径->配置构建路径,选择第三项“库”,然后点击“添加外部Jar”,选择“D:\Oracle\app\ ...

随机推荐

  1. Swift(三)基本运算符

    Swift支持大部分标准C语言的运算符,并且对许多特性进行改进来减少常规编码的错误.除了支持基本运算符外,Swift还提供了2个特殊的运算符,分别是:溢出运算符和区间运算符 首先看下基本运算符 imp ...

  2. mysql 命令行登录详解

    mysql -?或者是mysql --help或者是mysql -I显示mysql命令的选项. #最全的mysql登录方式: mysql -hIP -uUSENME -pPWD -PPORT DBNA ...

  3. kubesphere集群搭建(多节点)

    kubesphere官网:https://kubesphere.io/docs/advanced-v2.0/zh-CN/introduction/intro/ 一.准备环境 1.准备服务器 maste ...

  4. 月薪 30K Java 程序员,需要掌握哪些技术?

    转载自:Java3y 1-5年的Java程序员,薪资区间大致是在15-25K左右,那有没有可能提前达到30K的薪资呢?有人说这只能是大企业或者互联网企业工程师才能拿到.也许是的,小公司或者非互联网企业 ...

  5. 模块之-random(随机模块)

    模块之-random(随机模块) random #shuffle 洗牌功能 >>> i=[1,2,3,4,5,6] >>> random.shuffle(i) &g ...

  6. Java多线程1:使用多线程的几种方式以及对比

    前言 Java多线程的使用有三种方法:继承Thread类.实现Runnable接口和使用Callable和Future创建线程,本文将对这三种方法一一进行介绍. 1.继承Thread类 实现方式很简单 ...

  7. 构建的Web应用界面不够好看?快试试最新的Kendo UI R3 2019

    通过70多个可自定义的UI组件,Kendo UI可以创建数据丰富的桌面.平板和移动Web应用程序.通过响应式的布局.强大的数据绑定.跨浏览器兼容性和即时使用的主题,Kendo UI将开发时间加快了50 ...

  8. SpringMVC优雅的获取HttpSevletRequest及HttpServletResponse简录

    https://cloud.tencent.com/developer/article/1403947 通常情况下,SpringMVC可以通过入参的方式绑定HttpServletRequest和Htt ...

  9. nginx第一天

    nginx 介绍 常见的webserver(排行https://news.netcraft.com/archives/2018/) 老牌:httpd(早期叫Apache),开源,市场份额最高 微软:i ...

  10. Springboot 系列(十七)迅速使用 Spring Boot Admin 监控你的 Spring Boot 程序,支持异常邮件通知

    1. Spring Boot Admin 是什么 Spring Boot Admin 是由 codecentric 组织开发的开源项目,使用 Spring Boot Admin 可以管理和监控你的 S ...