一、Sketchup用ruby进行二次开发--简述

来源:互联网 发布:推倒 知乎 编辑:程序博客网 时间:2024/06/02 04:14

       首先我想说一下进行《Sketchup用ruby进行二次开发》的专栏的原因。
       我的研究生论文是基于GIS的三维地下管线研究与实现,但是经过一段时间的学习,发现使用arcEngine和sketchup进行建模,不是很靠谱,原因是管线的数量有上万条之多,不可能对每一条进行建模,而且管点的建模也比较复杂,涉及到管线阀门、管线三通、消防栓等,这些在土建领域都有一定的工业标准,所有不能随意设计,必须要符合规范。sketchup的二次开发给我们提供了用代码进行的可能。
      下面我说一下Sketchup软件,sketchup是非常简单易用的三维建模软件,sketchup有如下七个主要功能(http://www.sketchup.com/zh-CN/products/sketchup-pro/features/3D-modeling)。
1、精准测量
有了 SketchUp,您可以随心所欲地快速完成工作, 但其不只是一支魔幻的电子铅笔。 由于您在计算机上运行 SketchUp,您在 SketchUp 中创建的每个物体的尺寸都很精密。 准备就绪后,您完全可按照预期的想法精准建模。 要制作精准的模型,只需在绘图时输入尺寸。 您也可以使用卷尺工具设置准确的建模准则。
2、边线和面
每个 SketchUp 模型都只由两个要素组成:边线和面。 边线使用直线,而面是多条边线构成平面闭合图形而成的二维图形。 例如,矩形平面是由四条首尾相接的边线以直角构成的图形。 要在 SketchUp 中建模,您可使用少量简单工具绘制边线和面,较短时间内即可学会。 就是如此简单。
3、推导法
SketchUp 在建模空间中调用有用点并使用不同颜色且容易理解的工具提示加以突显,令 3D 空间中的制图简单易用。 我们将这种简单易用的功能称为“推导法”:其以 SketchUp 根据模型中的几何图形推导有用点和位置的准神奇功能命名。 例如线条中点、弧线相切和各种垂直... 您抓住了要点 — SketchUp 也是如此。
4、实体工具
在 SketchUp 中,“实体”是任何完全密封的组或组件;如果该实体是一个装满水的有形物体,则在摇晃实体时也不会漏水。 您可以使用 SketchUp Pro 中的“实体工具”在模型中的实体上执行特殊的加减(布尔)运算。 在木工项目中,使用“修剪“工具为榫头开榫眼。 使用“相交”工具在对象的投影顶部和侧面视图之间执行交迭操作。 “并集”工具将多个实体合并为一个实体。 “拆分”工具将相交的实体拆分为各个部分(不论其交迭位置),无需删除任何东西。 “去除”工具将交迭的两个实体分开。
5、复制和阵列
SketchUp 的”移动“工具具有双重功能;它亦可用来复制图元。 移动某物时,只需按一下键盘上的修饰键,SketchUp 即可知道您需要进行复制。 需要排列多个副本?这里有一个简单的方法。 因为我们热衷于简单,复制和阵列操作与“旋转”工具操作相同。
6、跟随路径
SketchUp 的“跟随路径”工具富有创新且功能齐全,可沿着预定路径挤压 2D 表面来创建 3D 模型。 沿着 L 形线条挤压圆圈可建立一个弯曲的管道模型。 绘制半个轮廓,然后使用“跟随路径”工具沿着圆圈路径拖动线条来创建一个瓶子。 您甚至可使用“跟随路径”工具将栏杆、家具和电子产品的边缘修圆(嵌边)。
7、推/拉
使用 SketchUp 的专利“推/拉”工具将任何平整表面挤压成三维形态。 单击一次即可开始挤压,然后移动鼠标,再次单击即可停止。 可以将矩形推/拉成盒体。 也可以先画好楼梯的轮廓线,然后推/拉成三维形态。 如果想要做一扇窗户,那么可以在墙上推/拉一个洞。 SketchUp 以易用性而闻名,而推/拉工具正是原因所在。

    一块软件之所以强大,在于它有非常简单且规范的扩展型,像Eclipse、AutoCad、ArcGIS等等,都提供了非常好用的扩展插件的功能,这能够满足用户对特定环境的需求,今天的主角Sketchup同样如此,他的扩展程序库也非常强大(http://extensions.sketchup.com/),但是国内介绍如何进行Sketchup二次开发的资料非常稀少,也没有系统性的教程,如果有人觉得我说的不对,可以把自己手中的资料共享出来,大家共同讨论进步。

废话不多说,下面讲一下我使用的软件,我使用的是Sketchup Pro2014版本,使用的是Ruby code editor,这款编辑器非常好用,我把这款编辑的插件放到我的博客中,有需要的可以下载。关于如何学习ruby,我也是小白,我是下载这本说进行学习的,下载地址http://download.csdn.net/download/netHibernate/169339,感谢‘netHibernate’同学的无私分享。

1 0
原创粉丝点击