1、Sketchup的单位转换
在我们打开Sketchup界面时,首先会选择模版,或者是默认的模版,这个模版规定了我们的尺寸单位,我们画的线是按照选择的单位格式来进行计算和规划。
在二次开发中,默认的单位为英寸,有时候需要对绘制的线,进行长度统计和单位转换,可通过调用方法进行英寸单位的互转。
# 定义某个单位
puts 1.cm
puts 1.km
puts 180.degrees
# 将单位转换为对应单位 ,转换的这个数值单位为英寸
puts 100.to_cm
# 将长度转换为英寸
puts 10.to_inch
运行结果:
2、Ruby 基础
# Ruby 中 : 双引号 ("")、单引号('')
# 区别在于 “” 会执行解释程序 将内容进行替换
# 单引号,不会,只是进行字符串展示
puts "hello \n world !!!!! #{6666666}"
puts 'hello \n world !!!!! #{6666666}'
# 子字串一下简单操作
# 取出 0到4范围的字符串
puts "Hello World !! "[0..4]
# index : 起点下标 length : 长度
puts "Hello World" [6,6]
# 合并打印
var = "BBBBB"
puts "AAAA",var
arr = [[1,2,3],"A",500.cm];
# 打印最后一个
puts arr[-1]
# 数组运算 (矩阵)
arr1 = [1,2,3]
arr2 = ["a","b","c",1]
# 数组合并 相同的仍然会存在
arr3 = arr1 + arr2
# 数组相减,相同元素都会被剔除
arr4 = arr3 - [1,"a"]
# 重复复制相同元素 n 次
arr5 = arr4 * 2
puts arr5
# 数组进行对矩阵的表达
point1 = [3,3,3]
line1 = [[0,0,0],[10,10,10]]
# 点是否在线上
isOn = point1.on_line?line1
puts isOn
# 合并两个矩阵
arr6 = arr5.concat arr1
puts arr6
# 剔除相同的元素
arr6 = arr6.uniq!
puts arr6
# 替换所有元素 为指定的值
arr6 = arr6.fill(6)
1、Sketchup的单位转换在我们打开Sketchup界面时,首先会选择模版,或者是默认的模版,这个模版规定了我们的尺寸单位,我们画的线是按照选择的单位格式来进行计算和规划。在二次开发中,默认的单位为英寸,有时候需要对绘制的线,进行长度统计和单位转换,可通过调用方法进行英寸单位的互转。# 定义某个单位puts 1.cmputs 1.kmputs 180.degrees# 将单位转换为对应单位
在进行 Sketchup 二次开发时,会涉及到对逻辑进行判断,这些判断也是程序员赋予程序思维的过程,下面通过代码回顾下 Ruby 强大的流程控制:
model = Sketchup.active_model
ent = model.entities
# Ruby 语言实用特性
# 结构控制
x = "ASD"
a = 1
b = 2
# if判断
if a > b
puts...
Entities对象及Entity类
Entities对象
SketchUp中的每个几何对象都代表着一个Entitiy类或者它的子类,包括点,线,面,图片,文字,组件和群组。在设计中管理和修改Entity对象,我们需要接入主要设计的Entities容器,主要是对Entity对象进行增加、移动、选择、缩放及删除操作。
其操作实例如下:
model = Sketchup.active_mo.
entities = Sketchup.active_model.entities
if p == 'xy'
sp = entities.add_section_plane([0, 0, length], [1.0, 0, 0])
elsif p == 'yz'
sp = e
selection.each do |entity|
file_name = File.join(dir, "#{i}.obj")
status = model.export(file_name, export_selection=true)
i = i + 1
UI.messagebox("导出完成")
将上面的代码保存为 `.rb` 文件,然后在 SketchUp 中执行“加载实用程序”,即可使用该程序。每次选择一个物体并执行该程序时,都会弹出一个“保存”对话框,询问您要将文件保存在哪个目录中。选择目录后,该程序将选定的每个物体导出为 OBJ 格式文件,并以从 1 开始的递增序号命名。
cmd.small_icon = File.join(@imagesdir, '/import.png')
cmd.large_icon = File.join(@imagesdir, '/import.png')
cmd.tooltip = 'import component form .skp file'
cmd.status_bar_text = 'import component form .skp file'
cmd.menu_text = 'import component form .skp file'
toolbar = toolbar.add_item cmd
toolbar.show
[/code]
Sketchup 程序自动化(六)颜色、材质贴图
penguin_ku: