Rhino.Scripting 0.7.0

dotnet add package Rhino.Scripting --version 0.7.0                
NuGet\Install-Package Rhino.Scripting -Version 0.7.0                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Rhino.Scripting" Version="0.7.0" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中以引用此包。
paket add Rhino.Scripting --version 0.7.0                
#r "nuget: Rhino.Scripting, 0.7.0"                
#r 指令可用于 F# 交互式和 Polyglot 笔记本。将其复制到交互式工具或脚本的源代码中以引用包。
// Install Rhino.Scripting as a Cake Addin
#addin nuget:?package=Rhino.Scripting&version=0.7.0

// Install Rhino.Scripting as a Cake Tool
#tool nuget:?package=Rhino.Scripting&version=0.7.0                

Rhino.Scripting

code size license

logo

Rhino.Scripting 是 F#(和 C#)中 RhinoScript 语法的实现。在此代码库之前,高层次的 Rhino-scripting API 只适用于 VBScript 和 Python。此代码库使 F# 和 C# 一起使用 RhinoScriptSyntax 成为可能,同时还可以使用 F# 和 C# 伴随的所有出色的编码体验和编辑器工具,例如

  • 编写代码时的自动代码完成。
  • 在后台自动进行错误检查和突出显示。
  • 鼠标移过时的类型信息。
  • 即使在没有类型注解的情况下也具有类型安全性(即 F# 中的类型推断)。

RhinoScript 是什么?

RhinoScript 为 Rhino3D CAD 应用程序提供应用程序脚本。
RhinoScript 有超过 900 个函数,可用于控制所有类型的 Rhino3D 自动化方面。
最初于 2002 年使用 VBScript 实现。
有关基于原始 VBScript 版本的大量文档可在 此处 获得。

2010 年,所有 RhinoScript 函数 都在 IronPython 中重新实现(在 .NET 上运行 Python)。
这允许使用一种现代、丰富且动态类型的编程语言,具有庞大的标准库,以及访问所有底层 .NET 框架功能,以及 RhinoCommon SDK 中的所有功能。

这个仓库是什么?

这个仓库包括了所有 RhinoScript 函数在F#中的重新实现。
这实际上是将开源的 Ironpython rhinoscriptsyntax 实现翻译成 F#。
Fuget.org 是一个很好的工具,用来探索这个仓库中的900个方法

修复了一些 Python 实现中的小错误,添加了一些额外的方法和可选参数。我从2019年开始广泛使用这个库来满足我的专业脚本需求。如果您有问题、疑问或发现错误,请开设问题

C# 入门

推荐在 Rhino 8 的新 RhinoCode 编辑器中进行脚本编写。
不过您也可以在编译的 F#、C# 或 VB.net 项目中使用这个库。首先引用程序集。

#r "nuget: FSharp.Core, 7.0.0"
#r "nuget: FsEx, 0.14.1"
#r "nuget: Rhino.Scripting, 0.7.0"

主命名空间是 Rhino.Scripting。这个库的主要类叫做 RhinoScriptSyntax,它包含所有 ~900 个函数作为静态方法。在 C# 中,您可以创建别名如下

open Rhino.Scripting; 
using rs = RhinoScriptSyntax;

然后您可以像使用 Python 中的 RhinoScriptSyntax 一样使用它

var pt =  rs.GetObject("Select an Object");
rs.ObjectColor(pt, System.Drawing.Color.Blue);

F# 入门

我将很快发布一个用于 Rhino 的 F# 脚本编辑器。原型已经运行良好。

首先引用程序集。

#r "nuget: Rhino.Scripting, 0.7.0"

主命名空间是 Rhino.Scripting。这个库的主要类叫做 RhinoScriptSyntax,它包含所有 ~900 个函数作为静态方法。在 F# 中,您可以创建别名如下

open Rhino.Scripting
type rs = RhinoScriptSyntax 

然后您可以像在 Python 或 VBScript 中一样使用任何 RhinoScript 函数
CoerceXXXX 函数将帮助您创建类型,如果您太懒而不想完全指定它们。

let pl = rs.CoercePlane(0 , 80 , 0) // makes World XY plane at point
rs.AddText("Hello, Seff", pl, height = 50.)

VBScript 和 Python 中的动态类型和可选参数如何呢?

许多 RhinoScript 函数接受输入参数的变量类型。这是通过方法重载实现的。许多 RhinoScript 函数都有可选参数。这些也是作为可选方法参数实现的。

变更日志

0.7.0

  • 将主静态类从 Rhino.Scripting 重命名为 Rhino.Scripting.RhinoScriptSyntax!

0.6.2

  • 与 Seff 编辑器同步更好

0.6.1

  • 与 Seff 编辑器同步更好
  • 修复文档

0.6.0

  • 不再检查 CommitChanges() 的结果
  • 放宽对 UserText 值的约束

0.5.1

  • 修复 README
  • 改进同步上下文的查找

0.4.0

  • 修复在 RhinoCode 中工作时的线程错误
  • 修复拼写错误

0.3.0

  • 移除 WPF 依赖
  • 不再返回 F# 选项

0.2.0

  • 第一个公开版本
产品 兼容和额外的计算目标框架版本。
.NET 框架 net48 兼容。 net481 已计算。
兼容目标框架
包含的目标框架(包中包含)
了解更多关于 目标框架.NET 标准版 的信息。

NuGet 包

此包未被任何 NuGet 包使用。

GitHub 仓库

此包未被任何流行的 GitHub 仓库使用。

版本 下载 最后更新
0.7.0 203 9/10/2023
0.6.2 179 7/9/2023
0.6.1 161 6/18/2023
0.6.0 165 5/7/2023
0.5.1 280 2/20/2023
0.5.0 243 2/18/2023
0.4.0 280 1/21/2023
0.3.0 325 12/3/2022
0.2.0 320 11/25/2022

- 将主静态类从 Rhino.Scripting 重命名为 Rhino.Scripting.RhinoScriptSyntax!