1

我正在开发一个项目,我想将EXPRESS文件的类转换为类。一个一个地处理文件的所有属性真的很困难stp,所以我想知道是否有其他方法或工具可以转换类。

编辑:我发现完全符合我的要求,但在中。我也看过IFC Engine DLL但没有找到任何可用的代码。

4

3 回答 3

2

为完整的 EXPRESS 模式创建类是相对复杂的任务。如果您选择的语言/平台是 vb.net,我建议您查看xBIM。它是开源工具包,提供打开 IFC 模型和提取/创建所需的任何数据所需的一切。xBIM主要是用 C# 编写的,因此您可以将其作为NuGet 包引用。最新的开发代码也支持IFC4

于 2016-05-17T12:09:32.747 回答
1

Jotne EPM www.epmtech.jotne.com 和 IFC Engine DLL www.ifcengine.com 都声称它们支持 Visual Basic。

于 2016-05-13T13:19:53.330 回答
1

你可以试试oipExpress。oipExpress 是一个用 C++ 编写的早期绑定生成器。只需实现我们自己的生成 VB.Net 类的生成器。目前,它只生成 C++ 类。

VB.Net 类的基本生成器可能如下所示(生成的绑定也可以在这里找到):

class GeneratorVBNet : public Generator {
public:
    GeneratorVBNet() {
    }
    virtual ~GeneratorVBNet() {
    }

    void generate(std::ostream &out, OpenInfraPlatform::ExpressBinding::Schema &schema) {
        for (int i = 0; i < schema.getEntityCount(); i++) {
            auto &entity = schema.getEntityByIndex(i);

            std::stringstream ss;
            ss << earlyBindingDestination << "\\" << entity.getName() << ".vb";

            std::ofstream ofs(ss.str(), std::ofstream::out);

            ofs << "Class " << entity.getName() << std::endl;

            ofs << "End Class" << std::endl;
        }
    }

private:
    std::string earlyBindingDestination = "E:\\dev\\EarlyBindingVBNet_IFC4x1_Add1";
};

生成的早期绑定将如下所示:生成的早期绑定

oipExpress 的内部元模型如下所示: oipExpress 元模型

于 2017-01-01T16:23:26.990 回答