全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整5 Q- d4 n- Q) ?5 G2 |
在什么地方设置,好心人发个图片说明一下
: q4 d  r. r- H; s1 p- |: J' W  k0 d) x
4 e/ [1 g+ O- c. B
另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置9 G; c' k( t+ ?, a
请指教,越具体越好,如果用代码,请举例具体格式
/ `" G2 q/ P7 n, b  b我是初学,简化的答案我看不懂
+ J2 `% m1 I/ H谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。
7 |0 K6 j( `' c( V7 y9 Q. a. Y第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑
2 Q' }4 e( _& k5 q' f# p
6 E- U' B3 B2 }* D+ \9 R2 r先谢谢,辛苦啦+ h5 h) E& ?; M+ V8 m7 K
其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会
& d9 \& g; L# @$ R: U, R: H* o你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算8 P( S- f; e4 B7 C* L

" v! z. K" y7 h% g1 h第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。
$ o7 [0 }5 p+ d! ~D:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,
7 Y; j/ J& b) @# V! S5 j$ G7 Y: S7 @
fsnode* item = parnode(1);
( {% C# H' H) n- a3 c6 gfsnode* current = ownerobject(c);: c' H3 u- H4 A! k
//PROSESTART
, W$ `4 W  P2 ~" {/ |2 u& o3 l: D//Change the 3D shape of% w1 b0 J* O" z: E$ c( P% u
//PROSEEND
% b2 k( g2 S3 }  z2 Ufsnode* theobject =
* d) X2 Y2 a, ?. M8 @2 L) y//PARAMSTART
& t) `0 E# m$ ]: r item
5 {% |; A5 i+ H  ]% F0 Z8 _: N7 r//PARAMEND
5 O7 r3 z" Z# m5 y;
4 ]2 u% W1 b$ O& l% c- }& p" V//PROSESTART
# x; L) [$ E1 W( R2 H; ^" [//object to shape index number  h% L) L& J. o+ W. T
//PROSEEND2 P* r+ j3 f, d( y
3 t/ o8 H: ~9 Z5 S* ]9 Y
int theindex =
" ~: n7 Y; E8 l//PARAMSTART1 z* _* e+ n8 M8 c1 k; H1 F. m
1
5 n- d+ Q4 ~" I  e9 Y4 q' b* u//PARAMEND, F7 Q4 S* r  l5 {
;
! `' U, T/ S* G+ n! |: H# X//PROSESTART$ |2 B2 P; z$ q2 i3 V% R5 c
//.5 t; P, W& u* H* m5 V8 T2 O
//PROSEEND
7 }" H4 W9 b* a* m2 x0 q
& ]  X3 X8 `& I; }7 ~* zsetobjectshapeindex(theobject,theindex);
+ ]  W# T- q' j
$ j/ I3 _+ i5 ^7 J$ r2 I+ u, V7 u怎么用?. O& U7 t5 R' z  r, {3 d
如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?
1 E2 z% T4 O; M请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。) u: J- I6 P* s4 f
第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。2 ~4 f* C, i% ]7 h$ y8 q8 i) {; w6 y
第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去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 18:57 , Processed in 0.084738 second(s), 14 queries .

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

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