iCAx开思网

标题: 【求助】子程序问题!急用 [打印本页]

作者: register    时间: 2003-6-4 21:48
标题: 【求助】子程序问题!急用
       在子程序SFOSUB中用到力的I_MARKER或J_MARKER的位置,子程序中有那个函数可以表示MARKER的位置?或有那个量的表示与MARKER位置相关?
      急用!
      知道的请回一下帖子,不胜感激!!
作者: Jeriflee    时间: 2003-6-4 22:24
hi,上次的问题解决了?
  
不是很明白,你是要用一个函数来引用已有marker,得到其位置吗?
作者: Jeriflee    时间: 2003-6-4 22:34
事实上,创建一个力的时候,给定其i_marker和j_marker的名字就可以了。
  
比如用脚本来表示
  
以下是个例子,用了一个simgle force,其中其力的大小从子函数中获取,子函数的ID号为1.0
     
    force create direct single_component_force  &
    single_component_force_name = .test.SFORCE_1  &
    adams_id = 1  &
    type_of_freedom = translational  &
    i_marker_name = .test.PART_2.MARKER_2 &
    j_marker_name = .test.ground.MARKER_3 &
    action_only = on  &
    user_function = 1.0
这相当于
F(t)=user(1)
作者: register    时间: 2003-6-4 22:51
    谢谢版主关心
    我要定义一个力,力的大小随力作用点(I_MARKER)的位置变化而变化
       我用的是subroutine,和user function不同,function中的很多函数在subroutine中不支持,如下面SFOSUB定义,其中的ID是力的MARKER,但是我不知道在子程序中怎样得到MARKER对应的位置,应该用什么函数实现,如果知道的话,请指点一下
  
           SUBROUTINE SFOSUB ( ID, TIME, PAR, NPAR, DFLAG,  
         &                    IFLAG, VALUE )
作者: Jeriflee    时间: 2003-6-4 23:14
明白了,我可能原来的理解是对的,你要在子函数中访问模型中的某个marker,并要获取这个marker的位置,比如坐标等参数。
  
对吧!
  
我查了好长时间,也没有找到这样的函数。
我这儿资料太少了。
  
明天我到adams的论坛看看去。
作者: register    时间: 2003-6-4 23:25
   谢谢了
   我也会努力的
作者: Jeriflee    时间: 2003-6-4 23:29
也许你可以用函数的参数把数据传进去。
在user parameters里面指定。
  
子函数的作用有限的,估计没有函数可以直接访问模型中的对象。
作者: Jeriflee    时间: 2003-6-4 23:31
另外,你给的函数是adams给的demo吧?
  
你可以自己定义一个函数的,自己定义参数。
  
然后通过参数把marker的数据传进去。
作者: register    时间: 2003-6-4 23:38
    我再试试,快停电了,明天再试了




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3