问题标签 [sketchup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kml - 下载 Google 地球“灰色建筑”模型
我需要使用某些地方的 3d 模型。Google 地球有一个 3d 建筑层,里面有“灰色建筑”。这正是我所需要的。有什么方法可以获得使用的 3d 模型吗?是否有 Google Earth API(除了 Javascript 的东西)?(我在.net 中工作)会有帮助吗?
或者至少有一个手动解决方案如何将这些模型导入 Sketchup?
非常感谢!
ruby - 谷歌 SketchUp 关闭文件
Google SketchUp的Ruby API有一个函数open_file
,但我找不到close_file
函数。由于我必须批处理许多文件,因此我想在继续下一个文件之前关闭每个文件,否则程序将因内存耗尽而崩溃。
以编程方式关闭 SketchUp 文件的最佳方法是什么?
我正在使用 Mac OS X 并且愿意使用 AppleScript 函数来指示窗口关闭。
编辑
我正在考虑一些迄今为止被证明没有结果的方法。
- 如本问题所述,使用 appscript Ruby gem 。这里的问题是我无法让 SketchUp 识别我安装的 gems。
同样,我正在尝试使用osascript(一个从 shell 执行 AppleScripts 的 bash 程序)来关闭窗口。也就是说,我使用以下方法之一从 SketchUp 的 Ruby 控制台窗口调用 shell:
%x[osascript -e '告诉应用程序“SketchUp”关闭窗口 1']
%x[osascript -e '告诉应用程序“SketchUp”关闭窗口 1' &]
%x[osascript -e '告诉应用程序“SketchUp”关闭每个窗口']
%x[osascript -e '告诉应用程序“SketchUp”关闭每个窗口'&]
每当我尝试第二种方法时,SketchUp 就会冻结。但是,当我 从 IRB 或直接从 SketchUp 外部的 Bash 提示符执行任何这些命令时,我会得到所需的行为:模型窗口关闭(顺便说一下,Ruby 控制台窗口保持打开状态,这很好)。
有一个主脚本,它启动一个从脚本来处理每个模型。在主设备等待期间,从设备将在 Google SketchUp 程序中运行。从站完成后,它会向主站发出信号,然后主站关闭 SketchUp 文件。为了进行这种进程间通信,我尝试使用drb。但是,当我尝试
drb
在 SketchUp 中请求时,我收到以下消息:
错误:LoadError: (eval):5:in 'require': no such file to load -- drb
编辑 2
有一个单独的进程持续运行,在收到信号时使用 AppleScript 关闭 Google Sketchup 窗口,这是很笨拙的,原因有很多。首先,必须有一个单独的进程专门用于关闭 Sketchup 窗口,这很难看。其次,与外部脚本通信的唯一有效方式是通过创建文件,这很浪费,而且磁盘访问可能会减慢速度。
然而,最严重的问题是 Sketchup 对 AppleScript 命令的响应速度很慢。我有一个在 Sketchup 中运行的计算密集型脚本,它似乎使 AppleScript 响应饿死,这意味着 osascript 在窗口关闭之前超时。当 Sketchup 中有一个对话框提示暂停执行我的计算密集型脚本时,Sketchup 才会响应 AppleScript。
编辑 3
我已经修改了我的close_file
函数,通过显示一个对话框来暂停脚本的执行。这实质上产生了当前线程并允许响应 AppleScript 命令的线程执行:
然后通过 AppleScript 关闭窗口的单独的 ruby 脚本还必须在对话框中单击“确定”。AppleScript 做到这一点是:
这种修改是一种改进。它纠正了 EDIT 2 中提到的“最严重的问题”,但其他问题仍然存在。
rubygems - Google-Sketchup 中的红宝石
如何在 google-sketchup 中使用 ruby gems?
每当我尝试输入:
进入红宝石控制台,我得到以下信息:
编辑
我在 OSX 上。
c# - HLSL着色器,如何用它的原始颜色绘制模型?
我用 Google SketchUp 制作了这个非常简单的 3D 模型,导出为 .x 格式,模型是一个简单的立方体,没有纹理,每个面只有不同的颜色。
我已经编写了这个 HLSL 代码来尝试用它的原始颜色渲染这个模型,但是它不起作用,我"The current vertex declaration does not include all the elements required by the current vertex shader. Color0 is missing"
在调用 ModelMesh.Draw() 方法时得到一个。这是我的 HLSL 代码:
这可能是一个菜鸟问题,我知道我可以通过简单地使用 BasicEffect 类(有效)来绘制这个模型,但我这样做只是为了学习 HLSL,到目前为止我所能做的就是绘制在整个模型的着色器中定义了另一种颜色的模型:[
.net - 通过 Google SketchUp Ruby 脚本调用 .NET dll
有可能吗,有没有人有一个例子说明你如何从 Google SketchUp Ruby 界面中调用 .NET dll?
batch-file - Is there a command line in Google Sketchup to export in 3ds or fbx format?
I am looking for a way to convert several skp, kmz or dae files at once into 3ds or fbx format. In sketchup pro you can do export as...3ds or fbx but that would take too long to open each file and export it. Is there a command line in sketchup, or a script that could be used to perhaps automate this process? Thanks
javascript - 用于 Google Sketchup 插件的 Javascript 事件循环/消息泵
我正在开发一个使用 Ruby API 编写的 Google Sketchup 插件。在这个 API 中有一个WebDialog 类,可以使用它来呈现 HTML 并在 WebDialog 和插件代码的 Ruby 端之间移动数据。我正在使用这个类为我的插件构建一个 UI。
数据从 WebDialog 异步发送到 Ruby 端。由于文档不足,我最初并没有意识到这一点,现在我已经进入了我的插件,它开始给我带来一些问题。具体来说:当从 WebDialog 向 Ruby 端进行多次连续调用时,只执行最后一次调用。因此,我显然需要设计某种“桥梁”,以防止从 WebDialog 到 Ruby 端的调用丢失——我认为,这基本上是一个“事件循环”或“消息泵”系统。
我的问题是我不知道如何做到这一点。我希望有人可以为我提供某种资源,为这样的系统应该如何工作制定一个框架——需要什么样的检查,它们的执行顺序等等。我知道这可能是一项非常复杂的任务,但我只需要一些基本的东西:基本上,一种在我向 Ruby 发送请求时停止 Javascript 的方法,直到我得到我需要的数据才继续,并处理任何可能的潜在错误突然出现。
任何帮助将不胜感激!
3d - COLLADA 文件查看器
更新:看起来这是我自己的错,因为没有研究足够的 SketchUp 的 GUI。看我自己的答案。
你好,
我计划在我的地图软件中实现“导出到 COLLADA”功能,但由于缺乏好的 COLLADA 文件查看器而受到阻碍。我尝试了几个应用程序:
- Google SketchUp提供了迄今为止我遇到的最佳观看体验,但导入 COLLADA 文件非常慢。我尝试了我找到的这个示例,但是将其加载到 SketchUp 需要 2-3 分钟,而且我正在一台不错的机器上运行它。由于开发导出代码涉及大量试验和错误,SketchUp 对于实验性工作来说太慢了。
- 我尝试过Blender,但对于不进行日常 3D 游戏开发的人来说,用户界面非常陌生。但我不得不称赞它几乎可以立即加载示例文件,这让我认为 SketchUp 的人要么故意放慢免费版本的导入速度,要么他们需要更新他们的编程技能。(更新:事实证明您可以快速加载它,请参阅我的回答,对不起,伙计们。)
- 我还尝试了其他一些免费查看器,但它们要么没有正确显示示例,要么查看能力非常有限(例如,没有平移或环绕)。
我会很感激任何提示,但我正在寻找第一手经验,而不仅仅是谷歌搜索(我自己尝试过)。我意识到这不是一个典型的编程问题,但我认为 StackExchange 上没有更好的地方来问这个问题。
ruby - 记录 Google SketchUp 时间戳事件
对于我们希望通过 SketchUp 解决的问题(作为大学研究项目),我希望您有任何想法。
- 对于可用性研究,我们希望在给用户的建模任务期间创建一个带时间戳的日志,所有 SketchUp 工具将事件更改为 .XML、CSV 或 txt 文件。例如,在绘制圆柱体时,所有事件(如 - 1. 选择圆、2. 选择推/拉等)都需要记录到基于文本的文件中。
请回拨您对做这样一个插件的任何巧妙想法。
谢谢一吨!
ruby - IPC 与 Ruby 1.8.5
我需要用 Ruby 1.8.5 做 IPC。问题是它是 Google SketchUp 附带的 Ruby,它只是完整 Ruby API 的一个子集。例如,没有 Socket 类,也没有 DRb。
使用 Ruby 进行 IPC 的其他方法是什么?任何使用 File 类的东西,比如内存映射文件,或者类似的东西?我对 IPC 完全陌生,所以如果我遗漏了一些明显的东西,我深表歉意。