全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整5 |+ q, Y. f. D6 H" @
在什么地方设置,好心人发个图片说明一下& \8 r. O- V: s5 R8 U
0 Y" O2 O3 i9 r0 ~/ V

/ S0 J5 ~0 b- n3 o6 R另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置
5 z9 r0 F) I  z+ T请指教,越具体越好,如果用代码,请举例具体格式# W# e( d/ Y! b: m6 n
我是初学,简化的答案我看不懂; g! D$ J, V$ U' n
谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。
+ z! M2 ]8 _  m& B+ ~第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑 4 d* M1 `1 \! c# ?, q: b

1 d2 ]9 M2 k) N" u8 Q$ |先谢谢,辛苦啦6 _( [( U; l2 ^/ L6 z( b
其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会
. m& h& C7 x+ A8 P你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算- }9 u$ }- g$ ^0 F# A8 S
; m' _, k  k- @
第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。; b" r  v6 l0 _$ E6 }
D:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,/ t# @) k; N# q( q+ ]- Q

5 B; P+ X6 t7 zfsnode* item = parnode(1);
& I, k4 a8 I* g" c% `4 @fsnode* current = ownerobject(c);
* a9 H5 b) ]7 C//PROSESTART
$ a" w* @  x5 u% N/ ?//Change the 3D shape of
6 x7 ^* ?! h' ^//PROSEEND( ?* V# O; c+ r2 l- `3 D1 \
fsnode* theobject =& r. g* ?4 k* E1 J$ j- Y
//PARAMSTART- p( v: V1 U. \; J9 J
item
- i6 h  F) T0 V! v/ O) {//PARAMEND
. T: Y' Y8 X; x" m/ M* B1 g+ E;
) g" C/ t( u. l- `$ v" l//PROSESTART. G5 H5 Q; I$ Q8 k
//object to shape index number9 j0 u+ f, h: g. g
//PROSEEND
) V2 F2 B. E" E2 u/ A4 `/ R5 x4 B' L" i  V8 @' O" U: x* L/ Z
int theindex =9 \5 ]" m0 A8 {0 H
//PARAMSTART
, j- \6 V5 y  h2 ? 1 9 W3 [( {" e% X' A/ I" z
//PARAMEND; g7 y# ~( Y2 \* @
;  h' I7 p+ B2 |
//PROSESTART
; i$ o4 k' e5 q. ?9 X//.
  ^8 i5 r& d! X$ k6 V/ V//PROSEEND
2 g7 ?" y: k- U8 O. r
: X  y2 p! V' e5 k4 f) I( rsetobjectshapeindex(theobject,theindex);, u) V# y% @8 M9 l, S+ M
. K9 U3 ~  j1 G# u" E% b& }  Y
怎么用?2 ^3 A2 v) i9 I' t
如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?; a) K( ?" E( X! E0 W3 ]
请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
. ~1 p$ L% j; m8 P' E' B5 D( K, C第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。3 ~  C/ K: g; Z+ P, r3 b( V$ J
第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去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 22:50 , Processed in 0.091043 second(s), 13 queries .

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

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