赞助商
赞助入驻
sDNA_GH

sDNA_GHLatest release on the project's Github releases page

Runs sDNA from Grasshopper, on Rhino and Grasshopper geometry and data.sDNA is a world leading tool for Spatial Design Network Analysis.

更新日期:2023年12月28日分类标签: 语言: 平台:

历史版本(2) 2 人已下载 手机查看

此插件为官方原版未经修改,如需了解对应#rhino插件#的原版信息,可在页面底部点击跳转官方网站进行查看下载。

哪里可以下载到rhino插件
当然是访问建筑曲奇导航的Rhino插件板块,超全rhino 插件下载请访问: rhino插件大全


 

sDNA_GH 是一个开源(MIT许可)插件,提供组件在 Grasshopper 内从本地 sDNA 安装运行工具。 

sDNA 能够计算介数、接近度、角度距离以及包括自定义混合度量在内的许多其他量,还能够执行许多其他高级功能。 

sDNA_GH:

  •  从 Rhino 或 Grasshopper 读取网络的多段线几何形状,并从其上任何用户文本读取数据。
  •  将网络多段线(由一个或多个多段线组成)和用户数据写入 Shapefile。 
  •  启动一个处理该 shapefile 的 sDNA 工具,例如执行网络准备或分析。
  •  读取由 sDNA 工具生成的 shapefile。
  •  通过为新的或原始的多段线着色来显示来自 sDNA 的结果。

安装

1. 确保你安装了 Rhino 3D 包括 Grasshopper(支持版本 6 和 7)

2. 要使用 sDNA 与 sDNA_GH,请确保安装了 Python 2.7Python 2.7.18,它可以从命令行正确运行 sDNA,并带有用于 sDNA Learn 的 pip。 sDNA_GH 从命令行运行 sDNA。 命令行使用 sDNA 已在 Python 版本 2.6 和 2.7 中进行了测试。 不要使用 Iron Python 2.7 运行 sDNA,因为可能会生成无效的 shape 文件(无论如何,都无法从命令行访问随 Rhino 附带的 Iron Python)。 

3. sDNA Learn 需要 numpy。 在安装 Python 2.7.18 后,可以通过打开 cmd 窗口并输入:“cd C:Python27Scripts”和“pip2.7 install numpy”来添加 numpy。

可选: 如果这个 Python 2.7.18 安装也被其他进程使用,为了保证没有依赖冲突,使用 venv 来运行 sDNA,例如首先输入:“cd C:Python27Scripts”接着是“pip2.7 install virtualenv”和“<abs_path_to_sDNA_GH_venv_folder>Scriptspip2.7 install numpy”(输入“<abs_path_to_sDNA_GH_venv_folder>Scriptsactivate.bat”从命令行测试 venv),然后在下面的步骤 13.3 中设置“python”为“<abs_path_to_sDNA_GH_venv_folder>Scripts”(在一个配置组件或 config.toml 上)。

4. 要使用 sDNA 与 sDNA_GH,请确保安装了 sDNA。 sDNA 本身可能需要 64 位 (x64) Visual Studio 2008 再发行版(替代下载 链接。 闭源的“免费啤酒”版本 sDNA 和 sDNA+ 可能还需要 32 位 (x86) Visual Studio 2008 再发行版(替代下载 链接 来解锁带有序列号的 sDNA。

5. 从 food4rhino 或 sDNA_GH 的 Github 释放页面下载 sdna-gh.zip。 

6. 确保 sdna-gh.zip 被解封:打开文件资源管理器并转到你的下载文件夹(或你保存它的任何文件夹)。 右键点击它并从菜单底部选择属性。 然后点击底部(安全右侧)的“解封”复选框,并点击确定或应用。 复选框和_安全_部分应该消失。 这应该解封 zip 存档中的所有文件。 请不要自动信任并解封从互联网任何地方下载的所有软件(sDNA_GH 的源代码和构建脚本在 Github 上是可见的)。 

7. 打开 Rhino 和 Grasshopper。

8. 在 Grasshopper 的下拉菜单(位于顶部标签 ribbon 上方)点击文件 -> 特殊文件夹 -> 用户对象文件夹。 Rhino 7 的默认位置是 %appdata%GrasshopperUserObjects。 注意,这不是许多其他插件使用的组件文件夹(即不是 %appdata%GrasshopperLibraries)。

9. 将 sdna-gh.zip 复制到这个文件夹(它应该在例如 %appdata%GrasshopperUserObjectssdna-gh.zip)。 

10. 在此位置解压 sdna-gh.zip(在 Windows 10 中右键点击 sdna-gh.zip 并选择“全部提取...”,然后点击提取以使用建议的位置)。 在用户对象文件夹中,应该已经创建了一个名为 sdna-gh 的单独文件夹,其中包含一个名为 sDNA_GH 的子文件夹。 如果需要,将外部父文件夹(在用户对象文件夹内)重命名为“sdna-gh”(不加引号)。 例如,如果你之前下载了 sDNA_GH(或任何其他名为)sdna-gh.zip 的早期版本,你的网页浏览器可能已经将第二个下载重命名为 sdna-gh(1).zip。 在这种情况下,你需要重命名文件或解压后创建的文件夹。

11. 重启 Rhino 和 Grasshopper。

12.sDNA_GH 插件组件现在应该在 ribbon 上的任何其他已安装插件的标签中的新 sDNA 标签下可用(位于 Mesh、Intersect、Transform 和 Display 等标签的右侧)。 

13. 要使用 sDNA 与 sDNA_GH,如果没有指定偏好设置,sDNA_GH 将自动搜索 sDNA 和 Python 2.7 安装,使用它找到的第一个。 建议在首次使用时:

    -在画布上放置一个配置组件(带有齿轮/齿轮图标的组件在 Extra 中)。

    -在 sDNA_folders 输入中指定你想使用的 sDNA 安装的 sDNA 文件夹的文件路径(包含 sDNAUISpec.py 和 runsdnacommand.py)。

    -在 python 输入中指定 Python 2.7 解释器的主可执行文件的文件路径。

    -指定你想在所有项目中保存和重用的任何其他选项,如果需要,通过添加带有选项名称的自定义输入参数。

    -将一个真布尔开关连接到 go。 如果没有一个,将创建一个全局用户选项文件(config.toml)。

要将选项保存到其他特定项目的 config.toml 文件中,请在 save_to 中指定文件路径,并重复前面的 4 个子步骤。

14. 如果将来使用具有 sDNA_GH 在构建时未知的工具的较新版本的 sDNA,如果放置了一个配置组件,并在 sDNA_folders 中指定了新 sDNA 的路径,sDNA_GH 将尝试自动为新 sDNA 工具构建组件和用户对象,并将它们添加到 Grasshopper 中。 将 make_new_comps 设置为 false 以阻止此操作。

概览。

sDNA_GH 组件都有一个相关的工具(除了一些特殊的,例如 Config)。 正如人们所期望的,sDNA 组件运行同名的 sDNA 工具。 但是组件可以运行任何数量的工具,以及其他组件的工具(*)。 这些工具是可调用的类实例,是普通 Python 函数的抽象。

sDNA 工具期望接收一个原始的输入 shape 文件,并输出一个 shapefile,就像它们在命令行上使用一样。

要使用 Grasshopper 几何形状运行 sDNA,必须在之前和之后运行其他工具。 为了方便起见,默认情况下两个特殊选项 auto_write_Shp 和 auto_read_Shp 是 true。 使用这些设置,sDNA 组件将接受 Grasshopper 几何形状并输出 Grasshopper 几何形状,两个额外的支持工具 Write_Shp 和 Read_Shp 处理 shapefiles 的写入和读取。

要直接在 sDNA_GH 中使用 shapefile,应将 auto_write_Shp 设置为 false,以便 sDNA 组件不会在已经有 shapefile 可用时首先尝试为 sDNA 写入 shapefile。 只有在使用后,自动生成的临时 shapefiles 才会被删除。

应使用 Read_Geom 将 Rhino 多段线导入到 Grasshopper 中。 这是为了获取对象表中 Rhino 对象的实际 UUID(而不仅仅是 Grasshopper 引用)。 

文本和权重可以存储在 Rhino 对象上作为用户文本。 使用 Read_Geom 从 Rhino 多段线获取的真实引用,Read_Usertext 工具可以读取 Geom 并将 Usertext 键和值作为 Data 树在 Data 中输出。 如果 compute_vals 为 true,则会展开 User Text 值中的子字符串,例如 `%<CurveLength( ... )>%`。

正如预期的那样,Write_Shp 将多段线写入 shapefiles。 但是为了允许 GIS 网络的往返,它现在还能够将 Degree 1 Nurbs 曲线写入 POLYLINEZ shapefiles。 为了将权重和文本写入 Shapefile 属性表,例如对于 sDNA,必须将数据提供给 Write_Shp 工具,无论是在其自己的组件中还是在 auto_write_Shp 设置为 True 的 sDNA 组件中。 Data 会自动以正确的格式从 Read_Usertext 中获取。 Read_Usertext 将读取它能找到的所有内容到 Data 树中,但 Write_Shp 只会将与 Usertext 键匹配的输入_key_str 相关联的数据写入 shapefile。 默认情况下这个(“{name}”)匹配所有内容。 但是不同的值对于过滤或使用比 shapefile 字段名称的 10 个 ASCII 字符最大长度更长的 Usertext 键名非常有用。

通过将 auto_read_User_Text 设置为 true,可以避免添加单独的 Read_Usertext 组件。 必须运行 Read_Usertext *工具* 来实现这一点,因为那是执行此任务的代码所在。 但是,如果有一个 *auto* 规则将为它们运行该工具作为另一个组件的一部分(或者如果他们自己将该工具添加到 name_map 工作流中),则不必使用同名的 *组件* 来运行该工具(或任何其他工具)。

sDNA 结果,或任何 POLYLINE shapefile 的几何形状和相关数据,可以使用 Read_Shp 工具读取(无论是通过其自己的组件,还是通过 auto_read_Shp = true 的 sDNA 组件)。 通过设置 bake 为 true,形状可以直接烘焙到 Rhino。 否则,如果没有输入 Geom 与 shapefile 数据关联,Grasshopper 多段线将在 Geom 中输出。 

Rhino 对于什么算是有效的多段线有特定的规则。 许多来自 GIS 源的线串,例如 OSM,根据这些规则是无效的。 如果从多段线 shapefile 添加多段线失败,Read_Shp 然后添加一个 Degree 1 Nurbs 曲线(Rhino 对其比多段线更宽容)。 如果添加 Degree 1 Nurbs 曲线失败,将引发错误。 如果 ignore_invalid 设置为 True,则此错误将被阻止,并且在 invalid 中输出有关 shapefile 中曲线的数据,包括其在文件中的编号,以及为什么它是无效的。 

通过设置 auto_plot_data 为 true,可以从 Read_Shp 组件自动绘制与(新或旧)形状相关联的数据。 需要从 Read_Geom 或带有 bake = True 的 Read_Shp 获取对象引用,以获取实际 Rhino 对象的引用。 Write_Usertext 通过在 output_key_str 定义的模板中使用时间戳对键进行标记来避免覆盖以前的 Usertext(默认为 'sDNA output={name} run time={datetime}')。 可以将 overwrite_UserText 设置为 false 来停止这一点,这将向键添加后缀。 

(*) 通过在名称映射中添加昵称,可以轻松创建一个自定义组件来运行任何顺序的 sDNA_GH 工具。 任何在其选项中给定该名称映射并重命名为该昵称的标准 sDNA_GH 组件都将运行该序列。 这比使用单独的组件更快、更有效,因为几何形状和数据树不需要在每个组件之间重新转换和重新解析。 同一个组件中的所有工具都可以使用 RAM 中相同的数据和几何形状。 但是,每次重新计算解决方案时,同一个组件中的所有工具都将被重新运行。

详细的手册可以在 此处在线查看,并且也包含在 sdna-gh.zip 中(在一个文本面板组件中,以及 .md 和 .pdf 形式)。 在 Github 释放页面 上提供了许多显示示例使用的测试案例。

依赖项:

(两者都是 MIT 许可)。 两者的静态副本都包含在 sdna-gh.zip 中

版权所有 (c) 2022 卡迪夫大学,根据皇家宪章成立的法人团体和注册慈善机构(编号:1136855),其行政办公室位于威尔士纽波特路 30-36 号 7 楼,CF24 0DE,英国。

历史版本

版本
日期
大小
状态
语言
下载
Latest release on the project's Github releases page最新
2023年12月28日
开心版
Download sdna-gh.zip. (vA.B.C.zip contains the entire project repository for development).
Test cases from the project's repository.
2023年12月28日
开心版
Example usage of all the different tools, and demonstration of lots of possible workflows.

相关资源

DevSrf
DevSrf is a Rhino plugin for making developable surfaces
Kingfisher
Kingfisher is a plug-in for sorting points, curves, and surfaces by coordinate system (X-Y-Z, also curves by their length, and surfaces by their area.
BEETLE²
Concept and early-stage design tool for low-carbon building structures
Bridge Curves
Connects a given set of curves together by creating bridges between them. The bridges are created along the shortest path.
Blue Parametric
Blue is a highly experimental plug-in for parametric history automatic recording and complex data management, halfway between Rhinoceros standard

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...
登录后可以自定义书签并同步收藏内容哦~
登录 获取素材