求助:设置过python模块输入数据类型(point3d)后接入对应数据(point)报错


如图所示
提示错误如下:
Runtime error (ValueErrorException): Could not convert 9.50496411859 to a Point3d

Traceback:
line 655, in coerce3dpoint, “C:\Users\zhang.xuyang\AppData\Roaming\McNeel\Rhinoceros\7.0\Plug-ins\IronPython (814d908a-e25c-493d-97e9-ee3861957f49)\settings\lib\rhinoscript\utility.py”
line 365, in Distance, “C:\Users\zhang.xuyang\AppData\Roaming\McNeel\Rhinoceros\7.0\Plug-ins\IronPython (814d908a-e25c-493d-97e9-ee3861957f49)\settings\lib\rhinoscript\utility.py”
line 16, in script

image

这是个粗心错误
当你忘记改的时候
你输入的多个point就会一个个以item的形式输入
而鉴于python的特性,在你用for循环处理一个point的时候,它并不会报错
而是会将这个point的xyz坐标当作一个列表(内有三个元素)
所以你的for pt in x:的pt是x,y和z,是个数字
16行的错误是distance函数,要求的2个参数是point,但是因为现在pt是数字了,所以会提示错误

原来如此,讲解太详尽了,感激不尽 :rose: