请选择 进入手机版 | 继续访问电脑版

[Python] 在封闭的多重曲面内生成随机点

[复制链接]
35020 筑梦NARUTO 发表于 2016-9-21 14:03:59 楼主
今天有人问如何在多重曲面内生成随机点,大概写个案例。有兴趣的可以看看。
QQ截图20160921141149.png

QQ截图20160921141156.png
  1. #coding=utf-8
  2. import rhinoscriptsyntax as rs
  3. import random
  4. import Rhino.Geometry as rg

  5. def ptRange(pt01,pt02):
  6.     xB = random.uniform(pt01[0],pt02[0])
  7.     yB = random.uniform(pt01[1],pt02[1])
  8.     zB = random.uniform(pt01[2],pt02[2])
  9.     return xB,yB,zB

  10. randomPtsNum = rs.GetInteger("输入生成的随机点数")
  11. brep = rs.GetObject("选择要生成随机点的多重曲面",rs.filter.polysurface)
  12. geo_brep = rs.coercebrep(brep)
  13. box = geo_brep.GetBoundingBox(True)

  14. random_pt = []

  15. while (len(random_pt)<= randomPtsNum):
  16.     pt = ptRange(box.Min,box.Max)
  17.     if rs.IsPointInSurface(brep,pt,True,3):
  18.         random_pt.append(pt)

  19. for pot in random_pt:
  20.     rs.AddPoint(pot)
复制代码




您需要登录后才可以回帖 登录 | 注册成为会员

本版积分规则