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日分类标签:grasshopper插件 rhino插件 windows软件 分析与仿真 城市规划与城市建模 建筑grasshopper sDNA_GH 下载 开源插件 网络分析语言: 平台:
历史版本(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.7 或 Python 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,英国。