有没有 快速隐藏结构线 的指令

之前 @Jessesn 给的方案就是最佳方案了,你做个按钮,通过左右键来切换即可。

如果做成你说的那种可切换的功能,通过脚本是可以实现,但是对于这样一个小功能其实意义并不大。

Rhino中曲面属性的结构线显示与否是通过设置结构线密度值来实现的,当密度为-1,结构线就不显示,当>=0,显示结构线,但是如果深入了解你会发现,结构线密度为0和大于0其代表的意义是不同的,还有一种特殊的情况:对于挤出物件来讲,结构线密度值返回的是None,这里就不做展开讨论了,总之我觉得通过巨集来实现你要的功能是最适合的。


我写了一段脚本来实现比较基础的结构线显示与否的功能。


#coding=utf-8

import rhinoscriptsyntax as rs
Surfaces = rs.GetObjects("请选择曲面/多重曲面(可多选)", rs.filter.surface|rs.filter.polysurface, preselect=True)

for Surface in Surfaces: 
    #获取原曲面结构线密度
    Original_Isocurve_Density = rs.SurfaceIsocurveDensity(Surface)
    #通过判断原结构线密度开或者关闭结构线
    if Original_Isocurve_Density < 0:
        rs.SurfaceIsocurveDensity(Surface,1)
    else:
        rs.SurfaceIsocurveDensity(Surface,-1)

但是这里有个不完美的地方:如果你之前曲面结构线密度设置成了任意的整数来满足实际需求,例如8,那么通过隐藏,再显示,结构线密度会还原为脚本中我设置的1,无法记住你之前设置的8,如果要记住之前的,你又要花费时间完善脚本,所以“性价比”是很低的,只是放上来供你参考。

最后放到按钮中即可。

1 个赞