Sketchup Ruby加载外部库

时间:2014-02-16 10:36:27

标签: ruby sketchup

我在Sketchup中加载externel库时遇到问题

我想知道图像的原始宽度和高度。但我没有在Sketchup API中找到。所以我下载了fastimage,一个库可以做到。 (https://github.com/sdsykes/fastimage)。我使用命令安装它:

gems install fastimage

这个新的gem安装在:C:\ Ruby186 \ lib \ ruby​​ \ gems \ 1.8。然后我在我的脚本中需要它(通过上面的链接中的turorial):

require 'fastimage'

但是我得到了错误:没有这样的文件加载 - fastimage

然后我在此链接中找到了一个解决方案:http://sketchucation.com/forums/viewtopic.php?t=29412#p257058。创建加载路径脚本,并创建到外部库的链接。创建此脚本后,将它们放入Sketchup中的插件文件夹中,然后再次运行Sketchup。但我仍然得到错误:没有这样的文件要加载。

我的ruby版本是1.8.6,当我输入命令时:将RUBY_VERSION放入Sketchup ruby​​控制台。它的输出是1.8.6(与我的红宝石版本相同)。我不明白为什么它不能要求新的宝石。请帮帮我,谢谢你。

2 个答案:

答案 0 :(得分:1)

因为您使用,所以您应该在可执行文件前指定require 'rubygems',所以:

require 'rubygems'
require 'fastimage'

如果要求引发错误,则表示系统中没有为当前安装,请安装它,例如如下:

apt-get install rubygems

答案 1 :(得分:0)

要获取图像的像素宽度和高度,请使用给定image_width的{​​{1}}对象的image_heightTexture方法。 http://www.sketchup.com/intl/en/developer/docs/ourdoc/texture.php#image_width

假设当你在SketchUp的上下文中说“image”时,你的意思是纹理。如果您想从Material个实例获取信息,请使用ImageImage.pixelwidthhttp://www.sketchup.com/intl/en/developer/docs/ourdoc/image.php#pixelwidth

另一方面,如果你想检查未加载到SketchUp的位图的大小,那么由于SketchUp附带了Ruby 1.8核心而不是标准库,因此更加困难。你可以制作一个Ruby C扩展并在C中完成工作。