基于Python的RecurDyn二次开发

RecurDynV9R5版本的二次开发模块ProcessNet开始支持Python语言,提供多种Python库,使用者可以利用这一简单、易上手的语言为重复性任务开发自动化脚本实现自动建模。在此以复摆为例,说明基于Python的RecurDyn二次开发具体方法以及相关要点:

基于Python的RecurDyn二次开发的图1

1 安装Python运行环境

RecurDyn仅支持Python 3.5及以上版本,如果当前电脑没有安装对应的版本,请前往Python官网下载并安装;

注:如果安装机器无法访问因特网请提前下载好Python安装包及其对应的附加包pywin32

安装好Python后需要安装Python的附加包pywin32,以python-3.10.5-amd64.exe为例;

1)打开CMD命令窗口,输入cd /d [Python Installed Dir],然后回车完成目录的切换;

2)因特网可访问时:输入命令python -m pip install pywin32, 然后回车开始安装附加包pywin32;

基于Python的RecurDyn二次开发的图2

3)因特网不可用时:输入命令python -m pip install [pywin32 Package Path], 然后回车开始安装附加包pywin32;

基于Python的RecurDyn二次开发的图3

为RecurDyn指定Python路径,从RecurDyn的Home>Setting>ProcessNet打开ProcessNet的设置窗口并设置Python的路径。

基于Python的RecurDyn二次开发的图4

基于Python的RecurDyn二次开发的图5

2 创建并运行ProcessNet Python脚本

注:Python脚本只针对第一个RecurDyn实例有效。

1)从RecurDyn的安装目录下的Bin/Python目录中拷贝ProcessNetTemplate.py到你的项目目录中,根据需要在这个文件中编写代码并保存;

2)从RecurDyn的Customize>ProcessNet (Python)>Run打开Python脚本的运行窗口,选择上一步的py文件,然后点击Run运行脚本;

基于Python的RecurDyn二次开发的图6

3)也可以不从RecurDyn中而在Python的IDE中或用命令行直接运行这个脚本文件。

3 ProcessNet Python开发实例

本实例在Visual Studio Code中编码完成,Visual Studio Code中有接口的智能提示功能,方便快速脚本编写。

基于Python的RecurDyn二次开发的图7


#==============================================================================

# ProcessNet Python Example

# The input parameters of the model

pt1 = [0, 300, 0]

pt2 = [-500, -200, 0]

pt3 = [-800, -900, 0]

radius = 50


# Create the bodies

body1 = model.CreateBodyCylinderWithPointPointRadius("Body1", pt1, pt2, radius)

body2 = model.CreateBodyCylinderWithPointPointRadius("Body2", pt2, pt3, radius)


body1.Graphic.Color = 0xFFFF00;

body2.Graphic.Color = 0x00FF00;


# Create the Joints

frame1 = model_document.CreateReferenceFrame()


frame1.SetOrigin(pt1[0], pt1[1], pt1[2])

revjoint1 = model.CreateJointRevolute("RevJoint1", model.Ground, body1, frame1)


frame1.SetOrigin(pt2[0], pt2[1], pt2[2])

revjoint2 = model.CreateJointRevolute("RevJoint2", body1, body2, frame1)

#==============================================================================


文章来源:recurdyn

(2条)
默认 最新
感谢分享
评论 点赞
谢谢分享
评论 点赞
点赞 3 评论 2 收藏 3
关注