改变数据结构,对数据进行处理,还原结构时出错。

改变一组点的数据结构,对他进行移动,还原结构时,有一组点位置对不上,求大神指点迷津。

数据结构还原问题.gh (9.4 KB)

看了你的程序,最简单的修改方法如下:
Find和Replace输入端全部Flatten。

你的问题有如下几点:
1:步骤繁琐,做法非常绕,很多冗余操作意义不明,最后想要做的事情令人费解。建议你把最终想要的结果描述一下,例如照片,图片,意向图,草图之类的。
2:对数据结构的理解不到位,导致把非常简单的问题极度复杂化。

附件为我提供的2个参考做法。
数据结构还原问题-大鹿.gh (16.0 KB)
图片如下


如果你能够对UV概念和数据结构有较为彻底的认识,就可以将简单问题用简单的方法实现。而如果达不到这个程度,你会发现绝望中不得不使用replace member这种操作。而实际上这个问题压根都不需要去做“替换”。

建议多做做基础操练,这类简单的习题其实帮助很大。看似简单,但有很大一部分比例的人,甚至包括用了3-4年以上的“资深用户”做不到使用最精简最完美的做法完成任务。那么相应地,真正碰到复杂问题时,解决问题的成本就大大提高。

有问题欢迎随时交流。

1 个赞

我也来补充下,我猜测你是想将移动后的点的数据结构还原为下图中的C,我使用了Partition List运算器在最后做了处理。(方法不是唯一的)


你的问题在于没有搞懂数据对应的规则,所以得到的结果自然也不是你要的。

B和A默认的数据对应可以参考下图,和你想象的是不一样的:

如果你看不懂上面的图示说明,请花点时间阅读/观看以下2篇内容并动手实践,用简单的练习搞清楚GH中数据对应的规则,再去处理更复杂的数据会事半功倍。

  1. 图文教学 | Grasshopper中的数据控制 (rhino3d.asia)

  2. 视频 | Grasshopper复杂数据结构的理解和控制 (rhino3d.asia)

1 个赞

感谢大神的赐教,确实对GH掌握的不够好,特别是数据机构,要学的还很多。 :sweat_smile:

谢谢Ansen老师指点,确实是数据结构掌握的不好,再回去研究研究教程。 :grinning: