Rhino(犀牛)中国技术支持与推广中心

标题: 使用 Rhino Script Compiler 将 Rhinoscript 和 RhinoPython 脚本打包为Rhp插件 [打印本页]

作者: Jorin    时间: 2013-8-17 13:16
标题: 使用 Rhino Script Compiler 将 Rhinoscript 和 RhinoPython 脚本打包为Rhp插件
本帖最后由 Jorin 于 2013-8-17 14:00 编辑

我们以一个Python script的打包为例,教大家使用Rhino Script Compiler 将一个脚本或rvb文件打包为一个RHP格式的Rhino插件。
Rhino Script Compiler 下载见
http://bbs.rhino3d.asia/forum.ph ... =23128&fromuid=7425

例如有一个python脚本,可以在视窗中创建方体,将该脚本写好后在磁盘上保存,文件名为:AddBoxS.py

1.打开 Rhino Script Compiler


四个选项分别为
N 创建一个新项目
O 打开一个已存在的项目
H 显示帮助信息
Q 退出此应用

2.键入 N 开始一个新项目

几个选项分别为:
N 开始一个新项目
O 打开一个已存在的项目
S 保存当前项目
A 编辑作者信息
P 编辑插件信息
C 编辑指令信息
B 打包当前项目
G 生成当前项目的源文件
H 显示帮助信息
Q 退出

3.键入 A 编辑作者信息


逐个键入指令,并输入名称、邮件、网址、电话、地址等作者信息,如图所示。
输入完成后按回车继续。

4.键入 P 编辑插件信息
键入N 输入插件名称后,键入 F,弹出对话框选择插件的生产目录。



M 插件的载入信息
U 此插件升级地址
S 此插件开发使用的SDK
此例以上信息保持默认即可。
完成后按回车键返回

5.键入 C 编辑指令信息



在弹出的对话框中选择需要打包的py文件或rhc文件,我们这里选择已经准备好的py文件。



选中文件打开后,脚本文件出现在列表内,可以看到默认情况下指令名称和脚本文件名相同
大多数情况下,一个插件包含多个指令多个功能,包含多个脚本,可以在这里键入A继续添加脚本。

6,修改指令信息

输入序号后按回车键,可以编辑指令信息



N  如果不想使用文件名作为指令,可以键入 N 修指令名称
T 修改指令类型,指令类型有两种,Command和Hidden,Command类型的指令在Rhino命令行输入指令时,出现在候选指令列表内,可以自动补全,Hidden类型,输入指令时将不会出现在候选指令列表内,需要完整输入才能执行,Rhino大多数指令都是Command类型,而testtoggleroundpoints是典型的Hidden类型。
7.生成插件。
编辑完作者信息、插件信息、指令信息后,就可以生成插件了
键入B,直接生产插件,生成完成如下图所示



8.保存项目,完成后按任意键返回,可以键入S将项目保存为rhc格式。

9.测试插件,生成完成后就可以安装并测试插件了。



插件安装完成后就可以在rhino 选项\插件程序下看到我们的插件了。



因为我们插件的指令类型设置为Command而不是Hidden,所以在键入ad以后完整的指令出现在指令候选列表内。



现在就可以正常使用我们的插件创建方体了。




作者: 筑梦NARUTO    时间: 2013-8-18 17:14
谢谢分享
作者: 深蓝Ansen    时间: 2013-8-19 13:53
赞!PythonScript用户的福音!
作者: yesmely    时间: 2013-9-5 14:15
编译生成的rhp文件,在rhino中载入后,输入相应的命令运行无效。但在载入rhp后如果用rhino中的pythonscript编辑器,运行一次rhp的原py文件,则这个rhp对应的命令就能运行了,不知楼主是否碰到这个问题?
作者: Jorin    时间: 2013-9-5 16:07
yesmely 发表于 2013-9-5 14:15
编译生成的rhp文件,在rhino中载入后,输入相应的命令运行无效。但在载入rhp后如果用rhino中的pythonscript ...

目前还没有遇到过这样的问题,但因为现在这个是测试版,对于Rhino Python方面还有很多问题需要解决。
作者: yesmely    时间: 2013-9-7 13:55
翻到官方的测试版讨论区,有下面一段:
JuanExposito said:
I have compiled several scripts and, once loaded the plugin, only works when running first Python script editor. Is it normal?
回答:No, that is not normal.
------------------------------------------------------------
JuanExposito said:
In "plugin Properties"> "Load Time" shows "Load when needed". Should it be "loaded on startup" to solve the problem? As is done.
回答:No, you should not have to change the plug-in to be loaded on startup
Would it be possible to share some of your work with me so I can debug what is going wrong with the script compiler and your scripts?
------------------------------------------------------------

希望楼主把那个addbox再编译下看是否会碰到这个问题。或者把addbox的py和rhp文件放上来供学习下。
作者: kietsuc    时间: 2015-7-24 03:36
Jorin 发表于 2013-9-5 16:07
目前还没有遇到过这样的问题,但因为现在这个是测试版,对于Rhino Python方面还有很多问题需要解决。

py文件打包后,输入指令,插件不运行,用python模块圆形原py文件,再输入指令插件依然不运行,但是rvb文件运行就很正常
作者: 想入飛飛    时间: 2016-8-18 17:28
那有没有办法,不用编译py文件为rhp,像加载rvb一样直接加载,或者在选项里面指定下,就可以加载?




欢迎光临 Rhino(犀牛)中国技术支持与推广中心 (http://bbs.rhino3d.asia/) Powered by Discuz! X3.2