oipExpressを試すことができます。 oipExpressはC++で書かれた初期バインディングジェネレータです。 VB.Netクラスを生成する独自のジェネレータを実装するだけです。現在、C++クラスを生成するだけです。 VB.Netクラスの
基本的な発電機は、この(結合生成もhere見つけることができる)ようになります。
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";
};
生成事前バインディングは次のようになります。![Generated early binding](https://i.stack.imgur.com/PKbhP.png)
内部oipExpressのメタモデルは次のようになります。 ![oipExpress Meta Model](https://i.stack.imgur.com/5weG1.png)
ありがとう! :) – Marievi