×
热门分类
微信扫码登陆

QQ登录

只需一步,快速开始

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即加入SketchUp吧! 微信扫码登陆

x
require 'sketchup.rb'
module PPP
def FFFFF
  # variables to control the maximum step height and depth
  max_step_height = 8
  max_step_depth = 12
  step_width = 36
  p1 = Geom::Point3d.new(0, 0, 0)
  p2 = Geom::Point3d.new(100, 0, 100)
h = (p2 - p1).z
  puts "height = #{h}"
  p3 = Geom::Point3d.new(p2.x, p2.y, p1.z)
  v2 = p3 - p1
  l = v2.length
  puts "length = #{l}"
n1 = (h / max_step_height).to_i
  puts "n1 = #{n1}"
  n2 = (l / max_step_depth).to_i
  puts "n2 = #{n2}"
  numSteps = [n1, n2].max
  puts "numSteps = #{numSteps}"
  v1 = Geom::Vector3d.new 0, 0, (h/numSteps)
  v2.length = l/numSteps
  v3 = v1 * v2
  v3.length = step_width
model = Sketchup.active_model
  entities = model.entities
edges = []
  model.start_operation "FFFFF"
  pt1 = p1
  for i in 1..numSteps
      # create the front of the step
      pt2 = pt1 + v1
      pt3 = pt2 + v3
      pt4 = pt1 + v3
      edges[0]   = entities.add_line(pt1, pt2)
      edges[1] = entities.add_line(pt2, pt3)
      edges[2] = entities.add_line(pt3, pt4)
      edges[3] = entities.add_line(pt4, pt1)
      entities.add_face edges
      # now make the top
      pt1 = pt2
      pt4 = pt3
      pt2 = pt1 + v2
      pt3 = pt4 + v2
      edges[3] = edges[1]
      edges[0] = entities.add_line(pt1, pt2)
      edges[1] = entities.add_line(pt2, pt3)
      edges[2] = entities.add_line(pt3, pt4)
      entities.add_face edges
      # move to the next step
      pt1 = pt2
  end
  model.commit_operation
end
end
UI.menu("Draw").add_item("楼梯") {PPP.FFFFF}

赞赏

2

查看全部评分

SUAPP3.4

精彩评论

文明上网理性发言、请文明用语

169

主题

2314

帖子

2956

红宝石

网站创始人

Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29

红宝石
2956

SuBAR聚会纪念邮 成都站SuBAR_CLT汉化团队宝石收藏家核心会员共享精神奖财富大亨忠实粉丝热心助人奖社区微博达人

QQ
双鱼 2016-5-12 06:42:05
第三行:
  1. def self.fffff
复制代码


最后一行:
  1. UI.menu("Draw").add_item("楼梯") {PPP.fffff}
复制代码

156

主题

1052

帖子

81

红宝石

SU学师(等级6)

Rank: 6Rank: 6

红宝石
81
我设计我快乐 2016-5-13 06:32:27

缺少主函数,是什么意思?

169

主题

2314

帖子

2956

红宝石

网站创始人

Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29

红宝石
2956

SuBAR聚会纪念邮 成都站SuBAR_CLT汉化团队宝石收藏家核心会员共享精神奖财富大亨忠实粉丝热心助人奖社区微博达人

QQ
双鱼 2016-5-13 10:49:31
我设计我快乐 发表于 2016-5-13 06:32
缺少主函数,是什么意思?

哪里显示“缺少主函数”?

156

主题

1052

帖子

81

红宝石

SU学师(等级6)

Rank: 6Rank: 6

红宝石
81
我设计我快乐 2016-5-13 20:41:08
双鱼 发表于 2016-5-13 10:49
哪里显示“缺少主函数”?

将代码复制到.rb文件中,拷贝到插件文件夹中,打开SU弹出缺少主函数的对话框

169

主题

2314

帖子

2956

红宝石

网站创始人

Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29

红宝石
2956

SuBAR聚会纪念邮 成都站SuBAR_CLT汉化团队宝石收藏家核心会员共享精神奖财富大亨忠实粉丝热心助人奖社区微博达人

QQ
双鱼 2016-5-13 20:57:18
我测试没有问题,并无报错。
你所说的“缺少主函数”是否其他插件或SU程序文件错误引起,多检查。

156

主题

1052

帖子

81

红宝石

SU学师(等级6)

Rank: 6Rank: 6

红宝石
81
我设计我快乐 2016-5-13 21:24:27
双鱼 发表于 2016-5-13 20:57
我测试没有问题,并无报错。
你所说的“缺少主函数”是否其他插件或SU程序文件错误引起,多检查。 ...

undefined method `require' for main:Object
高级模式
您需要登录后才可以回帖 登录 | 立即加入SketchUp吧! 微信扫码登陆

本版积分规则

我设计我快乐

SU学师(等级6)

  • 主题

    156

  • 吧币

    6164

  • 红宝石

    81

关闭

站长推荐上一条 /1 下一条

发布主题 快速回复 返回列表 客服中心 搜索 官方QQ群
关于我们/小黑屋/手机app/国土人/SketchUp吧 /京ICP备16008035号/