可以直接从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. exits 和no exits

    exists : 强调的是是否返回结果集,不要求知道返回什么, 比如:  select name from student where sex = 'm' and mark exists(select ...

  2. Android系统修改之展讯平台的Mms不能发送西班牙特殊字符ú的问题

    在测试中, 发现在发送短信的时候特殊字符ú不能发送, 但是输入框可以输入并正常显示, 查看代码之后, 发现是展讯在字符转换的时候出现的问题 frameworks/base/telephony/java ...

  3. Darknet版YOLO安装与配置

    Darknet配置和安装 1. 安装显卡驱动 首先查看一下自己的电脑需要怎样的驱动,我们可以先到 http://www.nvidia.com/Download/index.aspx 查询下我们需要的是 ...

  4. Vue基础组件

    本文章仅用作于个人学习笔记(蓝后我就可以乱写啦)复制代码 一.组件化的优点当TodoList的todo item越来越多的时候,我们应该把它拆分成一个组件进行开发,维护.组件的出现,就是为了拆分Vue ...

  5. 动画学习之Music图形绘制

    今天来实现一个类似于网易云音乐类似的动态效果,在用网易云音乐听歌时会有一个类似这样的效果,如下: 而咱们这次要实现的效果如下: music图形的绘制: 在实现动画之前先来将静态的图形绘制出来, 如下: ...

  6. 阿里云-docker安装mysql

    1.检查内核版本,必须是3.10及以上 uname ‐r 2.安装docker yum install docker 3.输入y确认安装 4.启动docker:service docker start ...

  7. postgresql 锁表查询语句

    1 查找锁表的pid select pid from pg_locks l join pg_class t on l.relation = t.oid where t.relkind = 'r' an ...

  8. Protobuffer教程

    目录 什么是protobuffer? protobuffer是如何工作的? 为什么不用xml? 1.什么是protobuffer? protobuffer是一种灵活,高效,自动化的机制,用于序列化结构 ...

  9. 三大方面,分析 to B和 to C产品的区别

    作为互联网从业者,我们经常听到to B(或2B)和to C(或2C)两个概念.to B即面向企业客户,to C即面向普通用户.只要是互联网人基本都懂知道这两个概念,但如果别人再问“to B和to C产 ...

  10. vue项目搭建步骤以及一些安装依赖包

    一. vue-cli初始化1. 全局安装 vue-clinpm install --global vue-cli2. 创建一个基于 webpack 模板的新项目vue init webpack my- ...