sketch UP Ruby模块
几乎所有的SketchUp开始都会访问三种基本的数据结构:SketchUp,Model和Entities。一旦当你明白他们运行原理,你就可以开始使用代码来进行SketchUp设计了。
狮子和蚊子SketchUp模块
不像上一章描述的对象和类,我们遇到的第一种数据结构是SketchUp,它是一个模块,后面我们将讨论模块的详细细节,现在我们仅仅只要明白模块就是包括一系列的方法就可以了。
在我们的教程中Ruby脚步都会调用这个模块的方法。
SketchUp模块的方法访问属性涉及到SketchUp整个应用。查看它如何运行,我们打开Ruby控制台执行下面的代码命令:
Sketchup.version
将会显示SketchUp的当前版本,我们也可以输入Sketchup.os_language查看当前的语言或者使用Sketchup.get_locale查看应用的安装路径。如果想查看所有的方法可以使用:
Sketchods
其中最重要的一个方法是active_model,该方法返回当前我们所有的设计模型对象,下面是代码的使用实例:
mod = Sketchup.active_model
代码说明:首先会检索当前的模型对象,然后设置mod等于模型对象。
模型对象
前面说了Sketchup模块达标了整个SketchUp整个应用,Model对象就代表了一个独立的SketchUp文件(*.skp),更准确的说是所有文件中的设计信息。当我们在SketchUp中打开一个文件时,所有的Sketchup模块的属性都是相同的,但是在活动的Model对象中都是一样的。
Model类中的方法提供关于当前设计的所有信息。例如modified? 方法是用来检测最后一次保存的文件是否有修改过。下面是使用实例:
mod = Sketchup.active_model
垃圾分类工作总结
还有title方法返回当前设计的标题,description方法返回当前的文本描述,path 方法返回当前设计文件的路径。还有一系列关于Model类的方法。
在我们的教程,Model类方法我们大都使用来访问当前设计的对象容器。我们可以把Model当作橱柜中的柜子:
一个对象包括了许多的子对象,子对象又包括许多的对象。下面的图标显示了Mo del对象以及它包括的对象:
汽车音乐大全
对象Model有六个容器,我们可以配置几乎所有SketchUp设计样式。我们需要使用相应的方法来使用它们。下面是它的六个容器的介绍:
1. entities- 返回当前一个Entities(实体)对象,包括了当前设计中的所有图形
2. layers- 返回当前一个Layers(层)对象,包括了当前设计中的所有图形
3. definitions- 返回当前一个ComponentDefinitions对象,包括了当前设
计中的所有组件
4. materials- 返回当前一个Materials对象,包括了当前设计中的所有材质
口罩的作用5. options- 返回当前一个OptionManager对象,包括了当前设计中的所有
选项
6. pages- 返回当前一个Pages对象,包括了当前设计中的所有选项pages
2.2 SketchUp模块- Entities对象
SketchUp中的每个几何对象都代表着一个Entitiy类或者它的子类,包括线,面,图片,文字,组件和群组。在设计中管理和修改Entity对象,我们需要接入
主要设计的 Entities容器,这个容器服务主要有三个作用:
1.给当前的SketchUp设计添加新的Entity对象。
2.移动,选择,缩放,删除Entity对象。
3.存储Entity对象在数组里面,这样子就可以通过索引访问了。
Entities类有很多方法添加新的Entity对象,最简单的添加方法类似于add_xx 形式:
•add_line - 创建Edge对象在两点之间object from two points
•add_edges - Edge对象组成数组在一系列的点之间
•add_circle- Edge对象数组合成圆
•add_ngon - Edge对象数组合成多边形
•add_face - 创建Face对象在直线或点之间
•add_text - 给点添加标签文字描述
对于图形来说,线和面是非常重要的。每次我们添加其中一个到Entities容器中,一个相应的图形将会出现在SketchUp窗口,然后,当我们
早泄的自我治疗方法
保存时,线和面将会存储在Model对象中。
练小腿2.3 Entity类
Entity类是在SketchUp中所有可绘制图形的超类。下面显示了Entity的所有子类
Entity的主要子类是Drawingelement,这是后面我们需要重点学习的内容,我们先来看看两个重要的超类。
Entity类
Entity是一个顶级类,它下面的每一个子类都继承了它的方法。其中很多方法提供了Entity的基本信息,如下:
•entityID - 返回Entity的唯一标识符
•typename - Entity的几何类型(线, 面等)
•valid?/deleted? - Entity是否还可以访问
•model- 返回设计的Model对象
下面是使用实例:
带叶的成语test_line = Sketchup.active_model.entities.add_line [0,0,0], [1,1,1] →#<Sketchup::Edge:0x767be50>
test_pename
→Edge
test_ityID
→1895
添加的这些方法,每个Entity对象可以访问用户指定的信息,调用 attribute_dicti onaries方法
慈姑2.4 Drawingelement类
该Drawingelement类是线Edges,面Face,群组Group,图像Image,文字Text,ComponentDefinition和ComponentInstance等类的超类。许多在这个类定义的方法用来设置属性,如阴影,材质组成,以及该元素是否是隐藏或可见。这些都可以在SketchUp的实体信息对话框中看到,如图3.3所示: