引子——
距离上次的盈建科二次开发文章不知不觉已经过去了一年有余,小编不得不说一句“这时间过的也太快了吧!”在身边一切恍然将要步入正常节奏的时候,已经接近年底了。时间这东西,还真是擅长从指缝中溜走啊。
当然,在这段时间里小编我也没闲着,工作之余也抓了不少鱼,感慨的话就少说,直接进入正题吧。
前段时间听说另一款我们常用的结构设计软件PKPM也开放SQLite数据库了,准确的来说是9月2日发布的数据接口,文件后缀.JWD。当然,文件后缀名字叫什么无所谓,只要他是SQLite数据库就能直接按数据库标准来操作,既然如此,那我们就来拿起键盘鼠标,一起探索这PKPM的SQLite接口又是怎么样一番天地吧!
随便打开一个PKPM工程,SATWE或者PMSAP都行,左上角直接
![e8e3d5142be353ba2c65844334251694.png](https://i-blog.csdnimg.cn/blog_migrate/def13475a53edcc7426f26a445ca0fe8.jpeg)
等待程序模型导出完毕之后,打开我们熟悉的SQLiteSpy或者DB Browser for SQLite,直接打开新生成的.jwd文件,然后我们就可以看到其中的数据表内容(小编这里使用的是SQLiteSpy,如果大家对这个软件的使用方法和一些数据库的基础应用有疑惑,欢迎温习公众号的这两篇文章“盈建科,二次开发”、“DB Browser for SQlite-盈建科的另类解法”)。
![72137b6ddbc5b9cf0425a7fb8bb6b96e.png](https://i-blog.csdnimg.cn/blog_migrate/4a2037047c5aac8ba6c66665bb3a727e.jpeg)
原来,PKPM的jwd数据库中格式与盈建科的ydb数据表格式的含义都可以很容易对应起来!这下方便了,之前ydb那一套直接搬过来就可以使用,仅需把数据库SELECT…FROM…命令中的表头的tbl前缀改成pkpm即可成功读取pkpm的数据库形成三维模型了!让我们来试试看。
祭出我们熟悉的Rhino+Grasshopper经典组合,直接上C#电池,添加System.Data.SQLite引用,把原来读取ydb中节点的代码仔细修改(其实仅需改图中红框一处,然后Data Source填成对应的.jwd文件)之后,果然结果喜人,直接读取成功
![00cba0089fed62b5fc43832c18faf406.png](https://i-blog.csdnimg.cn/blog_migrate/e7553824160776b7c90c3c5e747af85e.jpeg)
![368ee3953d04b960e2a8ba7dbb7e6ce8.png](https://i-blog.csdnimg.cn/blog_migrate/a92a12973704733f1256bcd5725b24f8.jpeg)
![63e9776472c73b056275849c61c1046f.png](https://i-blog.csdnimg.cn/blog_migrate/3547d8a7d66eaf14ebd15862bd2af0b8.jpeg)