全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整$ a  g# k: n( S! i: f5 V* O4 B3 ~
在什么地方设置,好心人发个图片说明一下; a3 p0 B9 ~& j( F' l& `+ y
0 w) y; x$ i& R+ R" T! o4 b
2 Y$ a9 ^8 U/ ], m& l; W
另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置1 j) M* x, D( t4 c! X9 V& ^* z: L/ }
请指教,越具体越好,如果用代码,请举例具体格式" N2 h* s/ t" W* Y
我是初学,简化的答案我看不懂* I1 G9 z# D; d/ h
谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。
. ]8 Y7 i$ u" ?& S! v第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑
2 J* s+ `- `1 L! r6 E) t5 k% T, I* ^2 W# _1 w8 w" r3 v8 g
先谢谢,辛苦啦, p0 g- L( T6 G
其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会
( W  d; u& _, d& F  L1 J# z你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算
  I9 y. W& Q4 e, A& h0 q7 P. g
第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。$ _, K+ M% g- U9 G, N2 g  c2 G
D:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,
8 g% B0 ~- }+ Y: G: _2 O, u7 n. l# F/ H
fsnode* item = parnode(1);4 z  ]' U/ r% v( K3 A
fsnode* current = ownerobject(c);$ J) r2 l' v0 \. B  }
//PROSESTART+ D2 p9 m+ f5 p7 C" o. Z
//Change the 3D shape of
$ K0 @! f- p& U+ G& V) f/ \& n//PROSEEND( ?: s5 x/ p* i
fsnode* theobject =5 q/ G, d) \2 ?' y! j
//PARAMSTART
- F! g+ _1 f% { item
* S0 y6 |4 h  G0 l: i! V//PARAMEND
# A- Q8 \4 W; Q3 _;8 Z$ `/ n6 j( s) h0 `8 N* e
//PROSESTART
" X; q/ c& u6 D, v& O6 I( `3 V//object to shape index number& z4 ~! l/ h/ ?3 S& p7 _5 y3 j1 O
//PROSEEND
. X: d1 U' b) H1 M# W4 f& P) I! i& O. {6 [/ G, }
int theindex =
7 \  i9 `9 x; U$ s! N" \+ _//PARAMSTART: y1 N- Q2 r2 i: t) B" T
1 9 b; S6 M4 x9 p/ C6 F
//PARAMEND! V) t" i* ^2 |( R' h" G
;
, R- W3 G9 y3 |& q( E//PROSESTART
: f" s9 J- R# b4 W//.! }( f) M" ^, [. C  `8 k
//PROSEEND
+ V5 H, @* ~/ w9 W" @/ n: ^' N. R: b6 u9 o9 a$ _. b* e
setobjectshapeindex(theobject,theindex);
  Q$ l; A7 j$ h9 S3 G+ K( @; f% s( T7 D, V
怎么用?
' a+ I0 L  J6 ^; x8 _1 K, D如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?
. b! P8 N" w2 T请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。8 D: u& `( J* ]5 F1 r( V
第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。
' i' ]1 l7 n: Z$ t第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去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 17:18 , Processed in 0.064119 second(s), 13 queries .

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

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