E3D(Everything3D)提供了 Aveva.E3D.Standalone.dll,可以同这个来打开数据库,并遍历数据库。

下面是示例代码,需要在项目中引入 Aveva.E3D.Standalone.dll、Aveva.Core.Utilities.dll 和 Aveva.Core.Database.dll。启动程序是需要先在命令提示符中执行 "%E3D安装目录%\evars.bat" "%E3D安装目录%" 来初始化 E3D 有关环境变量,再执行程序。

using System;
using Aveva.E3D.Standalone;
using Aveva.Core.Utilities.Messaging;
using Aveva.Core.Database;

namespace open_cata_test
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Standalone.Start();
                PdmsMessage msg;
                if (!Standalone.Open("APS", "SYSTEM", "XXXXXX", "ALL", out msg))
                {
                    Console.Error.WriteLine(msg.MessageText());
                    return;
                }

                var mdb = MDB.CurrentMDB;
                Console.WriteLine(String.Format("mdb = {0}", mdb.Name));

                var dbArr = mdb.GetDBArray();
                foreach(var db in dbArr)
                {
                    if (db.Type != DbType.Catalogue)
                    {
                        continue;
                    }
                    Console.WriteLine(String.Format("  db = {0}", db.Name));
                }
                Standalone.Finish();
            } catch (Exception ex)
            {
                Console.Error.WriteLine(ex.StackTrace);
            }
        }
    }
}

发表回复

您的电子邮箱地址不会被公开。