全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整
# K0 b: X& @% O* `0 i, F, m6 D在什么地方设置,好心人发个图片说明一下
0 p' V* D# N- g6 z, |1 z% n% f  d9 I9 d% ?: ]7 E
  `% t; {0 S  |9 Q7 g2 n7 Z
另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置
6 i' p$ E9 u& f5 e请指教,越具体越好,如果用代码,请举例具体格式& _% k4 a! J5 t8 V! E7 b  q
我是初学,简化的答案我看不懂4 o8 {$ s7 r. h( g: {- e) f5 C
谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。7 _% G  _& I) q
第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑
/ h' h$ z* {: `1 v+ B
# `% W9 G4 y1 `1 ?, w先谢谢,辛苦啦# U' R% p. K+ O- A! G7 Z; c
其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会
1 C4 F: a) W, r) d& @* u. M你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算& X( y( X, ~+ G6 A1 C

: w! w2 E. {/ h" H8 S% p3 e  y第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。  h, O$ m* n0 ~8 l. h3 x
D:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,
% |6 x  m$ T" T7 Q, Q+ f0 e- x$ ]! d% W. ^
fsnode* item = parnode(1);4 J$ H% L" a0 p8 J$ g7 o
fsnode* current = ownerobject(c);/ H- k: k& ]& m; W( k' b1 Y& D
//PROSESTART, ]8 M( ^3 U* c6 v: C  m- s
//Change the 3D shape of
, c3 [8 s) M; \//PROSEEND. y: o: _2 k1 Y2 A/ v
fsnode* theobject =
% L. [' b& X- v4 R' f//PARAMSTART6 u( r3 t) n. n' {
item   u7 u$ c8 Q8 A- o( O/ h# M
//PARAMEND
4 Z- ?8 |& y1 p& i! Z* u;
) M7 m; o  p, F, i. o//PROSESTART8 H' G3 B6 T: F' x; L
//object to shape index number) s/ t/ ^9 w$ q# Q% m1 V: ]3 I6 `
//PROSEEND
9 }; o( M# W' {/ O" S* h5 K! r' _- _; w6 `
int theindex =
) R  m, y0 M9 W, d2 u: Q//PARAMSTART
' C% A) c: C% ^. | 1
! I, ?& s! h- }3 h3 O//PARAMEND
- |5 P/ y7 @( L& D7 k8 Z;
5 \; s. _5 `; l4 k$ f//PROSESTART
( Z: |4 A* _) f: X2 r//.1 T+ C. t. d( m* Y" [! C
//PROSEEND5 _  {  l# D$ f; x4 y2 S

( P: [0 h2 C& N# B% {" asetobjectshapeindex(theobject,theindex);% L+ u+ s! b2 Q/ @$ y7 ]. H

- ~9 B2 m) {, q4 A" a怎么用?. I1 k8 |/ f, A. t  F
如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?$ K1 u% D5 A0 y4 M5 t3 K, q
请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
$ s2 T. F+ L3 ~& I第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。
% I$ B" y# z; d8 n第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去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-17 15:38 , Processed in 0.072351 second(s), 13 queries .

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

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