tag:blogger.com,1999:blog-21395488933431072772024-02-20T00:30:01.560-05:00Frank Wang (王立人)BIM Integration Laboratory & EpistemologyFrank Wang (王立人)http://www.blogger.com/profile/17656980640768074320noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-2139548893343107277.post-47443369500552360072011-05-16T10:24:00.001-04:002011-05-16T12:53:46.026-04:00Tekla Structures Model and MS SQL Server Synchronization<span style="font-size: x-large;"><br />
1. Executive summary</span> <br />
<div class="MsoNormal"><span lang="EN-GB">This application was developed to demonstrate capability of synchronizing Tekla Structures Models data to a commercial database such as MS SQL server or Oracle and being accessible via internet. Having model date stored in a SQL database allows one:</span></div><ul><li><span lang="EN-GB"><span style="font: 7pt "Times New Roman";"></span></span><span lang="EN-GB">To share model information remotely through web application and browser type application;</span></li>
<li><span lang="EN-GB"><span style="font: 7pt "Times New Roman";"></span></span><span lang="EN-GB">To have more developers (e.g. web developers) developing applications with model information; </span></li>
</ul><div class="MsoListParagraphCxSpLast" style="margin-left: 0in; mso-add-space: auto;"><span lang="EN-GB">This solution was not available on Tekla Extranet. If you are interested in obtaining the program or need advise on developing your own tool please feel free to contact me.</span></div><div class="MsoListParagraphCxSpLast" style="margin-left: 0in;"><br />
</div><div class="MsoListParagraphCxSpLast" style="margin-left: 0in;"><b><span lang="EN-GB">See demo videos on YouTube</span></b></div><div class="MsoListParagraphCxSpLast" style="margin-left: 0in;"><span lang="EN-GB">Part 1: <a href="http://www.youtube.com/watch?v=1Y5T1pguoxU">Synchronizing model data to SQL server </a></span></div><div class="MsoListParagraphCxSpLast" style="margin-left: 0in;"><span lang="EN-GB">Part 2: <a href="http://www.youtube.com/watch?v=ZKsXUBptT2k">Example web application to access and modify model date remotely</a></span></div><div class="MsoListParagraphCxSpLast" style="margin-left: 0in;"></div><span style="font-size: x-large;"><br />
2. Introduction</span><br />
<div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"><span lang="EN-GB">We had received requests from clients who want to have a solution where they can exchange Tekla Model information with a relational database. Although our XML export seems pretty sufficient to serve this demand but most clients still want to have a dynamic exchange capability, which is tailored to their in-house solution, rather plain XML files interchange. Clients from different segment all present similar interest for such a database solution including Steel, Precast Concrete and Contractor segments. Although ways of using a database are slightly varied from client to client, it still motivates to have a general solution for all instances and possibly specialization for each later. </span></div><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"><br />
</div><div class="MsoNormal" style="text-align: justify; text-justify: inter-ideograph;"><span lang="EN-GB">This project and prototype is meant to be an interface or platform for more Tekla users to create their own extended application by using Tekla Structures. It is not an end-product because clients will use it in different ways. A database more likely will serve as an intermediate tier for data exchange, especially for web-based applications. In our TSRELDB (Tekla Structures External Relational Database Synchronization Toolkit) prototype, we actually demonstrate how one can write Tekla model information to various external databases such as Microsoft SQL Server, Access or a plain XML file. Relational database is engine and backbone that drives the entire eCommerce, financing and ERP/MRP/MIS bushiness. </span></div><div class="MsoListParagraphCxSpLast" style="margin-left: 0in;"></div><span style="font-size: large;"><br />
2.1 DB Evolution and Trend in a Nutshell</span><br />
<div class="MsoNormal"><span lang="EN-GB">It is good to have some basic knowledge about database prior to start. The following paragraph provides a brief background in the database evolution and history. There are two common misconceptions that need to be clarified:</span></div><div class="MsoNormal"><span lang="EN-GB">The first misconception of database is directly thinking a commercialized relational database such as MS SQL Server or Oracle as the de facto term of 'Database'. In fact, database is a generic term for simple data storage. Commercial database e.g. MS SQL Server and Oracle are known as Relational Database (RELDB) where there exists another type of databases such as Object-Oriented Database (OODB) or a hybrid database system such as IBM DB2. Tekla Structures also contains a native database which is half relational and half object-oriented.</span></div><div class="MsoNormal"><span lang="EN-GB">Database is simply a storage component where you need a management system on-top to manage information and transactions. This is known as Database Management System (e.g. RELDBMS or OODBMS). It is fair to say that part of Tekla Structures role is to perform a role as a DBMS of Tekla internal database (i.e. DB1). </span></div><div class="MsoNormal"><span lang="EN-GB">Underlying database in Tekla Structures is, one of many instances, of a proprietary database system. It is hard to classify whether it is purely a RELDB or OODB since it accommodates features from both sides. This is similar to IBM DB2 database, a hybrid database system. RELDB and OODBMS were competing intensively in the 80's. Most OODBs truned into a nitch market after big companies such as Microsoft and Oracle have successfully conquered the database market in late 90's. This led to a fact that 1) SQL becomes the de-facto interface to access a relation database and 2) most business, corporations, and enterprise databases are developed in RELDB. In fact, RELDB is very good to handle business and financial data where OODB is good in managing engineering and mechanical data for example geometry. </span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><span lang="EN-GB">It is clear that RELDB will still be the mainstream database solutions in the next decade. There is a trend where most RELDB are blending OODB features back into the RELDB (e.g. conforming to SQL 3 standard) because the success of OO programming language and hierarchical information such as XML. </span></div><div class="MsoNormal"><span lang="EN-GB">In short term, it seems unavoidable to have solution to integrate Tekla Structures with a RELDB since it has been widely used in most web-based eCommerce systems and incorporated in many ERP systems today. </span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><span lang="EN-GB">The second misconception is not to think database separately to its front-end applications. Most MS Access users have this dilemma because its database is totally tied with its front-end functionality. It is the front-end application which defines the character and behavior of a product but not the database. </span></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqIv2kgEPkvf0QEx2A2-B9m98ImXU4sypbk94DZXOKp8H_EOnYOSBkdk-9YUPfg75tHn3VqOXOiQmn0UFEV2B71D4mVEt6-4uIutzdWC6Lf1KgY4j78p89gm448dJpSYK1CyrTlXTA3x8/s1600/SqlHist.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="355" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqIv2kgEPkvf0QEx2A2-B9m98ImXU4sypbk94DZXOKp8H_EOnYOSBkdk-9YUPfg75tHn3VqOXOiQmn0UFEV2B71D4mVEt6-4uIutzdWC6Lf1KgY4j78p89gm448dJpSYK1CyrTlXTA3x8/s640/SqlHist.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><span lang="EN-GB" style="font-family: "Arial Narrow","sans-serif"; font-size: 11pt;">Figure 1evolution of database in the last 3 decades</span></td></tr>
</tbody></table><span style="font-size: large;"><br />
2.2 Customer Demands & Motivation</span> <br />
<div class="MsoNormal"><span lang="EN-GB">We have received several requests from customers to exchange model information in a relation database fashion e.g. a portable database file such as MS SQL Serve Express or MS Access file. Basically, demands are classifiable into two categories: </span></div><ul><li><span lang="EN-GB" style="font-family: Symbol;"></span><span lang="EN-GB">A solution and data exchange interface through a relational database that can easily exchange information with client's ERP/MRP/MIS or eCommerce systems. A B2B integration is highly demanded. </span></li>
</ul><ul><li><span lang="EN-GB">A platform for many extended applications, mainly web-based applications that interact with a linked output database. This is more likely to be used in a B2C integration. </span></li>
</ul><span style="font-size: x-large;"><br />
3. Scope and Plan</span><br />
<div class="MsoNormal"><span lang="EN-GB">Scope of TSRELDB aims to support an intermediate platform to integrate Tekla Structures with commercial database. We have less interest to customize front-end applications for clients at this moment. TSRELDB is considered an interface where clients can easily employ and tailor their front-end applications. There are more web/database application developers who can develop 3<sup>rd</sup> party applications without having expertise in data structures of TS .NET API. In other words, application development will become more easy and available to developers who know simply SQL but not our .NET API. This hopefully can increase 3<sup>rd</sup> party developments for a variety front-end/extended applications with Tekla Structures, and also reducing learning curve on Tekla Structures .NET API. </span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><span lang="EN-GB">Since database solution is closely tied to World Wide Web, it actually opens alternative ways to integrate Tekla with our customers' and partners' in-house systems, triggering migration from file-base to dynamic database information interchange. Implication includes rethinking and reinventing possible business models in a long term. </span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><span lang="EN-GB">We will discuss several use cases and potential integration methods to show how clients can utilize their benefit on incorporating with TSRELDB. In summary, the following list simply defines things that are included or excluded from TSRELDB. </span></div><div class="MsoNormal"><span lang="EN-GB">Things are included: </span></div><ul><li><span lang="EN-GB" style="font-family: Symbol;"></span><span lang="EN-GB">A simple server side application that synchronize TS Model Data to a database medium, e.g. a database or XML file</span></li>
<li><span lang="EN-GB"> </span><span lang="EN-GB">A late-binding like data schema that consists with four tables, 'Project', 'Transactions', 'Objects' & 'Properties'. </span></li>
</ul><div class="MsoNormal"><span lang="EN-GB">Things are excluded:</span></div><ul><li><span lang="EN-GB" style="font-family: Symbol;"></span><span lang="EN-GB">Any programmability on the database side for example stored procedures, views, functions, etc. It assumes that customers will customize this programmability by themselves;</span></li>
<li><span lang="EN-GB"> </span><span lang="EN-GB">No trigger, index or other optimization have been added to the database schema;</span><span lang="EN-GB" style="font-family: Symbol;"></span></li>
<li><span lang="EN-GB" style="font-family: Symbol;"><span style="font: 7pt "Times New Roman";"></span></span><span lang="EN-GB">Tekla users who want to work collaboratively can use our multi-users feature on a domain network. The TSRELDB has no intention to replace this existing and good mechanism. It aims to support another type of client-server collaboration;</span></li>
</ul><span style="font-size: large;"><br />
3.1 Potential Usage & Used Cases</span><br />
<div class="MsoNormal"><span lang="EN-GB">MS .NET framework obtains great features to 1easy application development in web-based database driven application. Strength of MS .NET framework has been shown in many directions; especially in 1) incorporate with relational database integration and deploying 2) web-based. RELDB apparently serves as the backbone of most eCommerce Enterprises and ERP/MRP/MIS solutions. </span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><span lang="EN-GB">Possible usages are described under following categories: </span></div><div class="MsoNormal"><span lang="EN-GB">1) Different Client-Server configurations</span></div><div class="MsoNormal"><span lang="EN-GB">2) Integration with client's EPR/MRP/MIS and eCommerce Solutions</span></div><div class="MsoNormal"><span lang="EN-GB">3) Interface to various handhold devices e.g. mobile phone, tablet PC, palm pilot, etc. </span></div><div class="MsoNormal"><span lang="EN-GB">4) Other applications </span></div> <span lang="EN-GB"></span><b><span style="font-size: small;"><br />
3.1.1 Client-Server Configuration</span></b><br />
<div class="MsoNormal"><span lang="EN-GB">There are several ways to configure usage of a database. Section </span><span lang="EN-GB">3.1.1.1</span><span lang="EN-GB">, </span><span lang="EN-GB">3.1.1.2</span><span lang="EN-GB"> and </span><span lang="EN-GB">3.1.1.3</span><span lang="EN-GB"> shows different configuration of using the TSRELDB. Implication of configuration is really to see how TS is involved in various configurations. </span></div><b><span style="font-size: small;"><br />
3.1.1.1 Tekla Structures on both Server and Clients</span></b><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ_DV7ha4JZ_lb0wBTYXNKacdFSfINHvqBk0DCcp4oc3E7VtrswElLQU1j9Wff3z-1eDnVjeSbD3pOPvBsVkt4C3LY5KRgXTBl-Y_cTfGzH9g4_ZXQ6C5W12IcPVhe9XVm0S1WZQ8X1_A/s1600/Scenario1.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ_DV7ha4JZ_lb0wBTYXNKacdFSfINHvqBk0DCcp4oc3E7VtrswElLQU1j9Wff3z-1eDnVjeSbD3pOPvBsVkt4C3LY5KRgXTBl-Y_cTfGzH9g4_ZXQ6C5W12IcPVhe9XVm0S1WZQ8X1_A/s400/Scenario1.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><div align="center" class="MsoCaption" style="margin-left: 454.5pt; text-align: center; text-indent: -454.5pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2139548893343107277&postID=4744336950055236007" name="_Toc201714451"><span lang="EN-GB">Figure </span></a><span lang="EN-GB">2</span><span lang="EN-GB"> TS on both client and server</span></div></td></tr>
</tbody></table><div class="MsoNormal"><span lang="EN-GB">Main concept in this scenario is to maintain a centric 'master' model where distributed clients read and write data to the master model. This is redundant to the existing multi-users feature but probably consuming less resource in terms of the network bandwidth. It is possible to integrate TERELDB into Tekla Connect under this scenario. TSRELDB is not meant to serve process of collaborative design simultaneously. </span> </div><b><span style="font-size: small;"><br />
3.1.1.2 Tekla Structures on Server only</span></b><br />
<div class="MsoNormal"><span lang="EN-GB">The second scenario is to maintain similar master model in server where thin clients reside on client ends, for instance a web-browser client. This scenario is more adequate to management and not design tasks. In other words, it is good for visualization, e.g. RFI editing and other construction management tasks. </span><span lang="EN-GB">Our prototype demonstration is implemented under this particular scenario.</span></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHm0vHdNrjlN3eSW2kONxCNBYLGd5cD3Xb0w-7AU7wbC4EaEz-fStCmZzIyN968FZH-LF0Bx1kNqD2LoVD8d2eFwV3cpucsXJgUjl_CR_Pb_Nay-9YSi5FmFoXoDHXlPwdarfTzoREaQc/s1600/Scenario2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="248" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHm0vHdNrjlN3eSW2kONxCNBYLGd5cD3Xb0w-7AU7wbC4EaEz-fStCmZzIyN968FZH-LF0Bx1kNqD2LoVD8d2eFwV3cpucsXJgUjl_CR_Pb_Nay-9YSi5FmFoXoDHXlPwdarfTzoREaQc/s400/Scenario2.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><div align="center" class="MsoCaption" style="margin-left: 454.5pt; text-align: center; text-indent: -454.5pt;"><span lang="EN-GB">Figure </span><span lang="EN-GB">3</span><span lang="EN-GB"> TS on Server side and not client side</span></div></td></tr>
</tbody></table><div class="MsoNormal"></div><br />
<br />
<span style="font-size: small;"><b>3.1.1.3 Tekla Structures on Clients only</b></span><br />
<span lang="EN-GB"> </span> <br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAbdarP1i9FdLTysu7HPrjgQC8hzKG20UBI_fVL8pO7pvhBZp6oz3EPkLU6-QeCU6ZbDSTwVjHSX1PbvBeqIv0SKN39MDjV5HNp6KSXRQw9_PXaJsg7X6pNRdXnoeH74ltWC5YrXXmAtY/s1600/Scenario3.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAbdarP1i9FdLTysu7HPrjgQC8hzKG20UBI_fVL8pO7pvhBZp6oz3EPkLU6-QeCU6ZbDSTwVjHSX1PbvBeqIv0SKN39MDjV5HNp6KSXRQw9_PXaJsg7X6pNRdXnoeH74ltWC5YrXXmAtY/s400/Scenario3.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><div align="center" class="MsoCaption" style="margin-left: 454.5pt; text-align: center; text-indent: -454.5pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2139548893343107277&postID=4744336950055236007" name="_Toc201714453"><span lang="EN-GB">Figure </span></a><span lang="EN-GB">4</span><span lang="EN-GB"> TS on client ends but not on the server side</span></div></td></tr>
</tbody></table><div class="MsoNormal"><span lang="EN-GB">The third scenario is to have Tekla on multiple clients and none on the server side. It does not maintain a master Tekla model but a proxy that resides on the database server. Each client will need rapid synchronizations to update their attributes to the proxy model. The proxy model then synchronizes with all clients. This requires better merging capability and concurrency control on the database side. </span></div><div class="MsoNormal"></div><b><span style="font-size: small;"><br />
3.1.2 ERP, MRP, MIS & eCommerce Integration</span></b><br />
<div class="MsoNormal"><span lang="EN-GB">The most prominent use case of TSRELDB is to connect client's in-house database, in other words, establishing a link between two database systems. <i style="mso-bidi-font-style: normal;">Figure 5</i> Illustrates this basic integration where B2B integration bridges two database systems. Front-end client is part of the ERP system that handles resources, supply chain, delivery and inventory managements. TSRELDB is an adequate solution for Tekla clients who are part of an ERP supply chain. </span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><span lang="EN-GB">To derive meaningful and mandatory information from one system to another relies on a mapping process or known as views. There are professional mapping tools, for example the Microsoft BizTalk is a mapping middleware that allows interchange between databases. Altova, a a leading XML toolkit provider, has similar product for XML mapping named MapForce. Clients who want to adopt TSRELDB may need to derive their mapping scheme. </span></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSQnmdmIO1APUlAUxde1-QstjfFQRlQ9WdENMien0_qn6Eb2WW59e9xQ0eWfRd-Erd3idP2XcQKFzZYv3xG4S3VoGUcsTGvZgn_oDWzeP7IZaClfpjyyKyQO8nh-KhEyn3152koVFRe2Q/s1600/MISERP.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSQnmdmIO1APUlAUxde1-QstjfFQRlQ9WdENMien0_qn6Eb2WW59e9xQ0eWfRd-Erd3idP2XcQKFzZYv3xG4S3VoGUcsTGvZgn_oDWzeP7IZaClfpjyyKyQO8nh-KhEyn3152koVFRe2Q/s640/MISERP.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><div align="center" class="MsoCaption" style="margin-left: 454.5pt; text-align: center; text-indent: -454.5pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2139548893343107277&postID=4744336950055236007" name="_Toc201714454"></a><a href="http://www.blogger.com/post-edit.g?blogID=2139548893343107277&postID=4744336950055236007" name="_Ref201721300"><span lang="EN-GB">Figure </span></a><span lang="EN-GB">5</span><span lang="EN-GB"> B2B integration platform for ERP, MRP, MIS & eCommerce solutions</span></div></td></tr>
</tbody></table><div class="MsoNormal"></div><span style="font-size: large;"><br />
3.2 Interface to diverse devices</span><br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="MsoNormal"><span lang="EN-GB">TSRELDB provides an additional tier to Tekla Model by deploying a commercial relational database. It is very common and easy to write applications that operate on handhold devices and read data from a database. In spite of a web-browser client application, it is possible to write clients on diverse handhold devices such as Windows CS for cellular phones or tablet PC.</span></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3Fiaj4iuGSW3MTWu-NocXiCwW3laIaVJW0ePo3VJO7WsWFq2C08Ou9m5zo5xRUdXvTGyCYiew1es-2MpfHPwNxkg9IVESlWoseZ64aowCHLDkP8Vh1he36oM6lVOJsNTQvJ0xH8VIync/s1600/Mobile.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3Fiaj4iuGSW3MTWu-NocXiCwW3laIaVJW0ePo3VJO7WsWFq2C08Ou9m5zo5xRUdXvTGyCYiew1es-2MpfHPwNxkg9IVESlWoseZ64aowCHLDkP8Vh1he36oM6lVOJsNTQvJ0xH8VIync/s640/Mobile.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><div align="center" class="MsoCaption" style="margin-left: 454.5pt; text-align: center; text-indent: -454.5pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2139548893343107277&postID=4744336950055236007" name="_Toc201714455"><span lang="EN-GB">Figure </span></a><span lang="EN-GB">6</span><span lang="EN-GB"> an intermediate platform for diverse handhold devices integration</span></div></td></tr>
</tbody></table><br />
<br />
<span style="font-size: small;"><b>3.2.1 Other Applications</b></span><br />
<span lang="EN-GB"> </span> <br />
<div class="Style1"><span lang="EN-GB" style="font-family: Symbol;"></span><b style="mso-bidi-font-weight: normal;"><span lang="EN-GB">Model Information Archive and Rollback </span></b></div><span lang="EN-GB">TSRELDB records each transaction time where it is possible to perform a rollback function. For example, write all properties and UDAs back to particular date and transaction.</span><br />
<span lang="EN-GB"> </span> <br />
<div class="Style1"><span lang="EN-GB" style="font-family: Symbol;"></span><b style="mso-bidi-font-weight: normal;"><span lang="EN-GB">Alternative Change Management Storage</span></b></div><span lang="EN-GB">It is fairly easy to perform comparison on a large set of data in relational database. TSRELDB provides alternatives to one to tailored properties and attributes that will be caught in c round trip data exchange. In other words, one can define what is classified as a "change" in a more dynamic and expandable fashion without hard coded and persistent classifiers in current.</span><br />
<span lang="EN-GB"></span><b><span style="font-size: small;"><br />
3.2.2 Summary</span></b><br />
<div class="MsoNormal"><span lang="EN-GB">Scenarios and usage listed above are basic examples of how to utilize TSRELDB. We believe more clients will be interested to link Tekla from to their in-house database solution through database integration. The required expertise of database and web programming is extremely lower then knowing Tekla .NET API. You may look at this database integration interface as a wrapper interface to Tekla .NET API.</span></div><h2 style="margin-left: 0in; text-indent: 0in;"><span style="font-size: large;">3.2 Acknowledgement</span><span style="font-size: large;"> </span><span lang="EN-GB"><br />
</span></h2><div class="MsoBodyText"><span lang="EN-GB">Special thanks to Stacy Scopano and Andy Dickey from Tekla Inc.</span></div><div class="MsoBodyText"><span lang="EN-GB"></span><a href="http://www.blogger.com/post-edit.g?blogID=2139548893343107277&postID=4744336950055236007" name="_Toc201714512"><span lang="EN-GB"><span style="font: 7pt "Times New Roman";"></span></span></a></div><h1 style="margin-left: 0in; text-indent: 0in;"><span lang="EN-GB"></span><span style="font-size: x-large;">4. Video</span></h1><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/1Y5T1pguoxU?feature=player_embedded' frameborder='0'></iframe></div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/ZKsXUBptT2k?feature=player_embedded' frameborder='0'></iframe></div><span style="font-size: x-large;"><br />
5. Glossary & Abbreviation</span><br />
<div class="MsoNormal"><span lang="EN-GB">TS</span><span lang="EN-GB"> - </span><span lang="EN-GB">Tekla Structures</span></div><div class="MsoNormal"><span lang="EN-GB">RELDB</span><span lang="EN-GB"> - </span><span lang="EN-GB">Relational Database</span></div><div class="MsoNormal"><span lang="EN-GB">TSRELDB</span><span lang="EN-GB"> - </span><span lang="EN-GB">Tekla Structures Relational Database Synchronization Toolkit </span></div><div class="MsoNormal"><span lang="EN-GB">OO</span><span lang="EN-GB"> - </span><span lang="EN-GB">Object-oriented</span></div><div class="MsoNormal"><span lang="EN-GB">OODB</span><span lang="EN-GB"> - </span><span lang="EN-GB">Object-oriented Database </span></div><div class="MsoNormal"><span lang="EN-GB">RELDBMS</span><span lang="EN-GB"> - </span><span lang="EN-GB">Relational Database Management System</span></div><div class="MsoNormal"><span lang="EN-GB">OODBMS</span><span lang="EN-GB"> - </span><span lang="EN-GB">Object-oriented Database management System</span></div><div class="MsoNormal"><span lang="EN-GB">MS SQL Server</span><span lang="EN-GB"> - </span><span lang="EN-GB">Microsoft SQL Server</span></div><div class="MsoNormal"><span lang="EN-GB">SQL</span><span lang="EN-GB"> - </span><span lang="EN-GB">Structured Query Language</span></div><div class="MsoNormal"><span lang="EN-GB">SQL3</span><span lang="EN-GB"> - </span><span lang="EN-GB">SQL standard Version 3 </span></div><div class="MsoNormal"><span lang="EN-GB">ERP</span><span lang="EN-GB"> - </span><span lang="EN-GB">Enterprise Resource Planning</span></div><div class="MsoNormal"><span lang="EN-GB">MRP</span><span lang="EN-GB"> - </span><span lang="EN-GB">Manufacturing Resource Planning</span></div><div class="MsoNormal"><span lang="EN-GB">MIS</span><span lang="EN-GB"> - </span><span lang="EN-GB">Manufacturing Information System</span></div><div class="MsoNormal"><span lang="EN-GB">B2B</span><span lang="EN-GB"> - </span><span lang="EN-GB">Business to Business</span></div><div class="MsoNormal"><span lang="EN-GB">B2C - Business to Customer </span></div><div class="MsoNormal"><span lang="EN-GB">XML - Extensible Makeup Language</span></div><div class="MsoNormal"><span lang="EN-GB">LINQ - Language Integrated Query</span></div><div class="MsoBodyText"><span lang="EN-GB"></span></div><div class="MsoNormal"><span lang="EN-GB"><span id="goog_1552156679"></span><span id="goog_1552156680"></span></span></div>Frank Wang (王立人)http://www.blogger.com/profile/17656980640768074320noreply@blogger.com5tag:blogger.com,1999:blog-2139548893343107277.post-58300591917280393982011-04-14T11:23:00.000-04:002011-04-14T11:23:33.766-04:00關於BIM<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="margin-left: 1em; margin-right: 1em; text-align: center;"></div><b style="color: #0b5394;"><span style="font-size: large;">BIM(Building Information Modeling) 一詞的由來</span></b><br />
<br />
<span style="color: #0b5394;">誰是第一個提出BIM這一詞的人現在很難分辯,Wikipedia上說該詞由AutoDesk Phil Bernstein 所提並非不可能,但很難據體的查證 。 就我個人所知Jerry Laiserin應該是第一個提出BIM這一詞的人,起碼我和我的指導教授Chuck Eastman(BIM Handbook 的作者 )以及Georgia Tech同儕都這樣認為。Jerry原為BIM Handbook發起人兼作者之,因家中突然有事所以臨時退出編輯僅為該書撰序。因為BIM Handbook後來的廣大發行,所以一般都認為Chuck是提出BIM這一詞的人。但Chuck 所提出的Building Product Model 可以視為BIM前身之一,其它影響該觀念成形的有同時期ArciCAD 的Virtual Building。有關這部份請參考Wikipedia 或BIM Handbook不在贅述。</span><br />
<div class="MsoNormal"><br />
</div><b><span style="color: #0b5394;"><span style="font-size: large;">過度的消費及行銷</span></span></b><br />
<br />
<span style="color: #0b5394;">BIM這一詞在美國已經被過度消費,加上軟體廠商(當然包含敝公司啦)的大肆渲染下已成為濫殤。 軟體廠商很努力的把自身產品與BIM劃上等號,深怕趕不上這波動而失去商機。許多AEC (Architecture, Engineering & Construction) 從業人員也競相標榜自己為BIM 專家。就我多年的經驗及專長,感覺有必要在這裡釐清一些不必要的誤解</span><span style="color: #0b5394;">。</span><br />
<div class="MsoNormal"><br />
</div><span style="font-size: large;"><b style="color: #0b5394;">BIM並不是科技而是一種流程(process)<span lang="ZH-TW"></span></b></span><br />
<span style="font-size: small;"><br />
</span><span style="color: #0b5394;">BIM 是一個總體的稱謂,其中的「M」 是Modeling 而非Model。軟體廠商希望用Model(名詞)主要是因為可以將其產品直接標籤為BIM。</span><span style="font-size: large;"></span><br />
<span style="font-size: large;"><br />
<b style="color: #0b5394;">BIM 的組成包含了「使用者 + 軟體 + 流程」</b></span><br />
<br />
<span style="color: #0b5394;">它是一個由以上三者之間共同組成的概念,你很可能是其中的一項的專家,但很難同時成為所有三項的專家。舉例來說,一個精於工程流程的專家很可能同時也是某一軟體的資深或高階的使用者,但他專精於軟體開發的可能性卻是極少的。使用者是使用者而開發是開發,角色是非常不同的。專家的定意就是對課題的通盤瞭解,也就是所謂的know-how,因此光是熟練於使用很難成為真正BIM專家。</span><br />
<br />
<span style="color: #0b5394; font-size: large;"><b>BIM的流程是沒有標準答案</b></span><br />
<br />
<span style="color: #0b5394;">它會因案件 (例如Bid-and-Build or design build) 、公司流程、組織而不同。 通常牽涉到使用數個以上的軟體以及某種程度的客製化。很多企業認為花了大錢買軟體就可以解決一切其實是錯誤的觀念,BIM是一種認同及長期性的投資及開銷,它的獲利在於減少工程中錯誤及衝突,增加不同單位間資訊交換的效率。如果大環境還停留在2D圖面為主時,單獨實踐BIM很難看出會有結構性的改變。 </span><span lang="ZH-TW" style="font-family: "PMingLiU","serif";"><br />
</span><br />
<b style="color: #0b5394;"><span style="font-size: large;">團隊的組成</span></b><span lang="ZH-TW" style="font-family: "PMingLiU","serif";"></span> <br />
<br />
<span style="color: #0b5394;">營建團隊與電子、航太、或造船業最大的不同在:</span><br />
<ol><li><span lang="ZH-TW" style="color: #0b5394; font-family: "PMingLiU","serif";">團隊的組成多為平行單位的合作而非上下游產業的垂直整合。航太工業中業主(例如波音)可以強勢主導所有下游廠商生產線的設置,包含所使用的軟體、及整合界面</span><span style="color: #0b5394;"> (</span><span lang="ZH-TW" style="color: #0b5394; font-family: "PMingLiU","serif";">例如其</span><span style="color: #0b5394;">777</span><span lang="ZH-TW" style="color: #0b5394; font-family: "PMingLiU","serif";">的設計生產過程由</span><span style="color: #0b5394;">747 </span><span lang="ZH-TW" style="color: #0b5394; font-family: "PMingLiU","serif";">的</span><span style="color: #0b5394;">18</span><span lang="ZH-TW" style="color: #0b5394; font-family: "PMingLiU","serif";">年縮短為</span><span style="color: #0b5394;">5</span><span lang="ZH-TW" style="color: #0b5394; font-family: "PMingLiU","serif";">年,這我另外寫一篇報導</span><span style="color: #0b5394;">)</span><span lang="ZH-TW" style="color: #0b5394; font-family: "PMingLiU","serif";">。營建業團隊在發包型工程中因為多是平行的關係加上業主多不強勢主宰所有細部流程,因此整合地方式與其他工業不同。</span></li>
<li style="color: #0b5394;"><span lang="ZH-TW" style="font-family: "PMingLiU","serif";">團隊的成員組合因案而異 </span><span lang="ZH-TW" style="font-family: "PMingLiU","serif";">- 發包型工程團隊成員合作期間較為短暫</span><span lang="ZH-TW" style="font-family: "PMingLiU","serif";">。必須於短時期內配合對方的系統</span><span lang="ZH-TW" style="font-family: "PMingLiU","serif";">、</span><span lang="ZH-TW" style="font-family: "PMingLiU","serif";">流程</span><span lang="ZH-TW" style="font-family: "PMingLiU","serif";">、</span><span lang="ZH-TW" style="font-family: "PMingLiU","serif";">及始用軟體。</span></li>
</ol><span style="color: #0b5394;">這樣的團隊組的方式影響了許多層面,包含了過程中需要使用較多的專業軟體,也牽涉到較繁雜的資訊交換。 一般使用者以為IFC可以解決其中的資訊交換其實是錯誤的觀念,關於IFC 我會另外說明。</span><br />
<div class="MsoNormal"><span style="font-family: 新細明體;"><br />
</span></div><b style="color: #0b5394;"><span style="font-size: large;">單一件軟體很難滿足及涵概整個建物生命週期中所有項目</span></b><br />
<br />
<span style="color: #0b5394;">BIM所含概的範圍很廣通常概分為(分類的方式沒有一定) : </span><br />
<ul><li><span style="font-family: Symbol;"><span style="font: 7pt "Times New Roman";"></span></span><span style="color: #0b5394;">Preconstruction – Design (CD, DD, CD), Estimating, Bidding, Detailing, Pre-fabrication ( pre-assembly), etc. </span></li>
<li style="color: #0b5394;"><span style="font-family: Symbol;"><span style="font: 7pt "Times New Roman";"></span></span>Construction – Fabrication (CNC, robotic welding and manufacturing), Field Operations (Layout, surveying), Project Management (Cost, scheduling, RFIs, reporting,<span lang="ZH-TW" style="font-family: "PMingLiU","serif";">…</span>) </li>
<li style="color: #0b5394;"><span style="font-family: Symbol;"><span style="font: 7pt "Times New Roman";"></span></span>Post Construction – Submittal, Inspection, Facility Management, etc.</li>
</ul><div class="MsoListParagraphCxSpLast" style="color: #0b5394;">從以上的分類而言,光是其中要使用軟體就不計其數。除此之外,由於專業分工越來越細 既始是建築師也只能掌握一部分的流程。對建築師傳統以來扮演的協調者角色有一定程度的影響。</div><br />
<b style="color: #0b5394;"><span style="font-size: large;">軟體開發是百分之百的市場導向</span></b> <br />
<br />
<span style="color: #0b5394;">軟體開發就像程式本身一樣完全符合邏輯而且是百分之百的市場導向。近年來因營建軟體市場 (尤其是建築師及技師使用的軟體) 已經相當飽和。在競爭激烈下加上利潤空間很小,所以均轉向開發營造廠或業主為主的軟體。這其中的利潤遠大於軟體廠原來專營的市場。在工程中由於營造廠或業主掌握較多的資源,所以自然的成為銷售目標。就以一套10000美元的軟體來說,賣給造廠或業主的可能性遠大於賣給建築師及技師。不同於日韓營建體系一條鞭的上下整合,台灣與美國的發包制度系統比較相像。因此業主或承包商對BIM軟體的投資可以在較短時間或該工程內回本,但對複委託的建築師及技師而言,因為工程中業務執行款項百分比之分配較少(5%~10%,羨慕吧)加上通常不是最大受利者所以在意願及執行上較緩慢。但不少大型建築師及技師事務所確實體會到BIM長期帶來的好處於是將採用BIM轉化成為提升自身品牌行銷(Marketing) 及提供較優勢之客務以超越競爭對手。美國越來越多的公部門和業主在工程合約中開始加入BIM的規範。但因為相對費用每有相對提昇所以對許多中小型事務所而言是非常吃力的要求。這點爭議牽涉到對現有發包制度的重新定位,但趨勢而言是不可避免的。 </span><br />
<br />
<span style="color: #0b5394;">我們可以把軟體使用於BIM的方式分成兩極,一頭是單純使用。你可以買一套軟體加一點訓練然後就開始使用。這種模式使可以減少你需要付給軟體商的固定客服及生級費用。 另一頭則是類似顧問公司型式的軟體服務,這種模式通常需要付出較多的客服及顧問費用。就像一般財務投資組合一樣,你必須審慎的考慮你的軟體組合,如果你的預算中包含開發經費則另外要考慮到軟體的客製化能力。</span><span style="color: #0b5394; font-family: 新細明體;"></span> <br />
<div class="MsoListParagraph" style="color: #0b5394;"><br />
</div><span style="color: #0b5394;">在McGraw Hill 2009發表的BIM白皮書(</span><a href="http://bim.construction.com/research/FreeReport/" style="color: #0b5394;">http://bim.construction.com/research/FreeReport/</a><span style="color: #0b5394;">) 統計了2009年不同營建專業對BIM的實踐,並預測了2010的發展。該報告中推斷BIM在所有營建相關的行業中,營造廠對BIM將會在2010有最大的發展及實踐 。這個預測其實滿準的,美國</span><a href="http://enr.construction.com/toplists/contractors/001-100.asp" style="color: #0b5394;">ENR</a><span style="color: #0b5394;">前400大的建築營造廠 (不包含石化廠及重工業的營造廠例如Bechtel and Fluor) 像 Sakansa、Turner、 Black & Veatch、 DPR、 Swinerton、Barton Malow、 都已內設BIM系統整合單位,並且已逐漸的將BIM融入內部企業生產流程。除此之外,BIM Handbook (包含已發行的二版)中多數案例皆屬於「新整合流程」相關的主題。除了內設系統整合單位,外包的顧問公司例如Gafari則提供系統整合或Lean Construction 的專業服務。</span><br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjylG6YL7vVIXc_3-QShyphenhyphen57ON-e14uBCj6iH_XZgT0mXcz_OjtZhBlBZx8mtZI9zEVi9IkenZii-DdB2S1KgvEQhyrfV97x0kVEPavGGWnTjP2ur8_60JNcKDoFBV-_VvOurVj3nxbFg0Q/s1600/McGrawHillReport.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjylG6YL7vVIXc_3-QShyphenhyphen57ON-e14uBCj6iH_XZgT0mXcz_OjtZhBlBZx8mtZI9zEVi9IkenZii-DdB2S1KgvEQhyrfV97x0kVEPavGGWnTjP2ur8_60JNcKDoFBV-_VvOurVj3nxbFg0Q/s320/McGrawHillReport.png" width="247" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">McGraw Hill Smart Market Report</td></tr>
</tbody></table><br />
<br />
<div class="MsoNormal" style="margin-left: .5in;"><br />
</div><span style="font: 7pt "Times New Roman";"></span><b style="color: #0b5394;"><span style="font-size: large;">不是具體的主題所以不適用於學術研究</span></b><br />
<br />
<span style="color: #0b5394;">BIM 不是一個非常具體的研究課題所以請慎選你研究的主題。就以喬治亞理工與史丹佛為例,前者偏科技與工程中資料訊息的整合,後者偏新流程的實踐與分析。你的研究主題通常可能與某一科技之使用或流程細項有關。舉例來說,科技類主題包含了資料交換、資料庫、語義學、認知、參數化資料交換、設計模擬分析(e.g. Code Checking) 等等而非BIM本身。主題以流程為主的則有著名的4D CAD。</span> <br />
<div style="color: #0b5394;"><br />
</div><div style="color: #0b5394;">喬治亞理工最近剛成立的Digital Building Laboratory 有對不同BIM軟體之參數化(parametric) 進行比較 (需註冊) </div><ul style="color: #0b5394;"><li><span style="font-family: Symbol;"><span style="font: 7pt "Times New Roman";"> </span></span>http://bim.arch.gatech.edu/</li>
<li><span style="font-family: Symbol;"><span style="font: 7pt "Times New Roman";"></span></span><a href="http://www.dbl.gatech.edu/"><span style="text-decoration: none;">http://www.dbl.gatech.edu/</span></a></li>
</ul><br />
<span style="font-family: 新細明體;"></span><span lang="ZH-TW" style="color: #0b5394; font-family: "PMingLiU","serif";">史丹佛的</span><span style="color: #0b5394; font-family: 新細明體;">CIFE </span><span style="color: #0b5394;">(http://cife.stanford.edu/) </span><br />
<div class="MsoNormal"><br />
</div><div class="MsoNormal"><b style="color: #0b5394;"><span style="font-size: large;">問題與意見</span></b><span lang="ZH-TW" style="font-family: "PMingLiU","serif";"><br />
</span></div><br />
<span style="color: #0b5394;">我會對以上每一項在進一步分析說明(這可以是一整學期的課程),如果你對任何一項有意見或疑問或需要某一主題的說明,歡迎你電郵給我逐一的如果有問題請不吝指教。</span><br />
<br />
<span style="color: #0b5394;">我個人曾參予不同領域對BIM 的推廣包含National BIM Standards, AGC BIM Forum, AISC (eCommerce Summit, CIS/2 Workshops), BuildingSmart, BuildningSmart IFC2X3 certification process), AIA Building Connection, etc.</span><br />
<div class="MsoNormal"><span style="font-family: 新細明體;"> </span><span lang="ZH-TW" style="font-family: "PMingLiU","serif";"> </span><span style="font-family: 新細明體;"></span></div>Frank Wang (王立人)http://www.blogger.com/profile/17656980640768074320noreply@blogger.com2tag:blogger.com,1999:blog-2139548893343107277.post-46908053266635064552011-04-04T14:09:00.000-04:002011-04-04T14:09:11.148-04:00Link Manager- BuildSite and Tekla Structures Integration<div class="MsoNormal"><br />
</div><div class="MsoNormal"><span style="font-size: large;">About this project</span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal">This project started from simply adding external hyperlinks to Tekla Structures model object so links were reusable in the model. Ad-hoc attributing is a common feature in many BIM, 3D or parametric systems in current. It allows user to attach additional information to model objects that enriches semantics and usages of native objects with greater customizability. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">From a simple macro, we started to get more demands from users for a managerial UI (User Interface) to manage external hyperlinks. Most users wish to obtain a “Document-Centric View” to organize documents and links, sort of a hierarchical grouping mechanism. This is quite common whereas most 3D BIM are geometry centric, meaning information are organized and displayed purely in a 3D object fashion. This is certain because nature of the application and service it provides. However, from a collaborative perspective, more and more tasks require views from multiple perspectives such as document organization or view of schedules. A typical example is the 4D CAD where one needs to visualize information from both temporal and physical views. This therefore becomes a primary change from previous macro to a more coherent solution. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal">In conjunction with a newer UI of Link Manager, we combined the BuildSite integration in the same solution since their functionalities quite overlapped.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">BuildSite is an online manufacturers, products, material documentations and reseller information for building construction. Quite like an online “Yellow Page” on steroid. It is applicable for contractors’ submittal process. Contractors can find mandatory documents of inspections, material tests, manufacturer guarantee and other useful information for submittal. It also serves as a search engine that allows contractors to find products, manufacturers, and reseller information from particular product category. It supports different “categorizations” including master unit format and soon believe to support OminiClass classification.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><a href="http://www.buildsite.com/">For more information about BuildSite please see>></a></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><span style="font-size: large;">Integration Highlight</span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal">For user’s to select BuildSite information in runtime, a light Web Browser is therefore incorporated into the application. It parses an underlying XML file returned from a BuildSite URL query. Parsed contents, especially hyperlinks (HTML) that linked to a document file such as a PDF file are then displayable to users for selection. All links are bind to nodes in an underlying XML file that serves as a live database. User can manage multiple links tailored to their needs.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">The following video is a general introductory of Link Manager:</div><div class="separator" style="clear: both; text-align: center;"><a herf:…="" href="http://www.blogger.com/post-create.g?blogID=2139548893343107277"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/dhVg3ogGYsk?feature=player_embedded' frameborder='0'></iframe></a></div><div class="MsoNormal"><a herf:…="" href="http://www.blogger.com/post-create.g?blogID=2139548893343107277"><br />
</a></div><div class="MsoNormal"><a herf:…="" href="http://www.blogger.com/post-create.g?blogID=2139548893343107277"><br />
</a></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><span style="font-size: large;">Result and Future Work</span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Intention of creating Link Manager was to create a prototype to collectively generate a specification that can be incorporated into main product one day. At an application architecture level, I used this opportunity to outline a fundamental module to support generic association that is applicable to many other tasks e.g. the 4D CAD tasks. </div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><span style="font-size: large;">Acknowledgement</span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Special thanks for Andy Dickey who manages the partnership of BuildSite and Hannu Lindberg who collectively manages all users’ aspects and feedbacks.</div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><span style="font-size: large;">Reference </span></div><div class="MsoNormal"><br />
</div><div class="MsoNormal"><b>Presentations</b></div><ul><li><a href="http://frankwang.info/media/BuildSite.ppsx">BuildSite Tekla Structures Integration 1.5MB (.ppsx) </a></li>
<li><a href="http://frankwang.info/media/EDHM.ppsx">Link Manager 1MB(.ppsx) </a></li>
</ul><div class="MsoNormal"><b>Use Cases</b> </div><div class="MsoNormal">Link Manager has been adopted in several commercial projects since then. Here are a few use cases</div><ul><li><a href="http://www.tekla.com/us/solutions/structural-engineers/Documents/Blach_forweb.pdf">BIM Based handover and facilities (.pdf) </a></li>
<li><a href="http://www.tekla.com/us/solutions/references/Pages/Blach.aspx">BIM Based handover and facilities(Tekla Web Site)</a></li>
</ul><div class="MsoNormal"><br />
</div>Frank Wang (王立人)http://www.blogger.com/profile/17656980640768074320noreply@blogger.com0tag:blogger.com,1999:blog-2139548893343107277.post-19806418765994983092011-04-02T23:02:00.000-04:002011-04-02T23:02:13.278-04:00Book Review- The Imperial Cruise by James Bradley<!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves/> <w:TrackFormatting/> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF/> <w:LidThemeOther>EN-US</w:LidThemeOther> <w:LidThemeAsian>ZH-CN</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:SplitPgBreakAndParaMark/> <w:DontVertAlignCellWithSp/> <w:DontBreakConstrainedForcedTables/> <w:DontVertAlignInTxbx/> <w:Word11KerningPairs/> <w:CachedColBalance/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> <m:mathPr> <m:mathFont m:val="Cambria Math"/> <m:brkBin m:val="before"/> <m:brkBinSub m:val="--"/> <m:smallFrac m:val="off"/> <m:dispDef/> <m:lMargin m:val="0"/> <m:rMargin m:val="0"/> <m:defJc m:val="centerGroup"/> <m:wrapIndent m:val="1440"/> <m:intLim m:val="subSup"/> <m:naryLim m:val="undOvr"/> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/> <w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> <w:LsdException Locked="false" Priority="39" Name="toc 1"/> <w:LsdException Locked="false" Priority="39" Name="toc 2"/> <w:LsdException Locked="false" Priority="39" Name="toc 3"/> <w:LsdException Locked="false" Priority="39" Name="toc 4"/> <w:LsdException Locked="false" Priority="39" Name="toc 5"/> <w:LsdException Locked="false" Priority="39" Name="toc 6"/> <w:LsdException Locked="false" Priority="39" Name="toc 7"/> <w:LsdException Locked="false" Priority="39" Name="toc 8"/> <w:LsdException Locked="false" Priority="39" Name="toc 9"/> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> <w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> <w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> <w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/> <w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> <w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> <w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> <w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> <w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/> <w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> <w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/> <w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/> <w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/> <w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> <w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> <w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> <w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> <w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> <w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> <w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> <w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/> <w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> <w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/> <w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> <w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> <w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> <w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> <w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> <w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> <w:LsdException Locked="false" Priority="37" Name="Bibliography"/> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin-top:0in;
mso-para-margin-right:0in;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0in;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
</style> <![endif]--> <br />
<div class="MsoNormal"><br />
</div><div class="MsoNormal">I recently finished reading a book called “The Imperial Cruise A secretes History of Empire and War, written by James Bardley.</div><div class="MsoNormal"><br />
</div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC30he3pGVdxs5i-zv2uNkOF9c7o6GZk63qRdMVdatLt9Kxr9-mgyvtRpM5oXyIfy7dxR5xnPzrhFc2iRjGyp-vXKzfmUW6ZSpDubrGc9BHcPnIACI8U0VTSUz53Yt1srjBqvY5bSub0E/s1600/IMG_1832.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC30he3pGVdxs5i-zv2uNkOF9c7o6GZk63qRdMVdatLt9Kxr9-mgyvtRpM5oXyIfy7dxR5xnPzrhFc2iRjGyp-vXKzfmUW6ZSpDubrGc9BHcPnIACI8U0VTSUz53Yt1srjBqvY5bSub0E/s200/IMG_1832.JPG" width="141" /></a></div><div class="MsoNormal">History has always been my hobby since ever. I spent some time in modern Japan history and found this book which gives a fresh perspective of a particular era in modern Asian history, a time around the period of late 19<sup>th</sup>. Author’s opinion and perspective is quite interesting, at least not from a conventional Westerner viewpoint. The entire story is tied to a single diplomatic corps authorized by President Teddy Roosevelt (26<sup>th</sup> president of US).<span style="font-family: "PMingLiU","serif";"> </span>Teddy sent his daughter, Alice Roosevelt, a celebrity figure at that time like Jacky in the 60’s and his secretary of defense William Taft (27<sup>th</sup> president of US) on a diplomatic tour to Asia. The corps stopped at Hawaii, Philippine, China, Japan and Korea. Taft had carried a secret mission to sign a secret treaty with Japan Empire to not intervene US annexation of Philippine and in exchanging to allow Japan “have” Korea. This was done secretly without having any consensus from congress and crumbling Teddy’s heroic figure today. Remember that Teddy is one of the four greatest US presidents on top of the Mountain Rushmore. </div><div class="MsoNormal"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0da5dPyzLPoYvzjoxnXl3LL3JlRzLUiwuqzEJe9OY3WRDfNvRgMPnxMDPk_13ybwGz9tHZSiUTDRvbvHTFgIIkD7tuKBd2HHXkjuzoXfDlTt1qfNT0ypkXcrge0HwcLOtW5doKNTYQQ4/s1600/Mount-Rushmore.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0da5dPyzLPoYvzjoxnXl3LL3JlRzLUiwuqzEJe9OY3WRDfNvRgMPnxMDPk_13ybwGz9tHZSiUTDRvbvHTFgIIkD7tuKBd2HHXkjuzoXfDlTt1qfNT0ypkXcrge0HwcLOtW5doKNTYQQ4/s200/Mount-Rushmore.jpg" width="200" /></a></div><div class="MsoNormal">How a single incidence can affect the entire regional modern history, and later resulting 10,000 US soldiers died in the pacific theater during WWII. The author also explains the ideology behind America expansion, aka “<i>Chasing the Sun</i>”, towards West, and conflicts/massacres to native people along the progression towards West. Blood was shed almost with no exception from early Native Americans, native Hawaiians, Philippines, and 19<sup>th</sup> Chinese immigrants. I recommend you to read this book especially if you have Asian heritage. Maybe I shall translate this book.</div><div class="MsoNormal"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTXkqB1bLoPwb1QZDc_zW3HjpxdXV3wgZvejA3f86MhMVLKgKaijpLKOH9P6dr6e78Ox9C30vg68Zb2NSE2iVRgG3iBGcea2WYtzZ6yTZHdKwMPuzh7sOApdkwk4KB2CBxsKp0-quWWpE/s1600/IMG_1833.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTXkqB1bLoPwb1QZDc_zW3HjpxdXV3wgZvejA3f86MhMVLKgKaijpLKOH9P6dr6e78Ox9C30vg68Zb2NSE2iVRgG3iBGcea2WYtzZ6yTZHdKwMPuzh7sOApdkwk4KB2CBxsKp0-quWWpE/s640/IMG_1833.JPG" width="640" /></a></div><div class="MsoNormal"><br />
</div><div class="MsoNormal">My next book review is “Morning of Fire” by Scott Ridley. A book about two US ships sail from Boston to Pacific during early 17th century. The voyage to establish new trade routes and ventures following famous captain Cooks great expedition. </div>Frank Wang (王立人)http://www.blogger.com/profile/17656980640768074320noreply@blogger.com0tag:blogger.com,1999:blog-2139548893343107277.post-22444815832753988332011-04-02T14:13:00.001-04:002011-04-02T14:14:51.826-04:00Workflow Manager Phase I – Tekla Structures and Meridian Prolog Integration<span style="font-size: x-large;"><br />
</span><br />
<span style="font-size: large;">About this project </span><br />
<span style="font-size: small;"><br />
This is another integration product started from 2010. The goal is to link Tekla Structures, a 3D Construction and Structural BIM, with Meridian Prolog Converge, a total construction project management system. </span><br />
<ul><li><a href="http://www.meridiansystems.com/">To learn more about Meridian >></a></li>
<li><span style="font-size: small;"><a href="http://www.tekla.com/US">To learn more about Tekla Structures>> </a></span></li>
</ul><span style="font-size: small;">Meridian Prolog is a project management software that manages documents and workflows including, drawings, submittals, RFIs, punch list and inspection, meeting minutes and other construction related documents. Meridian is now part of the large Trimble umbrella solutions due to earlier acquisition. Tekla and Meridian had assigned a partnership agreement to develop a closer integration for their joined users. The project started not until 2010 after the agreement was assigned. </span><br />
<br />
I started prototyping the integration in mid 2010. Main challenge of this project falls into technological differences between the two systems. A 3D BIM versus a relational database and web-based software. Meridian Prolog provides customizable integration through its web-services API to its back-end relational database. <i style="color: #351c75;">Figure 1</i> shows the integration scenario for the first phase prototyping. Scope of the exchangeable information was restricted only to RFI in the first phase. The intention was to build a robust and easy scalable foundation and possibly progress into other services in later phases, meanwhile to gain understanding and master the Prolog Web Service API.<br />
<br />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi46vFyN3EMboC1WvNvAfDKmR2S2Ed07BCVr6qHjkQbF8Ym8FfgEHhTFOhW8AkJy5YucD3llVB1_dJDze_DJPIb_hUpcZapap9RZqCfxXReJCIH5ct_m2s2-dSiVQgOZDL0q7hlEsKm_R8/s1600/Meridian.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi46vFyN3EMboC1WvNvAfDKmR2S2Ed07BCVr6qHjkQbF8Ym8FfgEHhTFOhW8AkJy5YucD3llVB1_dJDze_DJPIb_hUpcZapap9RZqCfxXReJCIH5ct_m2s2-dSiVQgOZDL0q7hlEsKm_R8/s320/Meridian.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 1 Integration architecture</td></tr>
</tbody></table><span style="font-size: small;">Andy Dickey, business manager of the construction unit in Tekla US, sees potentials towards expanding such tool in supporting diverse workflows. The tool was therefore renamed as <i style="color: #351c75;"><b>“Workflow Manager (WM)”</b></i><span style="color: #351c75;">.</span> The first beta prototype of WM was released in late 2010 to a few selected testers to gather feedback and usability testing. Fred Cardena, a long time Tekla Structures user and industry expert, who now worked for Meridian tested the WN and provides valuable feedbacks and suggestions for future improvement.</span><br />
<br />
<span style="font-size: small;"> <br />
<span style="font-size: large;">Current Status </span></span><br />
<br />
The current WM prototype is available only for Tekla Structures 16.1. It is in the middle of a full upgrade and renewing. Current WM prototype allows users to: <br />
<ul><li>Associate a Prolog RFI to selected Tekla model objects; </li>
<li>Allows Tekla Structures users remotely modify existing RFI in Prolog Converge; </li>
<li>Enable browsing RFIs from selected projects, and portfolios from Meridian Prolog;</li>
</ul>To know more about the features in WM, please watch the following introductory video. It will provide a brief overview of WM. <br />
<br />
<div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/OGifCsRk_Dc/0.jpg" height="266" width="320"><param name="movie" value="http://www.youtube.com/v/OGifCsRk_Dc?f=user_uploads&c=google-webdrive-0&app=youtube_gdata" /><param name="bgcolor" value="#FFFFFF" /><embed width="320" height="266" src="http://www.youtube.com/v/OGifCsRk_Dc?f=user_uploads&c=google-webdrive-0&app=youtube_gdata" type="application/x-shockwave-flash"></embed></object></div><br />
<span style="font-size: large;">Highlights</span><br />
<br />
Meridian API has a quite good structures and namespace hierarchy, from my perspective, in comparison for many APIs that I have been worked on. It is nicely wrapped into .NET and web service. Since it runs on a relation database i.e. MS SQL Server, it allows one to attach documents or <i style="color: #351c75;">BLOB (Binary Large OBject) </i>to existing information objects. Information objects for example a RFI or a submittal document. Hence, it is possible to store additional metadata or attributes e.g. an XML file, to particular information object. This allows us to store a XML file that contains a list of GUIDs from associated 3D model objects to any information object. <br />
<br />
The solution requires static connection to the connected Prolog Converge and its database. Speed of fetching data from the source depends on user’s internet bandwidth. Hence, a two tiers data fetching process was adopted to avoid unnecessary operations. In the RFI example, the first fetching process simply reads all RFIs headers (metadata) and displayed to users. Once an RFI selected by users, it will then launch the secondary fetching process to read more detail information of the selected RFI from the server. <br />
<br />
<span style="font-size: large;">Achievement </span><br />
<br />
Things I have learned and used in this project: <br />
<ul><li>Meridian Prolog Web Services API </li>
<li>Tekla Structures Open .NET API </li>
</ul><span style="font-size: large;">Acknowledgment </span><br />
<br />
Special thanks to Meridian, Fred Cardena, Tekla Inc., Andy Dickey and Hannu Lindberg. <br />
<br />
<span style="font-size: large;">Reference </span><br />
<br />
<b><span style="font-size: small;">Video </span></b><br />
<a href="http://www.youtube.com/watch?v=KT5bSX4t2dk">Tekla Structures Workflow Manager - Integration with Meridian Prolog Converge</a>Frank Wang (王立人)http://www.blogger.com/profile/17656980640768074320noreply@blogger.com1tag:blogger.com,1999:blog-2139548893343107277.post-45182185393977699572009-08-12T11:36:00.009-04:002011-04-01T11:32:03.653-04:00Layout Manager- Integration between Trimble LM80 and Tekla Structures<span style="font-size: large;">About this project</span><br />
<div class="MsoNormal"><br />
<span style="font-size: small;">Layout </span><span style="font-size: small;">Manager is created to integrate with on-site layout equipments. Layout</span><span style="font-size: small;"> equipments are widely used in current construction sites. The term "Layout" </span><span style="font-size: small;">(</span><span lang="ZH-TW" style="font-family: "PMingLiU","serif"; font-size: small;">放樣</span><span style="font-size: small;">)</span><span style="font-size: small;"> </span><span style="font-size: small;"> sometime is confused with "Surveying"</span><span style="font-family: "PMingLiU","serif"; font-size: small;"> </span><span style="font-size: small;">(</span><span lang="ZH-TW" style="font-family: "PMingLiU","serif"; font-size: small;">測量</span><span style="font-size: small;">), which mostly serves site preparation or civil projects. There are usually three different types of measuring equipments used in a construction site: 1) site-preparation, 2) layout, and 3) leveling and alignment. </span></div><div class="MsoNormal"><span style="font-size: small;">The Layout Manager project started after the establishment of Tekla and Trimble partnership in 2008. The scope was to explore possible way to integrate construction site Layout technology, including both hardware and software, with a 3D construction management application. The integration is a directly link between Trimble Layout SDK and Tekla Open API. Trimble Layout SDK is a set of DLLs that enable to read and write layout information between hardware device and partner applications. A prototype was quickly released during the time of Tekla Structures 15.1. The first testable alpha version, called Layout Manager, went out in 2009 as an extended application that runs on Tekla Structures 16.0. The extended application lasted through several versions and finally being incorporated into Tekla Structures in 17.0. </span></div><div class="MsoNormal"><br />
Layout Manager allows you to:<span style="font: 7pt "Times New Roman";"> </span><br />
<ol><li>Export model points to the field device so operator can easily mark points in field. This is extremely applicable to work collaboratively between structural systems. For example marking precise anchor bolts locations in a concrete footing prior to pour. Then the steel column can be erected and bolted seamlessly to the anchor rods with great precisions. Other applications include positioning concrete formworks, MEP boxes, pipe-hangers and pipe routing and etc.</li>
<li>Bring field points into 3D model for validation and checking. Operators are allowed to check whether collected field points are aligning properly within the model which increases the overall precision and quality of job.</li>
</ol><br />
<ol></ol></div><div class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"><table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_4yGDVR0GTvDDT-ZeoFcDdh7wv-XZy18BepXuK-ba-h-XvLvZQNjqPrxevQZcOha3W_pD2sEvKZPP_GYwfxRSA1o26hylypEukepetsbkTVfoZlXo_JRjotivdVXHB8MGDW_CNPNlp2g/s1600/Trimble5.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_4yGDVR0GTvDDT-ZeoFcDdh7wv-XZy18BepXuK-ba-h-XvLvZQNjqPrxevQZcOha3W_pD2sEvKZPP_GYwfxRSA1o26hylypEukepetsbkTVfoZlXo_JRjotivdVXHB8MGDW_CNPNlp2g/s400/Trimble5.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Trimble Total Station</td></tr>
</tbody></table><br />
<br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-hMGDlJ-VM9B_oHdAyZjK1nvifN9mwOxa-J8WRUejwYmPak5EMXhWZi-z14c_T1VYdEaw_0W8ucrOA0QCu39jfa7-z46LWs_95haevX3ADWcNycWzN2NS9tV0pfBYCkmx2mFTIaD9E6Q/s1600/Trimble1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br />
</a></div><span style="font-size: large;"><br />
</span><br />
Above figure shows the basic components of a total station. The left is the receiver station where you place it according to a known reference on field. An operator will take the pole (middle) and walk around on field for positioning. The receiver station will constantly sending out signals and capturing reflection from the pole which obtains a high accuracy optical reflector. The measured distance then will be displayable in the attached device. There are a wide arrange of devices that are available form the manufacturer, ranging from a mobile device to a tablet. <br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a class="cssButton" href="javascript:void(0)" id="publishButton" onclick="if (this.className.indexOf("ubtn-disabled") == -1) {var e = document['postingForm'].publish;(e.length) ? e[0].click() : e.click(); if (window.event) window.event.cancelBubble = true; return false;}" target=""><div class="cssButtonOuter"><div class="cssButtonMiddle"><div class="cssButtonInner"><br />
</div></div></div></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikyzfIDXaGZ6Nla_MrL4vzPFZD1lK95C5e1boBoIQinNkIt93-rIVt4x8bOSGv5aIdxlXnS25_6tiBnDIcWWMVcTrq0BVi2hGBPbPM5r6oZoOgL8p8dJtI-588K7n-70TvyxBQNwAeGCI/s1600/Picture1.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikyzfIDXaGZ6Nla_MrL4vzPFZD1lK95C5e1boBoIQinNkIt93-rIVt4x8bOSGv5aIdxlXnS25_6tiBnDIcWWMVcTrq0BVi2hGBPbPM5r6oZoOgL8p8dJtI-588K7n-70TvyxBQNwAeGCI/s320/Picture1.jpg" width="272" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure 3 points where to embed MEP piping hanger screws on the slab formwork </td></tr>
</tbody></table><br />
<br />
<span style="font-size: large;"><br />
Integration Highlights</span> <br />
<div class="MsoNormal"><br />
Layout points and lines are likely being used in multiple scenarios. Scenarios such as previous positioning of anchor bolts, concrete formworks, and MEP equipments. A generic point and line is demanded to serve in different scenarios where specific properties are addable in an ad-hoc fashion later on. Hence, a simple parametric point and line object are created. The intention was for people to use these basics and further extending them to other parametric objects, aka Components in Tekla terminology. By nesting these parametric objects together, I foresee great flexibility and possibility to newer breeds of use-cases. </div><div class="MsoNormal"><br />
In addition, a standalone browser and application is created to visualize and manage points and lines created by users. The point and line components together form the overall layout manager structure. As an example of extending the generic point to other scenarios, Tekla US office has created a custom component for concrete footings that automatically place points 1) to footing corners and 2) intersections between anchor bolts and top surface of the footing.</div><div class="MsoNormal">During the project period, Trimble Layout SDK leverages Windows ActiveSync and earlier Mobile 6.0 for synchronization. A minor impediment is that MS Mobile does not support direct copying files from a 64 bit machine to the device. Hence, this was absent from Layout Manager. Current version of Trimble Layout SDK consists of three C++ native DLLs.</div><h1><span style="font-size: large;">Lesson learned </span></h1><div class="MsoNormal">In order to visualize layout points in Tekla Structures, I need to embed an explicit Part i.e. beam in the layout point component to resize it and reshape accordingly to different scenarios. Ideally, points ought to be displayed as a graphic object such as a coordinate tripod or a simple .dwg object. Unfortunately, this was not available in the API at this moment. It causes some ambiguity in user’s reports and drawings. </div><div class="MsoNormal">I have learned Tekla Structures API and Trimble SDK from this project.</div><h1><span style="font-size: large;">Future work</span></h1><div class="MsoNormal">Tekla has received a lot of feedbacks from users after rolling out the Layout Manager and overall contributing to a better integration solution in future. It requires enhancements on both sides. In spite of the users’ suggestions, I personally will like to see:<br />
<ol><li>Incorporable with Geo-Spatial coordinate system: This is not a big challenge since Tekla already has the know-how from its X-City product. This makes points translatable among conventional Cartesian coordinate systems versus Geo-coordinate systems. It is then possible to link with other Trimble solutions.</li>
<li>A remote and wireless synchronization: This could be done by either Tekla Structures or Trimble. A ubiquitous synchronization process between points and possible receiver. There are many alternatives to approach.</li>
<li>Enhancements on the Trimble SDK is desired, for example GUID assignment, enable raising events while new points created or existing points modified, or project saved and closed.</li>
<li>Desired changes on Tekla Structures API: incorporate graphic objects in the API. Graphic objects shall be persistent after view changes or redraw. </li>
</ol></div><h1><span style="font-size: large;">Acknowledgment</span></h1><div class="MsoNormal">Special thanks to Trimble, Tekla Co, Tekla Inc., Hans Ehrnrooth, Stacy Scopano, Andy Dickey and Hannu Lindberg.</div><h1><span style="font-size: large;">References </span></h1><h3><span style="font-size: small;">Videos </span></h3><ul><li><a href="http://www.youtube.com/watch?v=QGOVitzA-QU">Tekla Structures and Trimble LM80 - Part 1</a></li>
<li><a href="http://www.youtube.com/watch?v=RW62O_zA3kA">Tekla Structures and Trimble LM80 - Part 2</a></li>
<li><a href="http://www.youtube.com/watch?v=xMDCHosBsZo&NR=1">Trimble Total Station</a></li>
<li><a href="http://www.youtube.com/watch?v=vk9n4DoVlZc&">Taking BIM to the Field with Tekla and Trimble LM80 - Part 1</a></li>
<li><a href="http://www.youtube.com/watch?v=RW62O_zA3kA&">Taking BIM to the Field with Tekla and Trimble LM80 - Part2</a></li>
</ul><h3><span class="long-title" style="font-size: small;">Webinar</span> </h3><ul><li><a href="http://www.tekla.com/us/about-us/events/Pages/BIMfortheJobsite.aspx">BIM for the Jobsite webinar</a></li>
<li><a href="http://www.tekla.com/us/about-us/events/Pages/ErectorWebinar.aspx">Tekla Structures for the Erector Webinar</a></li>
<li><a href="http://www.tekla.com/us/about-us/events/Pages/NASCC2010.aspx">Structures Congress/North American Steel Construction Conference (NASCC 2010)</a></li>
</ul><h3><span class="long-title" style="font-size: small;">Documents</span></h3><ul><li><a href="http://www.tekla.com/us/solutions/references/Pages/swinerton.aspx">Connecting Building Information Models to Robotic Total Stations</a></li>
</ul>Frank Wang (王立人)http://www.blogger.com/profile/17656980640768074320noreply@blogger.com0