线程评级:
  • 0 (s) - 0平均投票
  • 1
  • 2
  • 3
  • 4
  • 5
使用python脚本项目表面
# 1
我一直使用python脚本生成一个曲线和项目到表面。

python脚本使用RoboDK API和曲线跟踪项目。出于某种原因,当我在RoboDK运行程序,它生成的曲线但不曲线投射到表面。它还说,python脚本继续运行,不会停止,直到我给它停止手动选择。

当我发送整个站的同事,效果很好。我想知道它可能是RoboDK或Python的版本或可能导致这个问题。
# 2
你使用最新版本的RoboDK吗?
“帮助”- >“关于”
最后一个版本是5.3.0(11月4日)或5.3.1(11月14日)

杰里米
找到有用的信息通过访问我们的关于RoboDK及其特性在线文档看我们的教程Youtube频道


# 3
我使用5.3.0和同事(谁没有经历这个问题)是使用5.2.2。
# 4
你可以试试5.2.2这里,让我们知道它是否解决了问题。//www.w5838.com/downloads/Install-Rob...v5.2.2.exe
如果是这样,我们将调查这些版本之间发生了什么。
杰里米
找到有用的信息通过访问我们的关于RoboDK及其特性在线文档看我们的教程Youtube频道


# 5
我只是下载版本5.2.2和脚本最终预测曲线和停止。
# 6
你能提供的脚本,我将到我们的开发团队。

杰里米
找到有用的信息通过访问我们的关于RoboDK及其特性在线文档看我们的教程Youtube频道


# 7
这个程序将创建点和项目这些点在一个窗口空白;x, y -坐标形成一个正弦波
#变量
#在毫米x坐标
#在毫米y坐标
# z z坐标在毫米
# y_steps点之间的坐标增量
# x_steps x -

def Make_Points (Point_Start Point_End Num_Points):

#提取的起点
Point_List = []
x = Point_Start [0]
y = Point_Start [1]
z = Point_Start [2]

#计算每个连续的路径点之间的距离
x_steps = (Point_End [0] - Point_Start [0]) / (Num_Points - 1)
point_i = [x, y, z]
Point_List = []
Point_List.append (point_i)

r的范围(2):

因为我在范围(49):
x + = x_steps
point_i = [x, y, z]
Point_List.append (point_i)

如果r = = 1:
打破

y + = 30
point_i = [x, y, z]
Point_List.append (point_i)

因为我在范围(49):
x - = x_steps
point_i = [x, y, z]
Point_List.append (point_i)


y + = 30
point_i = [x, y, z]
Point_List.append (point_i)



返回Point_List

从robolink进口* #进口robolink库
从robodk进口* #进口robodk机器人工具箱
从随机种子#如果需要进口
从随机randint #如果需要进口

#启动参数
Point_Start = (130.3, -616117)
Point_End = (354.4, -616117)
Num_Points = 50

#产生点,将用于创建正弦波的道路
点= Make_Points (Point_Start Point_End Num_Points)

#与模拟器打开沟通
RDK = Robolink ()

#关掉自动呈现
RDK.Render(假)

#自动删除以前生成的项目(汽车)
list_items = RDK.ItemList ()
在list_items:项
如果item.Name () .startswith(汽车的):
item.Delete ()

#打开渲染之前开始仿真
RDK.Render(真正的)

object_curve = RDK.AddCurve(分)

ProjectionType = PROJECTION_CLOSEST
#可用值包括:
# PROJECTION_NONE = 0 #没有曲线投影
# PROJECTION_CLOSEST = 1 #表面的投影会亲密点
# PROJECTION_ALONG_NORMAL = 2 #投影将沿着正常完成。
# PROJECTION_ALONG_NORMAL_RECALC = 3 #投影将沿着正常完成。此外,根据表面正常将重新计算正常。
# PROJECTION_CLOSEST_RECALC = 4 #表面的投影将最接近的点和法线将重新计算
# PROJECTION_RECALC = 5 #法线都重新计算根据最接近的表面正常的投影

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#要求用户提供的对象特性
object_features = RDK。ItemUserPick(“选择对象特性的项目(曲线和/或点)”ITEM_TYPE_OBJECT)
如果不是object_features.Valid ():
辞职()

#要求用户提供与表面作为参考对象
object_surface = RDK。ItemUserPick(“选择表面对象项目功能”,ITEM_TYPE_OBJECT)
如果不是object_surface.Valid ():
辞职()

#创建一个表面对象的副本
object_surface.Copy ()
new_object = RDK.Paste (object_surface.Parent ())
new_object。setName(“重新计算法线”)
new_object.setVisible(真正的)

#隐藏对象用于构建的新对象所需的曲线
object_features.setVisible(假)
object_surface.setVisible(假)

#关掉渲染(快)
RDK.Render(假)

#添加所有曲线,预测根据需要(遍历所有曲线,直到找到曲线)

curve_points name_feature = object_features。GetPoints (FEATURE_CURVE, 0)
打印(name_feature)

curve_points_proj = RDK。ProjectPoints (curve_points object_surface ProjectionType)

RDK。AddCurve (curve_points_proj new_object,真的,PROJECTION_NONE)

#打开渲染(可选)
RDK.Render(真正的)
打印(“完成”)
path_settings = RDK。AddMillingProject (“AutoCurveFollow设置”)
掠夺、状态= path_settings.setMillingParameters (= new_object部分)


这是我一直使用的脚本路径投影到曲面。
22下载并运行这个脚本之后,它应该。5.3.0版没有工作。
# 8
你好,

你也可以添加一个小.rdk文件我们可以测试脚本在哪里?
顺便说一句,你可以把脚本作为. py文件。

当您选择“新回复”可以按“选择文件”,然后“添加附件”。

杰里米
找到有用的信息通过访问我们的关于RoboDK及其特性在线文档看我们的教程Youtube频道


# 9
附件是测试站以及python脚本为. py文件。

这是python脚本


附加文件
.rdk Test_Station.rdk(尺寸:3.24 MB /下载:184)
. py Prog1.py(尺寸:4.23 KB /下载:234)
(11-22-2021,08:47 PM)杰里米写道:你可以试试5.2.2这里,让我们知道它是否解决了问题。//www.w5838.com/downloads/Install-Rob...v5.2.2.exe
如果是这样,我们将调查这些版本之间发生了什么。
杰里米

你能提供给我一个下载链接5.2.2帮MacOS版本吗?




用户浏览这个线程:
1客人(年代)