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

双击输入 python 电池:  

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

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

import Rhino.Geometry as rg

success, t = rg.Curve.ClosestPoint(curveInput, ptInput)

# Get the closest point on the curve to your point
crv_pt = rg.Curve.PointAt(curveInput, t) # Measure the distance between both points
dist = ptInput.DistanceTo(crv_pt)
print(dist)
a = crv_pt

另外一个常用包 rhinoscriptsyntax:

import rhinoscriptsyntax as rs
# 通过外界导入数据,对数据进行代码逻辑操作,可引用部分电池的代码操作,不需要进行可视化展示,然后进行导出数据,则调入rhinoscriptsyntax包 '''上述操作可同样用 rs包完成'''
# 输入 curve 和 point3d 类型
t = rs.CurveClosestPoint(curveInput, ptInput)
# 在curveInput 线上得到最近的点
crv_pt = rs.EvaluateCurve(curveInput, t)
# 计算两点之间的距离
dist = rs.Distance(ptInput, crv_pt)
# 输出点
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. 👰🏿‍♂️

    出于利益我便是绝对的利己主义者,凡事以自己为根本,以求自己利益最大化而不顾他人.社会.国家: 出于兴趣考我便希望全天下的人都好,都可爱,都不必受餐食无饱和居无定所的困苦,不必因感情的躁动而心情颠簸,因 ...

  2. 深入浅出:MySQL的左连接、右连接、等值连接

    深入浅出:MySQL的左连接.右连接.等值连接 三种连接的语法 为便于更多的技友快速读懂.理解,我们只讨论2张表对象进行连接操作的情况,大于2张表对象进行的连接操作原理也是一样的. 1.左连接(LEF ...

  3. 【MySQL】实现线上千万数据表添加字段操作以及缓存刷新

    需求背景: 由于业务需求,需要在线上用户表添加渠道字段,用于区分不同渠道注册的用户,目前该表有20+个字段,8个索引 线上用户数据大概1500W左右,需要不停机增加数据库字段,同时需要刷新Redis缓 ...

  4. 基于三层交换机的VRRP技术--MSTP、VRRP的综合运用

    MSTP (多生成树) 每个VLAN或者几个VLAN拥有一颗生成树,基于实例的生成树.instance 1.instance 2 每个实例拥有一颗生成树.MSTP可以实现多VLAN 的负载分担,可以实 ...

  5. hdu4994 博弈,按顺序拿球

    题意:       给你n堆东西,两个人博弈的去拿,每次最少一个,最多是一堆,必须按顺序那,也就是只有把第一堆的东西拿完了才能去拿第二堆东西,谁先拿完谁胜,问新手是否能胜利. 思路:       显然 ...

  6. php、jsp、asp和aspx的区别

    目录 PHP JSP ASP ASP.NET PHP PHP是一种跨平台的服务器端的嵌入式脚本语言.它大量地借用C.Java 和 Perl 语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地 ...

  7. CMS Joomla SQL注入漏洞练习(CVE-2017-8917 )

    0x01 原理 1.Joomla是内容管理的网站程序,也就是CMS.漏洞原理是com_fields组件,对请求数据过滤不严谨,从而导致sql注入.这个就是有问题的代码,可以看出sql根本没有过滤,通过 ...

  8. Docker用Commit给容器做快照

    关于 commit 镜像是容器的基础,每次执行 docker run 的时候都会指定哪个镜像作为容器运行的基础. 镜像是多层存储,每一层是在前一层的基础上进行修改:而容器同样也是多层存储,是在以镜像为 ...

  9. 【python】Leetcode每日一题-丑数2

    [python]Leetcode每日一题-丑数2 [题目描述] 给你一个整数 n ,请你找出并返回第 n 个 丑数 . 丑数 就是只包含质因数 2.3 和/或 5 的正整数. 示例1: 输入:n = ...

  10. 【python】Leetcode每日一题-删除排序链表中的重复元素2

    [python]Leetcode每日一题-删除排序链表中的重复元素2 [题目描述] 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表 ...