全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整+ }" M  @/ [' ]! K" S6 \1 l7 Q
在什么地方设置,好心人发个图片说明一下
) A& }8 S# Q  Z' G5 Z' {& {9 X5 h8 ~7 I. I

& {, p( E1 o* ]; X- W1 s另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置
& H1 ^; F2 G9 ?+ v请指教,越具体越好,如果用代码,请举例具体格式
  z0 U) n* E, y我是初学,简化的答案我看不懂3 L  Z% m% ~( Q
谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。
% ~" e- M# G! W: P5 b; g$ v% C第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑
2 Z4 j* A. i0 W( S) O4 u" a/ ]  I9 r1 `& T8 ]- M, k" I' c
先谢谢,辛苦啦
5 O, ?8 w0 M7 t( F* G其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会3 r+ [0 P! q8 f  p  z/ d' m
你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算
$ }4 U! b; H8 b1 }. }
5 F0 z/ {; i5 f  J+ `) f+ e第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。8 Y# @0 |/ k) U( Z
D:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,
! T8 X1 k6 Q1 D" u) L& G7 o! \3 F7 J& e# N( ~" `6 Z3 u9 F
fsnode* item = parnode(1);
7 f4 S8 P* M  L( Afsnode* current = ownerobject(c);
+ X% p6 k6 x% c" c3 f( }//PROSESTART5 F) E. [/ X- G) N7 C" }
//Change the 3D shape of
5 e. [5 [: y1 r: Q" ?//PROSEEND5 f' L9 v2 E0 |' O
fsnode* theobject =
  R& U7 a$ |5 }% o" a//PARAMSTART1 E& S" y! e' s8 M9 h
item 3 d3 [2 B% e: T$ z; J& y/ {* A
//PARAMEND6 m4 N& Y, [. r& t
;
% s) S+ a& u: V, O8 K//PROSESTART  ^# @; @- c7 y
//object to shape index number
) b' X+ }+ O* H1 X& p//PROSEEND
; c, i& J$ p! ^7 A5 S) n7 K4 G& e9 g  T; O( A# q' h+ `
int theindex =1 H, \, L7 M  _5 g
//PARAMSTART  j4 w2 k* G% O
1
+ Z9 ^, P9 S! }! M; ~& t//PARAMEND
5 ~* q  T- O. N;8 K& p$ V# d2 e3 r& g+ ]0 I
//PROSESTART+ y/ A0 s* w5 @+ t  R" {" U" M
//.
" D+ z( A. d5 S4 U  |//PROSEEND* u$ g# h$ F  P) v) |+ F: s
. ~1 \6 p5 q# m
setobjectshapeindex(theobject,theindex);
7 B) n: a4 I8 b& X: n9 H! K* w
3 P, t/ H3 A6 P3 n, T: o怎么用?
/ u# ~, S. l1 m/ J! N- v如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?
4 s5 P( O) b0 M* k0 B# y请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
; m/ L! v" h5 j% F& Y* L第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。
8 g2 _; e2 q8 l& n: x+ I& L第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去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 02:32 , Processed in 0.083813 second(s), 13 queries .

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

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