Tworzenie dodatku
Dodatek to wtyczka wczytująca również pliki DLL, które ujawniają nowe interfejsy API języka JavaScript.
Pobieranie interfejsu API programu FormIt
Aby można było utworzyć pliki DLL obsługujące program FormIt, wymagany jest interfejs API programu FormIt. Interfejs API programu FormIt można pobrać z witryny Autodesk Developers Network. Pobranie jest możliwe dopiero po zalogowaniu się.
Po zalogowaniu się interfejs API programu FormIt jest dostępny w obszarze SOFTWARE (OPROGRAMOWANIE).


Dodatek ma dostęp do interfejsu API programu FormIt oraz interfejsu API FormIt Modeling Kernel C++.
Dodatek ma następującą strukturę:
// FormIt looks for REGISTERAPIMETHODS to load new JS APIs
REGISTERAPIMETHODS
{
// Declare new namespace for the new JS APIs
REGISTERNAMESPACE("HelloDLL")
// Create a JS API with no arguments
APIMETHOD(HelloDLL, API1, "") {}
// Create a JS API with 1 argument
APIMETHOD(HelloDLL, API2, "arg1") {}
// Create a JS API with 2 argument
APIMETHOD(HelloDLL, API3, "arg1, arg2") {}
...
...
}
Aby pobrać argumenty do zmiennych C++, użyj polecenia SCRIPTCONVERTER-
// Create a JS API with 2 argument
APIMETHOD(HelloDLL, API3, "arg1, arg2")
{
// NOTE: The arg names above ^^^^ have to match the args in the macros below.
// arg1 expects a bool
SCRIPTCONVERTER(bool, arg1);
// arg2 expects an int
SCRIPTCONVERTER(int, arg2);
return JSON_UNDEFINED;
}
Może zostać zwrócony obiekt JSON_UNDEFINED lub dowolny obiekt json. Za pomocą to_json przekonwertuj zmienną C++ na json
// Create a JS API with 2 argument
APIMETHOD(HelloDLL, API3, "arg1, arg2")
{
// NOTE: The arg names above ^^^^ have to match the args in the macros below.
// arg1 expects a bool
SCRIPTCONVERTER(bool, arg1);
// arg2 expects an int
SCRIPTCONVERTER(int, arg2);
std::string myValue = "Test";
return to_json(myValue);
}
Po zdefiniowaniu przez bibliotekę DLL wszystkich potrzebnych interfejsów API języka JS wtyczka musi poinformować program FormIt, które biblioteki DLL wymagają wczytania. Jest to realizowane w manifeście.
"DLLs" : ["PLUGINLOCATION/MyClass.dll", "PLUGINLOCATION/HelloDLL.dll"]
HelloAddIn to działający przykład, w którym wyjaśniono sposób tworzenia dodatku.
HelloWSMAddIn to działający przykład, w którym wyjaśniono sposób tworzenia dodatku za pomocą interfejsu API FormIt Modeling Kernel C++.
Last updated