在grasshopper中,需要导入的包虽然不多,但是相当绕人,所要实现的操作往往找不到,暂时做个分类。

双击输入 python 电池:  

  1. # 导入rhino 包
  2. import Rhino
  3.  
  4. #Rhino.Geometry 表示执行的是几何图形操作,例如:输入一个点和圆形
  5.  
  6. pt = Rhino.Geometry.Point3d(80233.3, 38977, 0)
  7. cir = Rhino.Geometry.Circle(pt, 199)
  8.  
  9. # 不输出转出是无法在图形上显示出来
  10. p = pt
  11. a = cir

例如求点到线段的最近距离点:

  1. import Rhino.Geometry as rg
  2.  
  3. success, t = rg.Curve.ClosestPoint(curveInput, ptInput)
  4.  
  5. # Get the closest point on the curve to your point
  6. crv_pt = rg.Curve.PointAt(curveInput, t)
  7.  
  8. # Measure the distance between both points
  9. dist = ptInput.DistanceTo(crv_pt)
  10. print(dist)
  11. a = crv_pt

另外一个常用包 rhinoscriptsyntax:

  1. import rhinoscriptsyntax as rs
  2. # 通过外界导入数据,对数据进行代码逻辑操作,可引用部分电池的代码操作,不需要进行可视化展示,然后进行导出数据,则调入rhinoscriptsyntax包
  3.  
  4. '''上述操作可同样用 rs包完成'''
  5. # 输入 curve 和 point3d 类型
  6. t = rs.CurveClosestPoint(curveInput, ptInput)
  7. # 在curveInput 线上得到最近的点
  8. crv_pt = rs.EvaluateCurve(curveInput, t)
  9. # 计算两点之间的距离
  10. dist = rs.Distance(ptInput, crv_pt)
  11. # 输出点
  12. a = crv_pt

官方文档:https://developer.rhino3d.com/api/RhinoScriptSyntax/

同时这里面还有很多案例:https://wiki.mcneel.com/developer/pythonandrhinocommon

grasshopper之python电池执行逻辑的更多相关文章

  1. 从底层理解Python的执行

    摘要:是否想在Python解释器的内部晃悠一圈?是不是想实现一个Python代码执行的追踪器?没有基础?不要怕,这篇文章让你初窥Python底层的奥妙. [编者按]下面博文将带你创建一个字节码级别的追 ...

  2. 如何理解 Python 的赋值逻辑

    摘要: 如果你学过 C 语言,那么当你初见 Python 时可能会觉得 Python 的赋值方式略有诡异:好像差不多,但又好像哪里有点不太对劲. 本文比较并解释了这种赋值逻辑上的差异.回答了为什么需要 ...

  3. 芝麻HTTP:JavaScript加密逻辑分析与Python模拟执行实现数据爬取

    本节来说明一下 JavaScript 加密逻辑分析并利用 Python 模拟执行 JavaScript 实现数据爬取的过程.在这里以中国空气质量在线监测分析平台为例来进行分析,主要分析其加密逻辑及破解 ...

  4. python基础之逻辑题(3)

    Python基础之逻辑题(3) 1.编写一个函数实现将IP地址转换成一个整数 2.求结果:---lambda 3.求a的结果 4.求下面nums的输出 5.求下面片段的输出 6.写出程序的结果:--- ...

  5. python基础之逻辑题(2)

    python基础之逻辑题(2) 1.若k为整数,下列while循环执行的次数为? 2.请输出正确结果-----numbers? 3.求结果-----math?   4.求结果-----sum? 5.输 ...

  6. 风炫安全web安全学习第三十二节课 Python代码执行以及代码防御措施

    风炫安全web安全学习第三十二节课 Python代码执行以及代码防御措施 Python 语言可能发生的命令执行漏洞 内置危险函数 eval和exec函数 eval eval是一个python内置函数, ...

  7. Python实现LR(逻辑回归)

    Python实现LR(逻辑回归) 运行环境 Pyhton3 numpy(科学计算包) matplotlib(画图所需,不画图可不必) 计算过程 st=>start: 开始 e=>end o ...

  8. android模拟器(genymotion)+appium+python 框架执行基本原理(目前公司自己写的)

    android模拟器(genymotion)+appium+python 框架执行的基本过程: 1.Push.initDate(openid)方法     //业务数据初始化 1.1   v5db.p ...

  9. python中执行javascript代码

    python中执行javascript代码: 1.安装相应的库,我使用的是PyV8 2.import PyV8 ctxt = PyV8.JSContext()     ctxt.enter()     ...

随机推荐

  1. 1025 PAT Ranking

    Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhe ...

  2. Selenium3自动化测试【16】元素定位之Tag

    @ 目录 1. 通过tag name定位Bing案例 2. 通过tag name定位一组元素案例 3.[测试全系列视频课程]请点击我哦..... tag name方法是通过对HTML页面中tag na ...

  3. 1.8.7- HTML值label标签

    1.label直接进行包裹input就可以了.

  4. Nginx配置图片请求

    Nginx的下载安装这里就不赘述了, 在Nginx的配置文件nginx.conf 或者 自定义的配置文件中加入如下配置. server {       listen 80;       server_ ...

  5. POJ1151基本的扫描线求面积

    题意:      给定n个矩形的对角坐标,分别是左下和右上,浮点型,求矩形覆盖的面积. 思路:       基本的线段树扫描线求面积,没有坑点,不解释了,提示一点,有的题尤其是线段树扫描线的题需要离散 ...

  6. coding push 上传文件

    git config --global user.name "lyshark" &git config --global user.email "11815068 ...

  7. 3.逆向分析Hello World!程序-下

    5.继续补充,常用操作指令: Ctrl+G    Go to       移动到指定地址,用来查看代码或内存,运行时不可用 F4        Execute till Cursor 执行到光标位置, ...

  8. RxJava线程控制

    RxJava中的线程转换主要通过下面两个方法: 1.subscribeOn 2.observeOn 一.subscribeOn 1.调用一次subscribeOn时: Observable obser ...

  9. Java并发编程(二)如何保证线程同时/交替执行

    第一篇文章中,我用如何保证线程顺序执行的例子作为Java并发系列的开胃菜.本篇我们依然不会有源码分析,而是用另外两个多线程的例子来引出Java.util.concurrent中的几个并发工具的用法. ...

  10. Vue.js源码解析-从scripts脚本看vue构建

    目录 1. scripts 脚本构建 1.1 dev 开发环境构建过程 1.1.1 配置文件代码 1.1.2 如何进行代码调试? 1.2 build 生产环境构建过程 1.2.1 scripts/bu ...