全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整  K" ^% P6 O/ x* \
在什么地方设置,好心人发个图片说明一下; ^) e1 ~  S. l6 F0 A  z* J( ^
  u$ x  g2 ]" v0 I/ z" H
2 {( X; Q1 }: N% Y/ }% N
另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置
" C9 i7 a- q# {( I% _请指教,越具体越好,如果用代码,请举例具体格式
# ]* S7 C+ R. L' b我是初学,简化的答案我看不懂) V5 E( [! n  B/ \3 R: r
谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。
( K6 I: g9 [6 P; y' c第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑
2 Z$ @4 r5 Q5 Z2 k) ^. V4 o! C! Q( T5 ?5 I# R
先谢谢,辛苦啦1 @' f1 x- k0 X2 _* g
其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会! T  h0 j& O9 I  d0 Y, W% I3 C
你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算
# R5 g& H8 I8 h. _
" U# d3 \# J7 d第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。
7 E7 q$ p' }# J5 f- n- M; n) j) }D:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,8 s. u8 p# h+ V

& K6 C) q/ k2 g$ P: z# H0 Nfsnode* item = parnode(1);
4 A+ [6 f5 ^2 T3 W! ?9 @6 D2 Lfsnode* current = ownerobject(c);- a; k; a; Q* u9 |2 s
//PROSESTART
5 v7 V8 m/ }7 N//Change the 3D shape of
0 w' v8 t/ ~  l7 z: G//PROSEEND
. o. L' t# X& c' M( E! B4 h- m) r/ ^fsnode* theobject =& v2 X: [  G: K" p2 @
//PARAMSTART# ^8 v; A# k% E* {7 ?5 D
item ( w$ }' M6 n# n0 N% |) }. ~4 k. ]: n
//PARAMEND
) k: a& a5 L* X;
: \. T% a/ m: Z: c9 M" p//PROSESTART
* ]2 D2 H3 o$ y: o6 Z//object to shape index number
# `3 ~/ Y, t( v$ y5 s  n) @! T//PROSEEND. i3 }! M3 B4 V' C0 g- a
4 a) Y' Y% h  v8 {3 g( D
int theindex =3 O/ V. U5 I6 @
//PARAMSTART
$ k9 J" K: }; u( i0 X2 J 1 & Y/ s0 |! m3 ]+ F" _  \7 a" P
//PARAMEND
+ ?. @2 i, z8 h4 o7 ]1 |' g;! Z4 I! C1 v3 s* j$ C2 M  r2 j' H7 h8 j  J
//PROSESTART
) v2 \; _. ?% [//.
. ?, W# b9 W) [6 a//PROSEEND! g0 y1 W  `6 n; W# `" U. I8 K! D! M
/ \4 F2 w2 O; n
setobjectshapeindex(theobject,theindex);
$ r8 X- I# q, S0 e" [, w
4 E' L( C( r/ V怎么用?8 \  j* f: r+ ^* j
如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?' ~3 V& S; ^' D9 i( P8 X
请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
( [3 }9 B: X" C1 m' q! X( Z第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。/ E# v, T( k  p' h
第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去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-10-19 03:20 , Processed in 0.062556 second(s), 14 queries .

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

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