讨论 --- 犀牛&GH 如何获得任何形状多重曲面内的一定数量的随机点?

[复制链接]
筑梦NARUTO 发表于 2016-10-8 18:38:28
楼主
关于大陆地区Rhino原厂培训中心
筑梦NARUTO 发表于 2016-10-8 21:55:23
2
潜龙 发表于 2016-10-8 19:51
运行你的脚本错误~~~~

我这个是rhinopython啊,稍微改几句就可以了的
筑梦NARUTO 发表于 2016-10-8 22:22:50
3
随便改下就可以了的,GH里面。

QQ截图20161008222105.png (409.6 KB, 下载次数: 41)

QQ截图20161008222105.png

随机点.zip

4.42 KB, 下载次数: 91

评分

参与人数 1坛币 +8 收起 理由
simonchen + 8 很给力!

查看全部评分

筑梦NARUTO 发表于 2016-10-9 11:07:28
4
潜龙 发表于 2016-10-9 08:19
下载试了,可以    不过很卡~~~  程序有待优化
这个程序能写成GHA文件供随时调用么?

我这里不卡啊,1000个点。自己打包吧,懒得写gha
筑梦NARUTO 发表于 2016-10-9 11:40:04
5
潜龙 发表于 2016-10-9 11:34
我这里 生产600个点  卡了30几秒     比较奇怪  
(I5处理器,4G内存)

我这里2000个点都没到10秒。估计我内存和CPU比你好点的原因
改了下代码。现在少了一个没必要的步骤
  1. import random
  2. import Rhino.Geometry as rg

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


  8. box = geo_brep.GetBoundingBox(True)
  9. a = []

  10. while (len(a)<= randomPtsNum):
  11.     pt = ptRange(box.Min,box.Max)
  12.     if geo_brep.IsPointInside(pt,0.0001,True):
  13.         a.append(pt)
复制代码


筑梦NARUTO 发表于 2016-10-9 14:37:56
6
潜龙 发表于 2016-10-9 11:23
教我怎么做成GHA文件

做GHA请用C#,在我的微信公共号“大水牛数字设计联盟”我有讲如何写gha插件
您需要登录后才可以回帖 登录 | 注册成为会员

本版积分规则