线程评级:
C#AddCurve.
C#中的AddCurve方法仅采用垫类型,这不是列表,而只有一个位置,只能是我所看到的。在C#中,您将如何将其传递一份点列表?
此代码应显示一个示例,将一组双打转换为可以用于robodk.addcurve()的垫文件

//创建点列表作为双打数组数组
//大小为XYZIJK设置为4分。XYZ是位置,IJK是工具Z轴(IJK是可选的)
Const int np = 4;
double [,] points_xyzijk = new double [np,6] {{0,0,0,0,0,1},{500,0,0,0,0,1},{500,500,0,0,0,1},{0,0,0,0,0,1}};

//将双倍数组转换为垫对象:
垫点_mat =新垫(6,np);
for(int c = 0; c
{
for(int r = 0; r <6; r ++)
{
potion_mat [r,c] = potion_xyzijk [c,r];
}
}

//在Robodk中加载垫文件
Robodk.Item Object_Curve = RDK.Addcurve(point_mat);

//重命名曲线对象
object_curve.setname(“导入曲线”);


更多信息在这里:
https://twww.w5838.com/doc/en/csapi/api/robo...ounttype_
完美谢谢,工作,它不是创造对象最直观的方式。这是我编辑的代码,以防其帮助其他人。我删除了一个循环,直接索引了Double []以获得速度和清晰度

代码:
公共静态垫PointListomat(Point [] PTS,Vector ToolVec = null)
{
矢量电视= toolvec;
if(toolvec == null)tv = vector.zaxis();

//创建点列表作为双倍的数组数组
int np = pts.length;

Double [] Xyzijk = New Double [6];

//将双倍数组转换为垫对象:
垫点_mat =新垫(6,np);

for(int c = 0; c {
point_mat [0,c] = pts [c] .x;
point_mat [1,c] = pts [c] .y;
point_mat [2,c] = pts [c] .z;
point_mat [3,c] = tv.x;
points_mat [4,c] = tv.y;
point_mat [5,c] = tv.z;

}

返回potile_mat;
}




浏览此主题的用户:
1位客人