全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整! r$ L, C5 E  M# s$ i+ p
在什么地方设置,好心人发个图片说明一下( [( h, ^5 X/ w% k! `
- `" I5 p% q6 z/ ?
+ f  e4 S' l2 h5 h4 p
另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置
# a  J2 b4 U6 C  i* g3 S/ q+ e% e5 t! i请指教,越具体越好,如果用代码,请举例具体格式
. M. s% }: E6 }+ f' H! ~* j我是初学,简化的答案我看不懂! R; e/ ]& W+ R
谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。
0 H/ L  |. z7 Q+ d7 L7 U第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑
! T5 t. I8 O$ R: w3 J) V% `# Z/ i/ o" V5 g5 Q/ J
先谢谢,辛苦啦
: ]1 e/ S- ?1 c2 R/ X其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会
4 ^% i1 i4 z) P- F& s* y2 I你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算  F2 p0 J: w5 T0 V* e. m
8 |. `+ j1 N* U9 k6 Z$ r
第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。
( e3 i4 L. h  |9 {D:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,& @  f! r+ g  e# k
+ d" @8 b: E3 G3 N
fsnode* item = parnode(1);4 M3 d9 J# D0 w5 \1 y- q
fsnode* current = ownerobject(c);
4 M8 j  S/ U4 i: E8 M//PROSESTART
4 \3 b, ^. F5 V& ~//Change the 3D shape of+ F* ]2 w- v8 L$ q$ P  M
//PROSEEND
* E& t" s3 B( Q; f( m3 c! Ofsnode* theobject =
5 j7 m5 V  J9 R" C; P4 S( K//PARAMSTART/ z; x3 ~6 ^: [) S
item
+ G. V* d( e* t% P  n  J//PARAMEND6 t  h3 X) V& ?# r
;
8 M+ p8 l, q, z' {//PROSESTART! Z% a. M  W9 Y  y4 W! v+ M
//object to shape index number% y  b' f2 a, D  k; Y" \+ y$ A5 N8 \
//PROSEEND
* p$ c6 \6 j# @9 T5 a" o" Y$ O/ Q( t$ M' y
int theindex =2 ]7 [; E' O3 ?$ L
//PARAMSTART
* n* V- b2 y0 R4 m7 B3 K( P2 Q 1
: I4 ^7 @3 @3 ^" x# {3 E& T+ |//PARAMEND* I! J5 @0 G3 y% N
;
2 y% E( D& r- l) V( `//PROSESTART
2 ~- {! A) |! ~6 E& X8 \% z//.
: N$ l- Q( U6 i" i  t, D/ g7 o//PROSEEND' y' m& p/ f6 F, Q/ O( d

% Q+ J  T, `2 c( \# `! J: c1 H: {setobjectshapeindex(theobject,theindex);6 A7 l6 U& Y0 w: o# C
- L; a% B# L( X+ Y: z
怎么用?
5 B+ X4 H" q4 g4 M, l! S如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?
2 @  A# V5 D. V$ s- J! I请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。; t2 g$ S# g, D7 B6 z
第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。( u6 d% X$ T% ^1 c( a: _/ I
第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去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, 2024-6-2 19:23 , Processed in 0.084440 second(s), 14 queries .

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

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