如何使用Maxscript访问C#类库?

news2024/11/25 10:53:36

本教程帮助你一步一步集成maxscript文档和C#类库,以便你能够在maxscript提供的相当有限的环境中访问dotnet框架的强大功能。这让你可以使用maxscript做一些功能更强大的事情,比如访问数据库、获取web部署的内容等等。

还是直接上教程实惠:

第1步:在Visual Studio中创建一个新的类库项目。

          

因此,在visualstudio的启动屏幕上,继续并进入“文件”>“新建”>“项目”。

选择一个C#类库。我将把我的名字命名为“Maxscript沙盒”。    

          

第2步:编写一个测试类。

现在,让我们为我们的新类库编写一个测试类。在这个屏幕截图中,我编写了一个非常简单的类,其中包含一个创建时传递的字符串。对象存在后,您可以访问名称,也可以调用一个函数,该函数为您提供包含名称的语句。很简单!

将类重命名为TestObject,并填写下面的代码。

public class TestObject
{
    string Name;
    public TestObject(string thisName)
    {
        Name = thisName;
    }

    public string GetLongName()
    {
        return ("You can call me " + Name + "!");
    }
}

第3步:编译。

从顶部栏的下拉列表中,将构建模式从“调试”更改为“发布”。这意味着编译器将优化代码以实现快速执行,而不是进行调试并试图找出问题所在。在这一点上,我认为有一种方法可以从脚本中调试类。但是,它不在本教程的范围内。如果您正在烧录调试,请制作一个控制台应用程序来封装您的类并从中测试功能。

          

现在,点击F6或转到“构建”>“构建解决方案”。    

          

第4步:从Maxscript调用新对象。

我在下一张图片中评论了很多代码,但实际上它比看起来要短得多。你所要做的就是加载你创建的新类库,实例化对象,然后对它做任何你想做的事情。

请注意,我已经将构建类库时产生的.dll文件移到了较短的位置。通常,类库会编译到创建项目时所选项目文件夹中的一个目录(如C:/…/Maxscript Sandbox/Maxscript桑德box/bin/release/Maxscript Sandbox.dll)。我已经把那个文件从那个长得令人难以置信的目录移到了更容易理解的目录,比如C/Temp/Maxscript Sandbox.dll。    

 

dotnet.loadAssembly ("C:\Temp\Maxscript Sandbox.dll")
ThisTestObject = dotNetObject "Maxscript_Sandbox.TestObject" "Burt"
print (ThisTestObject.GetLongName())

当你运行这个程序,并且dll在正确的位置时,你会发现它的输出就像这个对象是一个原生的max对象。然而,它实际上是在dotnet框架中运行的。

          

本期教程为你分享到这里,下期再会!    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1898109.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux:进程间通信(一.初识进程间通信、匿名管道与命名管道、共享内存)

上次结束了基础IO:Linux:基础IO(三.软硬链接、动态库和静态库、动精态库的制作和加载) 文章目录 1.认识进程间通信2.管道2.1匿名管道2.2pipe()函数 —创建匿名管道2.3匿名管道的四种情况2.4管道的特征 3.基于管道的进程池设计4.命…

一些linux指令(转:一次服务器被入侵的处理过程分享)

https://www.cnblogs.com/operationhome/p/16637763.html 1.查找详细的入侵痕迹 last grep Accepted /var/log/secure 2.查看最近新增的一些用户 cat /etc/passwd 3.查看定时任务的日志 vi /var/log/cron 4.查看开机启动脚本 cat /etc/rc.local

单元测试Spring 上下文加载过程中遇到的阻塞或死锁问题

IDEA单元测试一直转圈,阻塞,前置后置的方法都不执行,无任何输出 1.单元测试类 SpringBootTest(classes {BareMetalApplication.class}) RunWith(SpringRunner.class) public class K8sUserNfsStoreInitServiceImplTest {BeforeEachpublic…

如何使用 SwiftUI 构建 visionOS 应用

文章目录 前言WindowsVolumes沉浸式空间结论 前言 Apple Vision Pro 即将推出,现在是看看 SwiftUI API 的完美时机,这使我们能够将我们的应用程序适应 visionOS 提供的沉浸式世界。苹果表示,构建应用程序的最佳方式是使用 Swift 和 SwiftUI。…

【C++】 解决 C++ 语言报错:Undefined Reference

文章目录 引言 未定义引用(Undefined Reference)是 C 编程中常见的错误之一,通常在链接阶段出现。当编译器无法找到函数或变量的定义时,就会引发未定义引用错误。这种错误会阻止生成可执行文件,影响程序的正常构建。本…

气压传感器在自动驾驶汽车还有哪些应用场景

气压传感器在近年来被广泛应用于各种新兴领域,以下是其中几个最新的应用: 1、自动驾驶汽车:自动驾驶汽车需要精确的气压传感器来监测道路上的气压变化,帮助车辆进行准确的定位和导航。气压传感器可以提供高精度、可靠的气压数据&…

2.ast快速脚本熟悉ast类型-cnblog

观察ast ast更换结果使a3 // 引入Node.js的文件系统模块,用于读写文件 const fs require(fs); const types require("babel/types") // 引入babel/parser模块,用于将源代码转换成AST(抽象语法树) const parser requ…

【东奥会计-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

存算一体架构或成为AI处理器技术发展关键

©作者|坚果 来源|神州问学 引言 马斯克巨资60亿美元打造的“超级算力工场”,通过串联10万块顶级NVIDIA H100 GPU,不仅震撼了AI和半导体行业,促使英伟达股价应声上涨6%,还强烈暗示了AI大模型及芯片需求的急剧膨胀。这一行动…

【信息学奥赛】CSP-J/S初赛07 排序算法及其他算法在初赛中的考察

本专栏👉CSP-J/S初赛内容主要讲解信息学奥赛的初赛内容,包含计算机基础、初赛常考的C程序和算法以及数据结构,并收集了近年真题以作参考。 如果你想参加信息学奥赛,但之前没有太多C基础,请点击👉专栏&#…

研0学习Python基础4

1.数组是一种存储大量同性质数据的连续内存空间,只要使用相同的变量名称,便可以连续访问 每一组数据。由于数组元素的便利性,使得大多数程序中都可以看到数组的身影。数组是一 个带有多个数据且模式相同的元素集合。比如,数值所…

cmake编译源码教程(一)

1、介绍 本次博客介绍使用cmake编译平面点云分割的源代码,其对室内点云以及TLS点云中平面结构进行分割,分割效果如下: 2、编译过程 2.1 源代码下载 首先,下载源代码,如下所示,在该文件夹下新建一个build文件夹,用于后续生成sln工程。 同时,由于该库依赖open…

【基于R语言群体遗传学】-6-表型计算等位基因频率、最大似然估计方法

到目前为止,我们主要讨论了等位基因和基因型频率,以及我们如何可以从一个推断出另一个。但是,如果我们不知道等位基因频率,只知道种群中存在哪些表型呢?如果我们足够幸运,知道哪些表型对应哪些基因型&#…

散度的可视化

散度的可视化 flyfish 向量场和散度 假设我们有一个简单的向量场: F ( x , y , z ) \mathbf{F} (x, y, z) F(x,y,z)在这里,向量场 F \mathbf{F} F 是由三个分量组成的向量,每个分量是空间坐标 x x x、 y y y、 z z z 的函数&#xff…

详细的讲解一下网络变压器应用POE ,AT BT AF BF的概念,做电路连接指导分析

网络变压器在应用POE(Power over Ethernet)技术时,承担着重要的角色。它不仅负责数据的传输,同时也为网络设备提供电力。在IEEE 802.3标准中,定义了几个与POE相关的标准,包括802.3af、802.3at、802.3bt等&a…

分享6个自己每天都会打开的网站

分享6个自己每天都会打开的网站,有实用办公网站,也有休闲摸鱼网站,链接直达,速看~ 1、鸠摩搜索 https://www2.jiumodiary.com/ 一个免费的电子书下载网站,页面干净无广告,只有一个搜索框,输入…

力扣双指针算法题目:复写零

1.题目 . - 力扣(LeetCode) 2.解题思路 本题要求就是对于一个数组顺序表,将表中的所有“0”元素都向后再写一遍,且我们还要保证此元素之后的元素不受到影响,且复写零之后此数组顺序表的总长度不可以改变,…

微信开发者工具报错 Error: module ‘xxx.js‘ is not defined, require args is ‘xxx.js‘

背景 报错如下 检查 代码逻辑和写法都是ok的微信开发者工具重新打开项目又是可以的 解决方案 先确保微信开发者工具和uniapp的将js编译成es5都开着(这个是默认开的) 然后把微信开发者工具关了重开 一般做这一步就会好了,但是只是临时解…

基于python 的动态虚拟主机

将自己电脑上的Python脚本文件上传到虚拟机/var/www/cgi-bin/目录下 [rootlocalhost conf.d]# cd /var/www/cgi-bin/ [rootlocalhost cgi-bin]# rz -E rz waiting to receive.编辑vhost.conf配置文件 [rootlocalhost conf.d]# vim vhost.conf<virtualhost 192.168.209.140…

10元 DIY 一个柔性灯丝氛围灯

之前TikTok上特别火的线性氛围灯Augelight刚出来的时候一度卖到80多美金&#xff0c;国内1688也能到400多人民币。 随着各路国内厂商和DIY创客的跟进&#xff0c;功能变多的同时价格一路下滑&#xff0c;虽然有的质感的确感人&#xff0c;但是便宜啊。 甚至关注的up有把成本搞到…