Script.NET V2.2版本发布

Script.NET 2.2.1版本发布了,这个版本主要更新如下:

  • 完善打开文件的状态保存,可以在程序关闭时保存打开的文档以及每个文档的编辑状态,支持保存和加载Session文件;
  • 完善编辑器模块,使用Scintilla替换旧版本的编辑器,支持代码折叠、代码隐藏、行号显示,支持单词、关键字自动完成,支持语法标记高亮显示等功能,支持UTF-8等文件编码,支持导出为Html、RTF文档;
  • 完善各种脚本的调试功能,优化变量、对象、函数、堆栈调试窗口,对大部分脚本可以较好的支持数组、哈希类型变量以及对象的内容展开显示,可以更好的进行错误行定位;
  • 完善查找替换功能,可以将查找到的行信息显示在停靠窗口,可以选择性进行替换,支持正则表达式(目前对UTF-8编码的中文查找支持还不完善);
  • 优化控制台功能,可以将控制台打开在停靠窗口中,方便调试过程中通过控制台进行更灵活的控制和定位;
  • 增加崩溃报告功能,在程序出现异常导致崩溃的时候会自动生成崩溃诊断文件,用户可以自动或人工反馈崩溃诊断文件,方便我们进行故障定位;
  • 增加自动化测试类型的工程支持,可以创建自动化测试工程;
  • 增加Windows右键菜单关联功能,完善脚本文件的关联设置;
  • 完善图像编辑器模块,基于CxImage6.0开发,增强了图像处理功能;
  • 完善编辑器的提示功能,支持鼠标移动到单词上的tooltip提示,调试状态下还支持变量信息的tooltip提示
  •  

MaxScript.Net 是 3ds Max 中的一种编程语言,其可以通过 .NET 库调用 Windows 系统 API,实现各种复杂的操作。其中,MaxScript.Net 还提供了 Socket 类,可以通过 TCP 或 UDP 协议与其他程序进行通信。 以下是一个简单的示例,演示如何通过 TCP 协议监听本地端口,并接收消息执行 MaxScript 代码: ```csharp using System.Net; using System.Net.Sockets; using System.Text; using Autodesk.Max; public class SocketServer { private TcpListener listener; private bool running; public void Start(int port) { listener = new TcpListener(IPAddress.Any, port); listener.Start(); running = true; while (running) { var client = listener.AcceptTcpClient(); var stream = client.GetStream(); var buffer = new byte[1024]; var data = new StringBuilder(); do { var bytes = stream.Read(buffer, 0, buffer.Length); data.Append(Encoding.UTF8.GetString(buffer, 0, bytes)); } while (stream.DataAvailable); var script = data.ToString(); MaxscriptSDK.ExecuteMAXScriptScript(script); client.Close(); } } public void Stop() { running = false; listener.Stop(); } } ``` 上述代码中,我们定义了一个 SocketServer 类,其中包含 Start 和 Stop 两个方法,用于启动和停止服务。在 Start 方法中,我们通过 TcpListener 类监听指定端口(本例中使用的是任意可用地址和指定端口),并循环等待客户端的连接。一旦有客户端连接,我们获取其网络流(Stream)对象,然后读取接收到的消息,并使用 StringBuilder 类将其组合成一个完整的字符串。最后,我们调用 MaxscriptSDK.ExecuteMAXScriptScript 方法,执行接收到的 MaxScript 代码。在执行完毕后,关闭连接,进入下一次循环等待。 注意,上述代码中的 MaxscriptSDK.ExecuteMAXScriptScript 方法是 MaxScript.Net 提供的 API,用于执行 MaxScript 代码。 使用上述代码,我们可以通过任何支持 TCP 协议的程序,向指定端口发送 MaxScript 代码,从而实现与 3ds Max 的交互。例如,我们可以使用 Python 的 socket 库,编写如下代码: ```python import socket client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect(('localhost', 1234)) script = ''' $box() ''' client.send(script.encode('utf-8')) client.close() ``` 上述代码中,我们使用 Python 的 socket 库创建一个 TCP 客户端对象,并连接到本地的 1234 端口。然后,我们将要执行的 MaxScript 代码组合成一个字符串,并通过客户端对象发送出去。最后,我们关闭连接,结束程序。 当我们运行 Python 脚本时,MaxScript.Net 会自动执行接收到的 MaxScript 代码,创建一个简单的盒子。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值