GH板块 加入小组

1115个成员 7444个话题 创建时间:2018-09-10

在钢结构网架建模过程中,杆件怎么根据图纸对应型号,给对应的直径,有没有好的思路;

发表于2022-02-22 1226次查看

4回复
  • 2楼 小冰人 2022-02-23

    您好,您的问题大概分为几步解决:1)提取犀牛中的文字的值以及其中心点位置   2)通过文字中心点位置到其最近的框架线的最小距离的逻辑将文字和框架匹配起来   3)根据不同的文字内容创建不同规格的框架截面  4)将截面定位至框架处旋转至与框架线垂直,拉伸形成框架实体。

    步骤一:

    通过GHpython命令:

    import rhinoscriptsyntax as rs
    import Rhino
    obj = Rhino.RhinoDoc.ActiveDoc.Objects.Find(x)
    text = obj.DisplayText
    location = obj.Geometry.GetBoundingBox(0).Center

    获得文字位置和值

     

    步骤二:

    GH原生电池Curve Closest Point电池可以解决

     

    步骤三:

    将拾取到的不同规格的框架线放进不同的图层以分组,或者用GHpython的字典进行分组,达到分组的目的即可。

     

    步骤四:

    纯几何操作上的,GH很容易实现

     

     

  • 3楼 断梦 2022-02-24

    老师,还想请教点问题,就是按照您的这段代码,运行之后,我得text端输出有点问题,您能帮我看看是什么问题吗

    • 小冰人 2022-02-24
      您好,请问您方便在附件里上传您的文件吗?我实际打开看一下。
    • 小冰人 2022-02-24
      我测试的时候是以单个文字为例,多个的时候可能需要改下代码,请您尝试右击GHpython电池的x并选择List Access, 然后将代码替换为以下代码: import rhinoscriptsyntax as rs import Rhino text = [] location = [] for i in range(0,len(x),1): obj = Rhino.RhinoDoc.ActiveDoc.Objects.Find(x[i]) text.append(obj.DisplayText) location.append(obj.Geometry.GetBoundingBox(0).Center)
    • 断梦 2022-02-25
      谢谢
  • 4楼 断梦 2022-02-25

    谢谢老师,我得Python基础太差了,我上传个附件,您帮忙看一眼;你第二次给的这段代码,由于格式原因我也没粘明白crying

    ceshi.rar 预览 下载
  • 5楼 小冰人 2022-02-25

    您客气啦,我也是初学者,大家多讨论才能共同进步!完成的文件我放附件里了。

    test.zip 预览 下载
发表回复
你还没有登录,请先 登录或 注册!
话题作者
热门小组