【问题标题】:Ruby code "Automatic Sketchup" icosahedronRuby 代码“自动 Sketchup”二十面体
【发布时间】:2016-01-13 03:18:31
【问题描述】:

大家好,我叫 Jim,我很难在 SketchUp 页面上显示我的第一个 Ruby SketchUp 代码。 我有 Windows 8 Sketchup 2016 专业版

下面文件中的代码基本上是抄自《Automatic Sketchup》这本书的 我对 Ruby 很陌生,以至于我无法检测到遗漏了什么。 必须有其他东西才能让它运行。 假设在草图中添加一个二十面体。

如果我能克服这个困难,我会很高兴。 如果有人能指出我正确的方向,我将永远感激你的帮助。

mod = Sketchup.active_model # Open model
ent = mod.entities # All entities in model
sel = mod.selection # Current selection
view = mod.active_view

Ss = 1.11935599 # Short side
Gr = 1.65742 # Long side

pt0 = Geom:: Point3d.new 0,Ss,Gr
pt1 = Geom:: Point3d.new 0,-Ss,GS
pt2 = Geom:: Point3d.new Gr,0,Ss
pt3 = Geom:: Point3d.new -Gr,0,Ss
pt4 = Geom:: Point3d.new Ss,-Gr,0
pt5 = Geom:: Point3d.new -Ss,-Gr,0
pt6 = Geom:: Point3d.new 0,Ss,-Gr
pt7 = Geom:: Point3d.new 0,-Ss,-Gr
pt8 = Geom:: Point3d.new Gr,0.-Ss
pt9 = Geom:: Point3d.new -Gr,0,-Ss
pt10 = Geom:: Point3d.new Ss,Gr,0
pt11 = Geom:: Point3d.new -Ss,Gr,0

pm = Geom:: PolygonMesh.new 12, 20

 #Top half
pm.add_polygon pt0, pt1, pt2
pm.add_polygon pt0, pt1, pt3
pm.add_polygon pt1, pt4, pt5
pm.add_polygon pt1, pt4, pt2
pm.add_polygon pt1, pt3, pt5

 #Middle
pm.add_polygon pt4, pt5, pt7
pm.add_polygon pt2, pt8, pt4
pm.add_polygon pt10, pt11, pt0
pm.add_polygon pt3, pt9, pt5
pm.add_polygon pt2, pt8, pt10
pm.add_polygon pt2, pt0, pt10
pm.add_polygon pt9, pt5, pt7
pm.add_polygon pt7, pt8, pt4
pm.add_polygon pt11, pt9, pt3
pm.add_polygon pt11, pt3, pt0

 #Bottom half
pm.add_polygon pt6, pt7, pt8
pm.add_polygon pt6, pt7, pt9
pm.add_polygon pt6, pt10, pt11
pm.add_polygon pt6, pt10, pt8
pm.add_polygon pt6, pt9, pt11

 #Draw face in the mesh
ent = Sketchup.active_mod.entities
ent.add_faces_from_mesh pm

【问题讨论】:

  • 嗨 Jim,当您尝试运行此代码时实际发生了什么?

标签: ruby sketchup


【解决方案1】:

您的代码在修正了一些错别字后实际上可以工作。我改变了这两行,如下所示:

pt1 = Geom:: Point3d.new 0,-Ss,Gr
pt8 = Geom:: Point3d.new Gr,0,-Ss

并完全删除了这一行

ent = Sketchup.active_mod.entities

这样试试吧。有些面最终会反转,但确实会创建几何图形。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    相关资源
    最近更新 更多