技术干货

GH二次开发读取曲线数据的问题

余亮
余亮
2026/04/19 16:20

项目里要用GH给一台六轴机器人做离线编程的二次开发,主要是想把示教器里的运行曲线数据读出来再转成我们自己的轨迹文件。现在卡在曲线采样这块,用Rhino.Geometry读取Curve之后试着取PointsOnCurve,但出来的点数和实际示教点数对不上,有的段差好几个点,有的一段直接是空的。DocObjects里那个Guid也没整明白到底用哪个表能拿到原始示教点。

想问下有没有人做过类似的,从Grasshopper插件里直接读KUKA或者ABB示教文件那块是怎么处理的?点云转轨迹的精度大概能到多少?

67 3

全部回复 (3)

人到中年
人到中年#1

PointsOnCurve那个采样是按曲线弦高和角度重算的,本来就和原始示教点不是一回事,差几个点太正常了。你要拿原始示教点,得去读KRL或者ABB的src文件直接解析坐标行,不要走GH的曲线采样。我们之前给库卡做后置插件,直接读src里的PDAT和LIN/CPT循环,点位误差基本能控制在0.02mm以内,比走曲线转回来靠谱得多。

2026/04/20 01:17
生意人
生意人#2

采样点数对不上是因为你Divisions参数给小了,PointsOnCurve默认是按等弦长切的,遇到曲率大的地方自动加密。不为空才怪,你先把divisions手动设到500以上试试,看点位分布再调。

2026/04/20 15:35
老卢
老卢#3

等一下,你这需求根本没必要走GH曲线读取吧,直接用Rhino.FileIO把3dm里的curve点取出来不就行了?为啥要绕一圈Grasshopper?

2026/04/22 08:32