logo资料库

ADAMS_绳索建立.pdf

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
八哥博士为大家呈献 001 (修改版) adams 中绳索的建立 更过资料请关注 qq 空间 2444035 开始之前,简单说一下 上一次写了这个例子,论坛里大家提意见说要加接触的东西,这次加上 另外一点,关于绳子参数的设置,这个东西每个人做的东西不一样,我怎么说呢,设置的根 据肯定是你要模拟物体的性质了,这个东西还是自己查查资料吧。 第一步,打开 ADAMS 建立一个新模型,model name 为 shengzi。如下图 注意:model name 要与以后要用到的 cmd 命令文件的名称一致 第二步,创建一个圆柱,长 50,半径 10,圆柱方向如下图所示,右键 rename,将名字改 为.shegnzi.PART_1 1
八哥博士为大家呈献 001 (修改版) adams 中绳索的建立 更过资料请关注 qq 空间 2444035 第三步,将圆柱 copy 300 次,方法是点击 tools>read cmmand file F2,选择相应的命令文件(关 于命令文件的建立看文章最后的注意事项)。 这里,我的命令文件如下 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! defaults model model_name=.shengzi variable create variable_name=ip integer_value=1 while condition=(ip<300) !set part part copy part=.shengzi.part_1 new_part=(unique_name("part")) !set part variable modify variable_name=ip integer_value=(eval(ip+1)) end!while variable delete variable_name=ip !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2
八哥博士为大家呈献 001 (修改版) adams 中绳索的建立 更过资料请关注 qq 空间 2444035 第 4 步,移动复制的圆柱,依然是倒入相应的命令文件 命令文件如下(c1,c2,c3 代表的是移动的方向,这里我是向 y 方向移动的,所以 y=50,50 为一节圆柱的长度) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! defaults model part_name = .shengzi.part_1 variable create variable_name=ip integer_value=1 while condition=(ip<300) move object part_name = (eval(".shengzi.part_"//(ip+1))) & c1=0 c2=50 c3=0 & cspart_name = (eval(".shengzi.part_"//(ip))) variable modify variable_name=ip integer_value=(eval(ip+1)) end!while variable delete variable_name=ip !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 移动完成后的图形如下 3
八哥博士为大家呈献 001 (修改版) adams 中绳索的建立 更过资料请关注 qq 空间 2444035 第 5 步,调整 working grid 方向为 global yz 如下图 第 6 步,建立一个半径为 83.30127019 的圆柱,长度随意,但是不能太短, 位置如图 4
八哥博士为大家呈献 001 (修改版) adams 中绳索的建立 更过资料请关注 qq 空间 2444035 说明一下半径的由来:我计划圆柱这条绳子绕一个圆柱(下文中称为转轮),绳子两端都朝 下,这就需要绳子旋转一定角度,但是绳子是半径为 10 长 50 的圆柱组成,所以我希望,绕 滑轮的每个圆柱都与滑轮相切。我设定每个圆柱旋转 30 度,这样 6 个就可以转 180 度。 如下图 OD=25/tan15-10=83.30127019 这个问题应该不难,自己考虑吧 而且每个人画图估计都是有确定尺寸的,估计也不会这么算,但是如果转轮尺寸确定,绳子 中圆柱旋转的角度是这么算的,自己琢磨吧 A B C D O 5
八哥博士为大家呈献 001 (修改版) adams 中绳索的建立 更过资料请关注 qq 空间 2444035 第 7 步,将转轮移动到目标位置 我的移动方向步骤如下, 首先选择视图到 xy 平面 往 x 方向移动 93.30127019,往 y 方向移动 6025=120*15+25,就是 125 号圆柱的中间 第 8 步,给绳子添加 bushing,依然是读取 cmd 命令文件 代码如下 6
八哥博士为大家呈献 001 (修改版) adams 中绳索的建立 更过资料请关注 qq 空间 2444035 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! defaults model model_name=.shengzi variable create variable_name=ip integer_value=1 while condition=(ip<300) marker create & marker_name = (eval(".shengzi.part_"//ip//".MARKER_1"//ip+1000)) & location = 0.0,(eval(ip*50)),0.0 & orientation = 0d, 90.0d, 90.0d marker create & marker_name = (eval(".shengzi.part_"//ip+1//".MARKER_1"//ip+2000)) & location = 0.0,(eval(ip*50)),0.0 & orientation = 0d, 90.0d, 90.0d force create element_like bushing & bushing_name = (eval(".shengzi.bushing_"//ip)) & adams_id = (eval(ip)) & i_marker_name = (eval(".shengzi.part_"//ip//".MARKER_1"//ip+1000)) & j_marker_name = (eval(".shengzi.part_"//ip+1//".MARKER_1"//ip+2000)) & damping = 1, 1, 1 & stiffness = 5.9346e4,5.9346e4 ,5.9346e4 & tdamping = 1 , 1 , 1 & tstiffness = 5,5 ,5 variable modify variable_name=ip integer_value=(eval(ip+1)) end!while variable delete variable_name=ip !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 7
八哥博士为大家呈献 001 (修改版) adams 中绳索的建立 更过资料请关注 qq 空间 2444035 这就是建立好的 bushing,注意 cmd 文件中的 bushing 方向的改变是通过建立的两个 marker 点的方向实现的。 第 9 步,让圆柱绕转轮旋转,完成后如下图,依然通过 cmd 文件实现 命令如下 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! variable create variable_name=wh integer_value=122 while condition=(wh<=127) variable create variable_name=ip integer_value=(eval(wh)) while condition=(ip<=300) if cond=(!str_is_space("part_varval(wh)")) undo begin sup=yes variable set variable=.mdi.TmpDefOriS str="body313" defaults unit orientation_type=body123 move rotation part = (eval(".shengzi.part_"//ip)) & csmarker = (eval(".shengzi.part_"//wh//".MARKER_1"))& a1=2.0 a2=30d a3=0.0 about=yes defaults unit orientation_type = "body313" undo end end variable modify variable_name=ip integer_value=(eval(ip+1)) 8
分享到:
收藏