全球FlexSim系统仿真中文论坛

搜索
查看: 8707|回复: 9
打印 上一主题 下一主题

用combiner做装配生产线,零件装配位置不正确,如何调整

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整% J8 u' N/ i- l( T0 h9 \. R
在什么地方设置,好心人发个图片说明一下' u6 D6 _3 ~; u% V5 b  ?: ?
+ f$ U. k5 Y0 f7 n2 K2 m
  j  m0 b# V) L$ R, O1 u
另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置! M: {  Z. l' g0 K
请指教,越具体越好,如果用代码,请举例具体格式# z7 V$ A: m) J5 y
我是初学,简化的答案我看不懂( u% w9 n6 g/ u2 ^. D& b# ~
谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。6 ~" W& @: y4 x2 ^2 `; i0 ?2 Q
第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑
/ J# C  [% V( X) V4 Q  j5 p8 b
% e$ @* R2 O$ g) n: n! [8 a先谢谢,辛苦啦" [3 q% F; X" y- t/ W
其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会
/ U. E: K) b" z3 k+ E# l: D你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算1 ^+ d3 }0 n- s1 o

$ Q) i* V" s9 z第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。
$ s  q+ I& J. O2 a1 ?. O  QD:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,
2 w1 z' S# E. A1 p; r7 [+ d7 A2 z
0 n- R" a0 M+ @# c( v+ q1 @fsnode* item = parnode(1);
1 y5 n$ E' U1 ]  p% N- }fsnode* current = ownerobject(c);
1 C2 E7 u) B! _$ w1 c6 c6 ^! y  t//PROSESTART( U8 N  \5 h1 G1 v: Z4 Z7 k" e
//Change the 3D shape of
" _8 a9 l0 R! \7 \//PROSEEND  k5 `* z$ P" d7 h
fsnode* theobject =% r6 |6 L9 A* |) \1 S
//PARAMSTART
  o( d& h$ ^6 r! G1 t. d# y item " _/ ^6 p9 ~' t( }) {
//PARAMEND
) B: x+ S( e+ p6 o* @$ };, p* _$ s, F- Y' c( R5 y4 v
//PROSESTART' `7 j8 }% @  o5 A- p9 w
//object to shape index number2 |; u' T3 q* y+ D+ ^! G
//PROSEEND
+ W% k. z+ D8 o/ w
# b, c/ ]9 C9 l9 Wint theindex =
! {' v, e7 S5 x1 H, n& Z//PARAMSTART, ~/ }: O. J! [1 C/ K
1 / ?+ b/ Z# g& B  b: l! \% W
//PARAMEND
5 a; Q; h( [( G) C;2 u, J9 H+ u7 C0 N
//PROSESTART
/ w4 H* |3 s- y//.
7 B% E2 L  B! S7 a2 L1 B! x9 u* u) z6 k//PROSEEND
; E4 }* M9 u% O
* y" h2 K3 }+ B7 }) Osetobjectshapeindex(theobject,theindex);
. @1 \6 q0 k8 B* _1 g2 J4 [8 R+ n' i2 m) t+ u& Z/ X
怎么用?
) K8 v5 i, m& X6 X如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?
) _+ Z, a" c$ K  {0 _请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
7 M; D) ]3 ]; a2 I: P! g6 @; f1 ^" V第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。
' f( T3 s* M2 K; z9 B0 i% w第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去help文档里面了解相应的触发器是什么时候才会触发,然后决定在哪里写代码。setobjectshapeindex可以实现你要的功能。具体代码怎么写请参考help》command的相应指令介绍。一般代码都不需编译的,应用ok就行了。
6#
 楼主| mymailmy001 发表于 2011-1-5 00:40:35 | 只看该作者
我是初学的,能得到帮助非常感激!
7#
wang-csn 发表于 2011-3-12 18:15:29 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
8#
wang-csn 发表于 2011-3-12 18:20:02 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
9#
Rosalyn 发表于 2011-3-16 21:28:57 | 只看该作者
楼主应该是用3.0做的,setobjectshapeindex的第二个参数,应该是在工具箱里的导入媒体文件里查找你导入的图片序列号,也可以用getshapeindex("D:\Program Files\Flexsim3ChDemo\fs3d\OperatorFRAME5.3DS")这是一个绝对路径的引用,如果模型和图片在同一文件夹下可以直接写getshapeindex("OperatorFRAME5.3DS")
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-8-31 13:40 , Processed in 0.079068 second(s), 13 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表