问题标签 [rhino3d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
487 浏览

c# - 我可以以类似于此 C++ 示例的方式实例化 C# 类吗?

我已将以下 C++ 代码翻译为 C#,但我无法确定在何处以及如何实例化该类。如果我这样做使用:

它收到一条错误消息,告诉我该类是由 Rhino3D 实例化的,因此我不应该实例化它。但是我需要创建一个对类的引用,这样我就可以获得m_am_id由基类创建的静态成员。

这是我遇到问题的行:

提前致谢。

C++ 代码:

C#代码:

0 投票
1 回答
141 浏览

python - Rhino.Python 和 .NET 框架

什么是Rhino.Python?我遇到了它,也知道它可以使用 .NET 框架中的类。它与普通版本的 Python 有何不同?

这项技术有多成熟和稳定?

0 投票
4 回答
182 浏览

c# - 该方法的参数预期是什么?

我正在尝试使用DivideByLength以下基于RhinoCommon SDK 的方法,但我无法理解第三个参数是什么。我尝试基于此方法编写以下代码,但收到以下错误消息:Error: 'Rhino.Geometry.Point3d' is a 'type' but is used like a 'variable'

我认为第三个参数是指定我想要点作为输出而不是加倍。我究竟做错了什么?

方法:

代码:

0 投票
1 回答
177 浏览

python - 在 for 循环中可以理解 python 列表吗?

考虑下面 Rhino v.5 中的这个 python 列表理解代码:

因为你们中的很多人都不知道我在这里调用的 rhinoscriptsyntax 命令:

我希望你能阅读其余的语法,因为问题在于列表理解而不是 rhinoscriptsyntax。

我没有开始工作的是列表切片代码中的第二个“j”:

我只得到 j=1 的结果,而不是 j=2 的结果,尽管我在 range(1,3) 的循环中使用 aj

在这种情况下,'for j in range(1,3)' 是否根本不起作用,它是否仅适用于 '=' 的左侧,我将它用于 'objlist + str(j)'或者它根本不应该与列表理解一起使用,我应该找到一种方法来用列表理解重写所有内容?

ps 即使我用字典解决了 globals() 问题,我仍然需要 j 以便在每次迭代时对不同范围的列表进行切片。

0 投票
1 回答
4103 浏览

python - 将python中的数组列表转换为蚱蜢中的树

我是 Python 的初学者,有一个关于转换数据结构的问题,以便在 Grasshopper 中使用它。

作为我的 python 代码的输出,我有一个立方体网格(GUID),按我所说的“世代”分层。除此之外,它还输出一个数据网格,其中包含有关每个立方体应该获得什么颜色的信息。

例如:对于 i=3 中的 j=5,在 generation=5 中,我有一个立方体。在另一个列表中,对于 i=3 中的 j=5 ,在 generation=5 中,我将 'green' 作为字符串。在蚱蜢中,我想将这个“绿色”值链接到一个样本,然后用它为正确的立方体着色。

问题是 Python 输出一个 3 维数组,而 Grasshopper 在树中工作。所以,我必须将我的输出转换为一个树结构,其中第一级是“世代”,第二级是“i”,第三级是“j”。

一个朋友给我发了这段代码,所以我想这是如何开始的:

从 Grasshopper.Kernel.Data 导入 clr clr.AddReference("Grasshopper") 从 Grasshopper 导入 GH_Path 导入 DataTree

我希望你们能帮忙!泰莎

这是我的主要功能:

这是渲染函数:

这是颜色函数:

最后,这就是我向 Grasshopper 输出的内容:

在蚱蜢中,这给了我一个“Iron.Python.Runtime.List”列表。

0 投票
2 回答
1838 浏览

c# - Rhino 3d 插件,用于打开 .3dm 文件

我是为 rhino 3d 编写插件的新手。我在这里浏览了文档和示例代码: http ://wiki.mcneel.com/developer/dotnetplugins

但无法弄清楚如何从插件打开 .3dm 文件。

有人能帮我吗?

谢谢!!

0 投票
1 回答
920 浏览

python - 在 RhinoPython 中打开 geojson 文件

我希望我的问题可以通过一些 geojson 专业知识来解决。我遇到的问题与 RhinoPython 有关——McNeel 的 Rhino 5 中的嵌入式 IronPython 引擎(更多信息在这里:http://python.rhino3d.com/)。我认为没有必要成为 RhinoPython 的专家来回答这个问题。

我正在尝试在 RhinoPython 中加载 geojson 文件。因为您不能像在 Python 中那样将 geojson 模块导入 RhinoPython,所以我使用这里提供的这个自定义模块 GeoJson2Rhino:https ://github.com/localcode/rhinopythonscripts/blob/master/GeoJson2Rhino.py

现在我的脚本看起来像这样:

尤其是:

当我尝试从常规 python 2.7 中提取 geojson 数据时工作正常。但是在 RhinoPython 中,我收到以下错误消息:消息:参数“文本”的预期字符串,但得到“文件”;参考 gj_data = geojson.load(f)。

我一直在查看上面链接的 GeoJson2Rhino 脚本,我认为我已经正确设置了函数的参数。据我所知,它似乎无法识别我的 geojson 文件,并希望将其作为字符串。是否有替代文件打开功能可用于获取将其识别为 geojson 文件的功能?

0 投票
1 回答
826 浏览

c# - MissingMemberException:“Guid”对象没有属性“长度”

我正在尝试获取曲线的长度,但收到的消息是:MissingMemberException: 'Guid' object has no attribute 'length'C# 中的相同脚本可以完美运行。python翻译有什么问题?这是文档

PYTHON:

C#:

0 投票
1 回答
1266 浏览

python - 将曲线除以弦高

我想将曲线细分为弦高相等的段。我知道我可以使用“分割距离”工具将弦长分成相等的长度,但我找不到高度选项。我在这里写了一些非常脏的代码。(不要评判我,它不优雅且效率低下,但它确实有效。)

曲线除以弦高

我真正想听到的是,继续进行二进制搜索之类的东西是没有意义的,因为 Grasshopper 中已经有一个功能可以做到这一点,但是如果失败了,有没有人对如何在更有效的方法?

0 投票
1 回答
1332 浏览

python - 使用 RhinoPython 将面添加到现有网格

我正在使用 RhinoPython 和 RhinoCommon 来尝试将面添加到现有网格。一切似乎都正常,但创建的面与我选择的点不在同一个位置。有人可以解释为什么所选点的索引号似乎不是正确的吗?