SketchUp的二次开发探索 (一)没有插件 6行Ruby代码画一个球

新安装好的SketchUp怎么画一个球体?
昨天刚安装好了SketchUp,
想画个球,
发现菜单栏只有几个基本命令!!
SkechUp工具列表

当时我就懵逼了
没有插件我还画个球???

百度一番,在没有插件的情况下,可以这样快速创建:

1.创建一个正向为(0,0,1)的圆面;
2.创建一个与上面圆面垂直的圆,作为路径;
3.选中路径,选中菜单 tools-Follow Me 。

当然这不是喜欢的姿势!
下面我们来用
小学几何知识+初中英语单词
来画一个球

SketchUp的二次开发探索 (一)没有插件 6行Ruby代码画一个球_第1张图片
球还能玩出花来~~~

Ruby脚本推拉球体表面随机高度
我们一步步来看下怎么实现上图效果。
有人说没有插件他不会画圆

来!
左边跟我一起画 条龙(个圆)
SketchUp的二次开发探索 (一)没有插件 6行Ruby代码画一个球_第2张图片

再在垂直面画一 道彩虹(条路径)
哎~
走起~
SketchUp的二次开发探索 (一)没有插件 6行Ruby代码画一个球_第3张图片
选中圆路径,菜单Tools -> Follow Me
SketchUp的二次开发探索 (一)没有插件 6行Ruby代码画一个球_第4张图片
再点击需要follow的圆形
bingo~

SketchUp的二次开发探索 (一)没有插件 6行Ruby代码画一个球_第5张图片

现在回到我们6行代码画球的主题上来
(你放屁明明11行)
带#号的是注释,删除不影响使用哦

贴一下代码

#============创建球体============== 
ents = Sketchup.active_model.entities

# 创建一个正向为(0,0,1)的圆面
circle = ents.add_circle [0, 0, 0], [0, 1, 0], 50
circle_face = ents.add_face circle

# 创建一个与上面圆面垂直的圆,作为路径
path = ents.add_circle [0, 0, 0], [0, 0, 1], 50+1

# 创建球体
circle_face.followme path

# 删除路径
ents.erase_entities path
#============随机推拉球体============== 
mod = Sketchup.active_model

#选中的所有物体
sel = mod.selection.to_a

#将所有物体中的面提取出来
faces = sel.grep(Sketchup::Face)

#循环遍历每个面执行下面的操作
faces.each do |face|
  #push 50范围内的随机单位高度
  face.pushpull(rand(10))
end

有人问了
在这玩意在哪里执行
我们点开SketchUp的菜单 Window ->RubyConsole
没错
6行代码粘贴进去
按下会车即可

但是这玩意儿它不仅不好用,
还长得丑
我们来换一个漂亮妹子
呸!
漂亮的编辑器,官方的哦
Ruby Code Editor

SketchUp的二次开发探索 (一)没有插件 6行Ruby代码画一个球_第6张图片
官方下载地址:
https://extensions.sketchup.com/nl/content/ruby-code-editor%E2%80%8Bextensions.sketchup.com

安装好之后呢
就会有下面这个插件图标
Ruby Code Editor插件图标

点击打开Ruby Code Editor面板
输入上面贴的代码
点击执行按钮
SketchUp的二次开发探索 (一)没有插件 6行Ruby代码画一个球_第7张图片

今天的奇妙之旅就到这吧!

下一期我们试试

  • 把自己写的插件放到SketchUp的菜单栏
    或者
  • 自己做一个带图标的插件
    小可爱们
    下期再见!!!

回复 Ruby 即可获取 Ruby Code Editor 插件
回复 Ball 即可获得 ball.rb 一键绘制 sketchup 球体插件脚本
回复 PushPull 即可获得 pushpull_ball.rb 球体表面随机推拉脚本
回复 哪吒 即可获得 image_to_txt.py 图片转txt图像 脚本
回复 壁纸 即可获得 get_wallpaper.exe 高清壁纸自动爬取脚本
回复 地图 即可获取 getmap.htm 地图边界绘制脚本
回复 getPic 即可获取 getPic.sh 批量保存网站图片脚本

SketchUp的二次开发探索 (一)没有插件 6行Ruby代码画一个球_第8张图片

文章转载请注明出处 author by Nicaicaiwo
也可加微信 wxid_ljshjsw95hcv22 进群共同探索创新

你可能感兴趣的:(SketchUp自动化)