Grasshopper 二次开发 (C#) Part 2 - Interesting Examples

本博客内容正在持续更新,最后一次更新时间:2020.08.09
【本文重点】
1.查文档:(1) RhinoCommon SDK (2) Grasshopper API
2.专栏地址:专栏:Rhino (Grasshopper) 二次开发 (C#)

推荐阅读:
【C#】:本文以介绍 Rhino, Grasshopper 的二次开发为主,具体有关 C# 语法的知识点欢迎参考 专栏:C#
【Grasshopper】:有关 Grasshopper 部分知识点和操作欢迎参考 专栏:Rhino (Grasshopper) 二次开发 (C#) 内的 Grasshopper 学习笔记
【视频教程】:本文部分内容来自油管教程 C# Scripting and Plugin Development for Grasshopper

1 画一条随机游动的小蛇

效果如图

1.1 涉及内容

  1. Random 语句:见 C# 学习笔记 Section 1.4
  2. toggle & timer 模块:见 Rhino (Grasshopper) 二次开发 (C#) Part 1 Section 1.1.2 & 1.1.3

1.2 具体电池组与代码

private void RunScript(bool ifRenew, ref object A, ref object B) {
    if (ifRenew) { // 初始化点和线
        p = new Point3d(0, 0, 0);
        ps = new List<Point3d>();
        ls = new List<LineCurve>();

        for (int i = 0; i < 10; i++) {
	        ps.Add(p);
	        ls.Add(new LineCurve(p, p));
        }
    }
    else {
        double x = randomGenerator.NextDouble() - 0.5;
        double y = randomGenerator.NextDouble() - 0.5;

        ls.Add(new LineCurve(p, p += new Vector3d(x, y, 0)));
        ps.Add(p);
        ls.RemoveAt(0);
        ps.RemoveAt(0);
    }
    A = ps;
    B = ls;
}

Point3d p = new Point3d(0, 0, 0);
Random randomGenerator = new Random();
List<Point3d> ps = new List<Point3d>();
List<LineCurve> ls = new List<LineCurve> ();

2

需要下载的 dll
百度云下载链接:提取码 0523 ,将压缩包内的所有文件移动至 C:\Users\Administrator\AppData\Roaming\Grasshopper\Libraries
在这里插入图片描述

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页