登录发现更多内容
首页
节点
PS
音乐
文库
🌓
搜索
搜索
本版
帖子
用户
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
节点
全站专题合集
模库
全站SketchUp模型库集合汇总
文库
SketchUp及BIM在线文库
视频
SketchUp在线视频
赞助
虚拟积分充值及VIP会员授权
时光
节点热帖时光轴阅读
休闲
登录
VIP
精华作品
前沿资讯
资源分享
头像
解压
魔方
设置
我的收藏
退出
SketchUp中文网
»
节点
›
【1】SketchUp资源
›
Ruby二次开发
›
Ruby|源码交流
›
认识Ruby
认识Ruby
作者
2022-10-6 05:45:43
57619
返回列表
[ 复制链接 ]
作者
整天闷在学校里非变成木头不可,别的语言还没精通一门,这又冒出来一个Ruby,而且成长势头直逼当前主流变成语言。业界争论的不可开交,校园里还是一片歌舞升平。不知道应该欢喜还是应该忧伤。
唉,算了。该精通的还得精通,为完成的路还要继续走下去。谁知道下下一代的主流语言咱不会是先锋呢?^^
这里先了解一下所谓的"Ruby":
----------Ruby 语言是由日本的 Yukihiro Matsumoto 开发,初衷是用来控制文本处理和系统管理任务的。
---------Ruby 语言的优点:
1. 迅速和简便的特性。无需声明变量、无需变量类型、无需行结束符、无需人工管理内存,语言简单的代码中透露着坚实的基础。
2. 真正面向对象编程。比较前面介绍的大型程序设计语言:任何事物都包含一个对象,每个对象可以有自己的属性、方法、事件。还有类、继承、重载等!而Ruby 采用是一种单态方法、模块糅合以及迭代器和闭包(closures)的特性。
3. 它是解释性脚本语言。这种解释性的脚本语言不仅有直接呼叫系统调用的能力、强大的字符串表达式和正则表达式,还可以在开发过程中快速回馈。
4. 采用多精度整数、异常处理模式、动态装载及线程。
--------Ruby 的获得与安装
需要声明的是Ruby 是一个没有任何使用限制的自由软件,我们可以任意传播使用它。
大家可以从网站上搜索下载最新版本:
http://ruby-lang.org/en/
安装软件对大家来说并不陌生,在这里不再占用文章来介绍这个窗口按哪个命令的问题。所以在下载的Ruby安装中,只需要点击Next就畅通无阻了。
首先声明:
1.因为在这里我们重点研究的不是Ruby编写像SketchUP一样的应用软件,而是通过掌握Ruby 语言的特点,结合SketchUP 中对Ruby 语言提供的接口,来开发SketchUP中的新功能,以加快我们工作的效率。所以我们的重点是后者,又因在开发过程中必须先了解Ruby的语法基础、数据类型及面向对象程序设计基础的相关知识,才能在SketchUP开发中避免不应该出现类似“建筑设计违反规范”类的错误。
2.也正因为第一条,所以建议大家不必使用Ruby编辑器。因为对于开发SketchUP的功能来说,我认为,通过学习掌握了Ruby的基础知识,然后用这种方法更为方便的进行调试及编写代码的工作:在SketchUP安装目录下 Plugins 文件夹内建立 (*.RB) 类型的文件,然后用记事本编写程序代码。用SketchUP 程序调试来的快捷、方便。这样调试成功以后,立即就可以迅速推广并使用。
3.关于在介绍Ruby的基本语法中,部分会使用Ruby 编辑器的测试结果,来帮助大家熟悉、掌握。考虑现在软件业在Linux 操作系统下还没有如AutoCAD等功能强大的作图工具,故不再介绍在Linux 操作系统下Ruby 编辑器调试的方法。不过,编写出来的SketchUP 插件在其他操作系统中具有同样的功能。也是只需要复制到相关目录中即可。
---------SketchUp Ruby API
SketchUp包含了一个Ruby开发程序接口(API),这个接口可以使熟悉(或想要学习)Ruby脚本的用户扩展SketchUp的功能。也允许用户创建宏,例如集成SketchUp菜单中的组件自动生成脚本或附加工具等。除API外,SketchUp还包括一个测试Ruby 命令和方法的Ruby 控制台(Ruby Console)。
SketchUp Ruby API 由一系列SketchUp专用的Ruby模块构成,这在面向对象的程序设计体系(OOP)中称之为”类”(classes),与之对应的命令在OOP中称之为”方法”(methods)。它们可以用于生成宏(macros)和在SketchUp中控制几何图形。类可以理解为在SketchUp中组织相关命令的机构。我们可以从SketchUp的帮助文件中查看具体的内容。
---------开发过程中的调试:
在开发过程中,如何检测处理RB文件运行错误是一个重要的问题。@Last software为我们在SketchUp中集成了Ruby Console用来显示错误的信息。
首先要我们了解如何加载到SketchUp中进行调试:
1).自动加载法:将RB文件放置在安装目录中Plugins目录下,重启SketchUp,然后执行菜单功能进行调试,调试时可以打开Ruby Console进行观察错误信息(此方法调试比较烦琐,一般用于调试成功后进行应用时的自动加载)。
2).手动加载法:将RB文件放置在任意位置,记下绝对路径,加载时在Ruby Console里输入:
load “绝对路径/xxx.rb “
即可加载并按上面的方法进行调试。
3). 控制加载法:将RB文件放置在任意位置,记下绝对路径,并在需要加载的时候,可以在Plugins目录中在其它RB文件中增加或新建有下列内容的RB文件:
require “绝对路径/xxx.rb “
这种方法对于管理时非常方便,可以随着我们的意愿进行加载。不过,真正要加载的RB文件不要放在Plugins下(可在其中建立新目录)。
缺省的加载路径为:安装目录/Plugins/
SketchUp没有提供较好的卸载RB文件的方法,除控制加载法外的RB文件,从Plugins目录中移走即可。对于控制加载法,我们可以修改我们建立或增加的RB文件将上面的加载信息添加(#)变为注释即可,在需要加载时删除(#)。
当RB文件不能正常运行或运行结果不正确时,表明程序中有错误,SketchUp Ruby错误大致可以分为以下三种:
1).语法错误(Syntax Error):主要指编写的语句不符合Ruby语法规范(例如:常量、变量命名错误,括号不匹配等);语法错误最容易发现和更正,因为在我们加载RB文件错误时,打开Ruby Console会给出语法错误所在的行及语法错误类型和其它错误信息,所以我建议初学者使用Ruby专用编辑器很重要的原因就是提供给我们的行号等信息,可以很方便的供我们查找错误的根源。
2).运行错误(Run-time Error):指程序可以加载通过,但在运行的时候出现错误;例如:我们在RB文件中出现除数为0的情况等,产生这样的情况有时会导止SketchUp崩溃。
3).逻辑错误:指编写RB文件时,设计和实现的错误,程序可以加载通过,也没有错误信息,但执行结果却不是我们想要的(比如死循环,同样导至SketchUp崩溃),所以这类错误应该是最令我们头疼的。建议我们尽可能事前做周密的分析及布署,古人云:”凡事预则立,不预则废”,意思就是无论做什么事,事前若有周密的计划,就可取得事半功倍的效果;否则,不失败也会进步缓慢。不仅建筑设计如此,编程也一样,出现问题时,尽可能用排除法缩小范围,最终一网打尽。
来源:SketchUpBBS
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
扫一扫
认识
点赞
0
相关帖子
CJ报道 | 来认识一下这些闪闪发光的独立游戏创作者们
全面认识BIM技术的183个知识点!
模块化的价值并未被大家认识到
对设计院未来的几点认识 | 未来已来,将至已至
中国古建与BIM的隔空击掌?快来认识这位「老法师」!
全面认识BIM技术的183个知识点!
认识创意达人:OLLI HUTTUNEN用TWINMOTION的实时可视化技术制作短片
https://www.sketchupbbs.net/
回复
打赏
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
CJ报道 | 来认识一下这些闪闪发光的独立游戏创作者们
2020-08-02
全面认识BIM技术的183个知识点!
2020-09-10
模块化的价值并未被大家认识到
2021-07-05
对设计院未来的几点认识 | 未来已来,将至已至
2021-08-01
中国古建与BIM的隔空击掌?快来认识这位「老法师」!
2021-10-18
全面认识BIM技术的183个知识点!
2022-05-08
认识创意达人:OLLI HUTTUNEN用TWINMOTION的实时可视化技术制作短片
2022-10-22
3 回复
8o6vbf0531
2022-10-6 05:05:46
回复
打赏
使用道具
举报
过来看看的
评论
使用道具
照妖镜
举报
https://www.sketchupbbs.net/
hymxgevw
2022-10-6 05:14:01
回复
打赏
使用道具
举报
难得一见的好帖
评论
使用道具
照妖镜
举报
https://www.sketchupbbs.net/
ayaouy3040e
2022-10-6 05:45:43
回复
打赏
使用道具
举报
帖子对我很有帮助,谢谢楼主!
评论
使用道具
照妖镜
举报
https://www.sketchupbbs.net/
B
Color
Image
Link
Quote
Code
Smilies
高级模式
游客
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
立即登录
回帖
本版积分规则
回帖后跳转到最后一页
返回
发布新话题
作者
作者最近主题
SketchUp资源网站
Python+OpenGL绘制3D模型(二)程序框架PyQt5
Python+OpenGL绘制3D模型(四)绘制线段
Python+OpenGL绘制3D模型(六)材质文件载入和贴图映射
二、Sketchup用ruby进行二次开发--Sketchup转换操作符
Sketchup 获取选中的模型的面数
Sketchup 逆向工程(四)分析结果的利用 钩子 外挂 代码注入
Sketchup脚本开发 ruby 实时显示选择物体的类型名称
Python+OpenGL绘制3D模型(七)制作3dsmax导出插件
七、Sketchup用ruby进行二次开发--利用Transformation实现Move工具(平移、
首页
搜索
节点
赞助
我的
返回顶部