SketchUp解决钻孔.rb问题

亲爱的朋友们, 这是我们的朋友杰森·E·霍尔特写的一个例子。这个插件可以在一个盒子上打洞,但如果盒子是一个组或组件,这个插件有故障。谁能解决这个问题? 由杰森E.Holt从linetool示例中编译而成,版权所有2005-2008,谷歌,Inc.本软件是作为使用Ruby接口到SketchUp的示例提供的。允许出于任何目的使用、复制、修改和分发本软件,且不收取任何费用,前提是上述版权声明出现在所有副本中。本软件按\"原样\"提供,无任何明示或暗示的保证,包括但不限于:,对适销性和特定用途适用性的默示保证草图.rb\" 类>这是创建新对象时调用的标准Ruby initialize方法。 定义初始化 end_直径(至), SB_VCB_VALUE end h1>当第一次选择工具时,SketchUp调用activate方法。defactivate SketchUp::set_status_text\"DIAMETER\",SB_VCB_LABEL SketchUp::set_status_text@@drill_直径(至), SBu VCBu VALUE 结束 当用户按下鼠标左键时,将调用onLButtonDOwn方法。 定义onLButtonDOwn(标志,x,y,>中心_ip选择视图,==nil#这似乎跛行。添加u圆好像加了一张脸,但我得去找那个面向其他实体中的其他其他.typename==\"脸\"和其他.u点(中心)==1#UI.messagebox(\"found myself==\"Face\"如果颠倒_正常。同样的方向?其他。正常#UI.messagebox\"找到==1#UI.messagebox\"是的,将项目指向其他> end def onUserText(文本,视图) # The user may type in something that we can\"t parse as a length# so we set up some exception handling to> end end # class Drill #-----------------------------------------------------------------------------This functions is just a shortcut for selecting the new tool def drill Sketchup.active_model.select_tool Drill.new end UI.menu(\"PlugIns\").add_item(\"Drill\") { drill } Solved by dezmo in post #7 If you are inserting my code mentioned my previous post into the Drill.rb, you do not need to go manually into the group editing context anymore.(You have to keep my first advice as well:> Would you please so kind to edit your post following this guide: [How to] Post correctly formatted and colorized code on the forum? DevelopersContinuing the discussion from Ruby backtick returns nothing!: Triple backtick delimiter lines. What is a backquote ?[image]Backquote character key on US keyboard. If it is error message text (or some other plain text that contains , #, or other characters that can confuse Discourse markdown,) then specify \"text\" as a lexing language: textpaste error message hereIf it is Ruby, then: ruby# code hereIf it is Javascript, then: javascript /* js… …and put it - in my opinion - better category to: Developers: Ruby API BTW. If you change the code in line 49 > to > and you go into thegroup or component editing context (open the groupor component for editing) before you start the tool it will make the hole … dezmo: Wow you are so cleaver and your answers always help me a lot. if I am in group edit mode, your code works but I don\"t know in ruby how I can pick a group and start editing it. Can you help me for it? majid866: Can you help me for it? Sure. But only if you correct the first post as I asked… More seriously: Note: This will work only if SketchUp version is higher than2020.0. You can use> For the parameter you can give a InstancePath but you have to check it\"s validity before by InstancePath#valid?instance_method Fortunately there is a InputPoint#instance_path-instance_method 1 to use in your case. In summary, concluding with e.g. something like this : You have to define an onMouseMovemethod inside your Drill class method: def onMouseMove(flags, x,> When you will move your mouse the editing context will \"automatically\" change to that where a pointer is located. Therefore when you click the hole will be inside the right instance… it seems I asked wrong question. I changed drill program as you said. if I go into the group editing context and select a face it will make a hole on it but if I don\"t go into the group editing context program delete group. I wish to solve this problem. I mean when I click on a group, automatically I go into its editing context and make hole. Thank you for your attention. If you are inserting my code mentioned my previous post into the Drill.rb, you do not need to go manually into the group editing context anymore.(You have to keep my first advice as> Just try it. There are several other problem inside the Drill.rb, which I not willing to rewrite for you. after inserting dezmo: def onMouseMove(flags, x,> I really don\"t know how thanks you!!! it works well. wall.rb (5.9 KB) it is a program that I made by your help. Please let me know if you have some advice for it. Thanks again. I don\"t really see a close connection between your wall.rb和我在本主题中建议的代码… 没关系。如果你满意的话,我也很高兴。你可以自己用,但我建议你:不要发表! 我打开了你的wall.rb,找到了一些可以改进的细节,但大约30秒后,我不得不立即关闭它…… …原因很简单,你忽略了我的建议。也就是说,我至少提到过3次:避免使用全局变量(从$开始) 第二:我很友善两次要求你更正你的第一篇帖子。你都没注意到。 祝你今天愉快!亲爱的朋友,抱歉误会了。我发给你的软件和我这里的问题不一样。事实上,第一个软件是墙,我完成它。第二个软件是窗户,需要在墙上打洞it.Drill.rb(2.1 KB)。正如你在这个软件中看到的那样,我使用了你的建议,效果非常好,尽管它让我很困惑,我找不到任何来源。 不幸的是,你似乎忽略了任何可能的建议,而不仅仅是我的建议。但更重要的规则,如版权。 你的文章中的文件不包含版权的重要部分。 你为什么不/不能至少阅读和理解你的第一篇文章? 我强烈建议你考虑一下,把你上一篇文章的附件撤了。 我不敢再提我的其他要求了,因为这就像鸭子背上的水一样。 祝你好运!如果你说墙.rb,这是我自己的代码。如果你说钻孔.rb,一开始我提到了源代码,他也让我们使用他的代码。我不知道我忽略了哪个版权。很抱歉,如果我忽视了版权,如果我没有遵守版权法,那是无意的。 做你想做的。 我放弃。 我退出。 再次抱歉,非常感谢你的帮助。我希望你最好…我会在代码中提到你的名字你寄给我每当我交付我的插件。majid866: 我会在代码中提到你的名字 不可能!请不要提我! 到目前为止我所帮助的我很乐意去做,但仅此而已! 祝你健康愉快!

SketchUp在扩展仓库中更改扩展的价格不再是即时的…为什么?

我想把这个假期所有的分机都降价,但由于新分机仓库的变动,我不能降价。以前更改插件的成本非常容易,现在需要永远的时间。可以像以前那样更改吗?谢谢!现在是否需要您创建一个新草稿并再次进行审阅?办公室已在假期关闭,因此我们目前正在积压处理审阅队列。它应该很快就会恢复正常。我们正在计划清理编辑/提交过程,以便再次只有一个新的RBZ需要一个新的草稿和审阅。tt琰su:现在是否需要您创建一个新草稿并再次审阅?是的...

日期:2021-06-26 02:00:03 浏览:587

SketchUp访问组的实体以应用/更改材质

您好,据我所知,可以在组中添加实体。是否有任何方法可以访问组的特定面(例如:大小为1米、1米、1米的立方体,由6个面组成)并在每个面上应用不同的材料。谢谢这是完全可能的,尽管你需要使用的技巧取决于你对你想要的脸的了解程度油漆。一些示例:- 如果您自己创建了面,您可以立即应用材质>- 如果您知道感兴趣的面已经在组中,您可以检索它们>然后需要决定数组中的哪个面将接收哪个面材料。那个可以通过测试每个面的正常。注意grep将在组中找到所有的面孔,如果有其他人在场的话,这些面孔可能会包含比你想处理的更多的面孔我也是。...

日期:2021-06-26 05:00:05 浏览:726

SketchUp保持数值而不考虑单位

我已经开始开发一个插件,我希望输入框中的值以当前单位输入。当前如果我指定>如果模型是mm,它就可以工作,但是如果是英寸就不行。如果我只是有了相同的>如果模型是英寸而不是毫米就可以工作。有没有某种自动转换,我可以把@radius的值建立为当前的工作单位?Class:Length 1Class:Numeric 1我很欣赏文档的链接,但我已经了解了这一点,仍然不知道如何转换为当前单位。确保将默认的inputbox维度值设置为Sketchup长度。然后它将自动转换并保存为长度值(以英寸为单位)并以模型单位显示,自动...

日期:2021-06-26 06:00:03 浏览:992

SketchUp复制组/组件时出现持续的ID错误

rigin(在片段中设置)。对于你的mod,明显的旋转中心是短线的末端(右侧):这不是我的目标。这实际上使用了Sasquatch:此外,用户可以通过文本指定副本的数量(使用\"s\")供参考,所有本机工具都使用\"s\"表示边的数量,使用\"x\"表示副本的数量。明白了,按照建议从\"s\"更改为\"x\"。与此同时,我弄明白了为什么我的\"卷积\"代码产生了正确的转换,而你的代码却没有…在你的代码中,你添加每个新实例,同时对其执行转换,这只会导致相对于预选组的局部轴的转换,而是关于模型空间(或worlds...

日期:2021-06-26 07:00:04 浏览:752

SketchUpC点/引导点的样式是否可行?

我正在测试用点云做房子模型。导入点(dxf),SketchUp将其转换为许多cpoint。使用这些进行捕捉的建模很好。我的问题是:是否可以\"样式化\"cpoints?比如尺寸、颜色等?更多的视觉控制可能会更好。另外,API中是否有其他实体可以将这些CPoint转换为更小/更精细/更可定制的CPoint?通常,他们应该在渲染选项散列(样式)中采用指导色的颜色,如果\"按标记颜色\"处于禁用状态。如果\"按标记颜色\"处于启用状态,则他们将使用层/标记颜色显示。实验表明,指定材质不会使他们按材质显示。(即,指...

日期:2021-06-26 07:00:04 浏览:661

SketchUp如何获取html值

从HTML对话框获取值时出现问题。This is callback function at sketchup.add_action_callback(\"receiveValue\") { |not_used, id, val|receive_value(id,val)}def receive_value(id,>I try to get input value like this, but I can\"t get>I can\"t get dlgValues, so I checked the size...

日期:2021-06-26 12:00:03 浏览:818

SketchUp如何判断V-Ray渲染是否已完成

你好!我正在使用V-Ray自动渲染,但遇到了一个问题,即无法知道渲染何时完成。目前我渲染场景,然后等待20秒,更改模型的材质,然后再次渲染,但如果渲染在5秒内完成,这是一个非常无效的系统。到目前为止,我已经完成了尝试了live_scene.renderer?布尔值和几个VRay::Renderer::IDLE_变量,但没有成功。问题是,在从扩展渲染循环时,布尔值不会更改,因此代码总是超时,即使渲染更快完成。下面是一些示例+=1if i>20puts\"超时渲染\"BreakEndModel.commi...

日期:2021-06-26 14:00:01 浏览:1175

SketchUp rubyapi:将工具栏停靠到其他工具栏

我已经创建了自己的工具栏,但是我不知道如何将它自动停靠到行上,所有其他工具栏都已经位于行上(在下拉菜单下)。有什么提示吗?DanRathbun在post#2中解决的用户必须进行对接。您所能做的就是调用#restore。用户必须进行对接。你所能做的就是打电话给#restore4...

日期:2021-06-26 15:00:04 浏览:825

SketchUp从多个曲面创建多个组

大家晚上好,我有一张约2000个小表面的图纸,我想分组制作,然后推拉。创建曲面后,如果图形是新的,下面的脚本工作得非常好。当我只选择第二个或第三个曲面时,它仍然运行得很快,但是当我选择了一个并且在脚本中有一个以前创建的组时,它只以一半甚至更少的速度运行,脚本变成\"没有响应\",但最终在后台运行一段时间后它就完成了。即使我重新启动sketchup甚至pc并重新运行脚本,它仍然很慢。当我分解所有组并进行另一个选择时,脚本又变快了。如果我做错了什么,也许有人能告诉我。我的笔记本电脑有16 GB内存,图形卡是,并...

日期:2021-06-26 20:00:05 浏览:639

SketchUp有没有办法加快添加面和边的速度?

我正在创建一个进口商。我用实体添加面以及实体添加边导入一个模型,但是要花很多时间。54234个面需要11秒来添加面85417个边需要9秒来添加边这是一个简单的模型。对于复杂模型,创建面和边的时间太长,无法接受。我怎样才能加快速度?谢谢。您是否创建了撤消操作并在操作过程中关闭了UI?- Sketchup::Model#start_operation- Sketchup::Model#commit_operation您是否考虑过创建虚拟多边形网格…- Geom::PolygonMesh4class…然后在操作中...

日期:2021-06-27 00:00:03 浏览:856