Проверьте этот проект: https://github.com/nmalex/remote-maxscript.dlx
remote-maxscript.dlx
- это плагин MaxScript 3dsmax , который работает как удаленный сервер MAXScript внутри 3dsmax.Вы можете запустить / остановить его с помощью команд MAXScript и обмениваться данными с сервером по простому текстовому протоколу.Каждый запрос обрабатывается как код maxscript, он будет выполнен, и результат будет отправлен через TCP.
Внутренне он запускает TCP-сервер, который:
- прослушивает входящий TCPподключений,
- получает запросы клиентов в виде простого текста,
- выполняет текстовые команды как maxscript и возвращает результаты обратно.
Вместо создания плагина DLX вы можете заключить в оболочкуэто в консольное приложение:
#include "stdafx.h"
#include "maxscript.server.h"
using namespace maxscript_server;
void HandleRequest(SOCKET clientSocket, const char* data) {
printf("Received: %s\n", data);
// TODO: handle data
MAXScriptServer::Send(clientSocket, "OK"); // send back result "OK"
}
int main(int argc, char **argv)
{
MAXScriptServer server((MAXScriptOutputCallback)&HandleRequest);
server.Listen(29207);
return 0;
}
Осталось только сделать C ++ в библиотеке C #.