No.11_SketchUp Ruby基础-第二章 Drawingelement类和Edge类

2.4 Drawingelement类

 

该Drawingelement类是线Edges,面Face,群组Group,图像Image,文字Text,ComponentDefinition和ComponentInstance等类的超类。许多在这个类定义的方法用来设置属性,如阴影,材质组成,以及该元素是否是隐藏或可见。这些都可以在SketchUp的实体信息对话框中看到,如图3.3所示:

    

    该Drawingelement类提供了一个非常有用的方法,该方法返回一个BoundingBox的对象。这代表了最小矩形体积,它可以包含在Drawingelement同时保持其侧面与x,y和z轴对齐。下面的命令创建的BoundingBox从绘制线[0,0,0],[2,2,5]中:

    new_line = Sketchup.active_model.entities.add_line [0,0,0], [2,2,5]

             → #<Sketchup::Edge:0x767ab18>

    box = new_line.bounds

             → #<Geom::BoundingBox:0x76784d8>

    一旦获得BoundingBox,它有方法提供关于该元素的尺寸,对角线,角落和最大/最小点的信息。下面的命令显示的BoundingBox的中心的位置和它的对角(单位为英寸)的长度:

    box.center

     → Point3d(1, 1, 2.5)

    box.diagonal

     → 5.74456264653803

    当你需要确定用户是否点击了一个形状的BoundingBox对象是很有用的。一旦你获得了形状的BoundingBox,您可以用用户的鼠标点击的位置比较其尺寸。

2.5 Edges(线)

 

在Drawingelement所有子类中,最容易理解的是Edge,它表示两个点之间的线段。Edge对象使用Entities类的add_line方法创建的,是由线的起点和终点的位置创建。当你调用这个方法,SketchUp中绘制一条线的两个点之间增加了一个Edge对象到目前的Entities集合中。例如,下面的命令创建一条线从[5,0,0]到[10,0,0]之间:

本文隐藏内容 登陆 后才可以浏览

0
56do_bolg

评论0

请先


没有账号? 忘记密码?