全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整
& j* I5 a* N% ~5 N8 ^在什么地方设置,好心人发个图片说明一下2 D7 N7 K& s7 V% Q( ]8 a' T+ w! H
! ]& `! A5 a! ]3 r/ h! P
$ ?( v; ?( q+ C0 z2 [$ l) q
另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置' q" b, ^  C. z/ O0 Y, \: s( {
请指教,越具体越好,如果用代码,请举例具体格式
  z* N# t! n- K7 Q/ ~1 C我是初学,简化的答案我看不懂+ K9 |! D( P( j( e! C. }
谢谢啦
9#
Rosalyn 发表于 2011-3-16 21:28:57 | 只看该作者
楼主应该是用3.0做的,setobjectshapeindex的第二个参数,应该是在工具箱里的导入媒体文件里查找你导入的图片序列号,也可以用getshapeindex("D:\Program Files\Flexsim3ChDemo\fs3d\OperatorFRAME5.3DS")这是一个绝对路径的引用,如果模型和图片在同一文件夹下可以直接写getshapeindex("OperatorFRAME5.3DS")
8#
wang-csn 发表于 2011-3-12 18:20:02 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
7#
wang-csn 发表于 2011-3-12 18:15:29 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
6#
 楼主| mymailmy001 发表于 2011-1-5 00:40:35 | 只看该作者
我是初学的,能得到帮助非常感激!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
1 N! {5 n3 e% K% e% B0 P/ F! g第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。7 Q, o/ L3 i2 i0 k9 m
第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去help文档里面了解相应的触发器是什么时候才会触发,然后决定在哪里写代码。setobjectshapeindex可以实现你要的功能。具体代码怎么写请参考help》command的相应指令介绍。一般代码都不需编译的,应用ok就行了。
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,: G  G# W; ]  q/ J) ?$ z# j
; ]2 R5 |+ d; A( J5 T3 u% n
fsnode* item = parnode(1);0 |. g0 G  ?& p( u- b% l
fsnode* current = ownerobject(c);
+ L% i/ F; T% ]' q# m* f  V//PROSESTART0 c1 Z* r6 I7 H: B
//Change the 3D shape of
, a7 K/ A; c) \0 e& O2 {//PROSEEND
5 T' w2 _! n0 c/ F9 ~fsnode* theobject =. w/ ~- `0 d/ _* P
//PARAMSTART8 x5 y) S( O" d! T& o" u- S
item
6 p! ^) Q% a; @/ e3 o//PARAMEND  h* I; M: S1 C. |' s
;0 ?8 h* m2 v6 h9 f' B
//PROSESTART8 ^/ D2 d  y, }" ^' r) W
//object to shape index number3 M2 m# J1 W$ @9 M' v$ y' y
//PROSEEND
/ L* V) Q# a0 Z9 V; Z4 Z4 c4 i) [
int theindex =- \/ u$ p( X! |- j% _, j9 E5 |
//PARAMSTART/ b. _5 y- u* Q' ^: V
1 - z) g* B! `, F# |, M  Z
//PARAMEND
% M7 Q* E: o: M! D1 };$ V; U3 G2 G2 @, W+ t: ~$ f
//PROSESTART8 `  c/ F8 K" T! m- S  @# a4 L
//.
: f0 b3 k, ^( @# K* w6 @/ y//PROSEEND+ J, \/ B$ B% x5 L9 b1 s

+ T6 U% a% e+ c: @+ P  I& P6 T8 esetobjectshapeindex(theobject,theindex);
$ R- R+ v' \+ j2 y
; ?& A. N- |& h+ E% x* @( \* S怎么用?
" T* N. m  C- F如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?
# ~7 p( t7 A) c请指教!
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑
9 U% ~  {2 E: o  m
4 K% G% U: H/ s先谢谢,辛苦啦
4 ~& E2 B0 h) @; {* E" q: @( {其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会$ w4 x( ~5 ?) q) k3 g) |$ G8 I
你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算
( M8 k2 q( B7 f" I5 z' W+ {: T. a3 r& y2 d% z; c7 o
第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。
4 f( K; i* U' f5 d6 o) Y: b$ P; SD:\1.jpg
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。
2 D* y5 i+ {$ X+ r& v- |第二个问题,我不明白你的意思。请描述清楚。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-29 05:32 , Processed in 0.080807 second(s), 14 queries .

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

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