在其它3D软件分好层的stp格式模型,导入其它3D软件它们会按原来的分好层的,唯独rhino它不分层的,很不方便

在其它3D软件分好层的stp格式模型,导入其它3D软件例如:C4D、MoI 3D、Creo、 Inspire Studio 、3DMX、KeyShot 等3D建模或渲染软件它们会按原来的分好层的,唯独rhino它不分层的,只能有一个图层,很不方便。这些都是很基本的功能但是rhino就是没有,不知道什么时候可以改善。

这要看原来的文件是独立的零件还是组件, 如果是组件, Rhino中会读取为不同的Block(图块), 需要手动把不同的图块放入不同的图层. 如果你方便, 麻烦你提供一个 STP 我们来测试.

BTW, 关于Layer 的使用, 请在 Rhino 指令行执行 Layer 调出图层,如果你不会使用 Layer, 在执行这个指令的时候按键盘 F1, Rhino 会弹出如下所示的帮助文件
https://docs.mcneel.com/rhino/7/help/zh-cn/index.htm#commands/layer.htm#(null), 希望这些对你有帮助.

Jessen你好!感谢你的回复
是的,我平时把STP文件导入犀牛后使用Block(图块), 炸开,再手动把不同的图块放入不同的图层,但是我感觉这些是大可必要和浪费时间的劳动,STP是很多建模软件通用的格式来的,其它建模软件都可以直接按原来分好层的自动分层,犀牛却要一个个的新建图层导入,特别是模型有好多部件时需要浪费大时间的时间。以下是我提供的测试STP文件,由于论坛不能提交STP文件的附件,我只能放在百度网盘,麻烦你下载一下。其目前所有的STP文件,犀牛都无法分层的,几乎所有的STP文件都可以作为测试
链接:https://pan.baidu.com/s/17YHd_5C6B6ZOSQJXBTE3Ng
提取码:vmmy
–来自百度网盘超级会员V6的分享

谢谢你的建议, 对于复杂的组装CAD软件转换至Rhino, 确实存在这样的问题, 这也是一个我们已经知道且列入 Rhino8 开发计划的问题.
回到你前面提及到的截图关于 Moi, 其实这个并不是 Layer, 只能算是物件名清单, 你刚刚提供的这个模型, 导入Rhino 后你也可以得到这样一个清单, 请在 Rhino 指令行执行 SelName 指令, 然后你可以根据不同的名字来选择不同的组件, Rhino 中已经把他们按照名字来"分组", 如下图所示

顺便再提供一下解决方案, 除了手动建立图层之外, 你可以借助RhinoScript或是 Grasshopper 来写一个转换脚本, 把读取到的物件名字信息输出为图层, 且把相同名字的物件输出至对应的图层, 例如下面利用 Grasshopper + Elefront 工具写的一个小脚本, 供你参考
Name2Layer.gh (14.3 KB)

1 个赞

Jessen你好!感谢你的解答和提供的解决方法。我使用 SelName 指令去测试上传给你的那个STP文件是可以按文件选取物件的,但我也测试了其它STP文件,有些已经分好层的STP文件导入rhino后使用 SelName 指令只会显示“没有名称”,希望rhino后续可以解决STP文件导入的问题。
再次感谢你的解答的提供的解决方法,祝你中秋快乐!

这个问题很久以前看到,这个插件可以帮到你 ExplodeBlocksToLayers
下载好后直接放在一个文件夹里,然后拖进Rhino里即可.
使用的方法很简单
1.前面你说的从其他实体软件导出的STP放进Rhino里是block图块
(这是最好的状态,导入Rhino不要炸开)

2.在命令栏输入ExplodeBlocksToLayers这个指令,指令栏切换到
image

3.然后选择Block物件,Rhino就可以自动解析
附上动图
Demo
可以看到两个软件图层是对应的


*由于你的云盘文件不是一体的Block,所以我导入Creo后又导出STP(既是模拟,也是获取层级树)中文没试过,可自行测试~

7 个赞

Suka,你好!感谢你提供了一个这么好的解决方案给我,但是我按你提供的链接点进去,网页有问题加载不了的,我在犀牛的food4rhino也搜索不到这个插件,能否麻烦你提供一下这个插件的文件。
非常感谢你!

Hi guang~附上百度云链接:链接: 百度网盘 请输入提取码 提取码: 5kcd

Suka,太好了,这个插件已经完美解决我的问题,非常感谢你!