全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整) \+ B1 _. |& w" I4 V% l: j) U6 A9 O
在什么地方设置,好心人发个图片说明一下
2 m8 e4 ]$ [$ o' Z. x1 z& _/ S& ]' |7 E% `. y; b5 h* L

+ Q/ N9 R) N" `: O( z( F另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置
% k! E. u# ]6 V3 \9 l0 F! y$ d请指教,越具体越好,如果用代码,请举例具体格式+ _, T9 `' G6 k
我是初学,简化的答案我看不懂
0 D2 X% S- `5 S6 [- w谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。- u2 Z, \" d" U' j" b$ W) G
第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑   @! Q* c5 k5 i* x' u
9 a2 K# P- L, \
先谢谢,辛苦啦
' r. F" [- b% l& Q% [9 f% u其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会5 w' N8 h& y/ L; ~, `5 i
你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算
( ^3 c' ^& p$ K4 [/ V
9 u' w6 @( m# y4 b$ b) i/ {第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。. x8 A9 o$ B. Q9 C: P
D:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,& V4 Y3 x$ y1 ?% ^% Z( M

9 a" r+ f. S6 T3 {  w: e/ `fsnode* item = parnode(1);
+ L, j, b  `" G% Ffsnode* current = ownerobject(c);
2 ~2 [- p- p0 A" C4 X4 ]2 r# J) p* W//PROSESTART, o) Q9 u+ V/ p8 v' v( ]) W
//Change the 3D shape of5 t, x* M& X' g% |
//PROSEEND0 ~. J, u9 J1 ]
fsnode* theobject =
4 J1 r" o( U# R+ C/ ~6 L//PARAMSTART/ o3 S# n6 \/ u5 d9 E& h
item
4 |8 d3 K8 M4 g% j, B. _2 A7 L+ S//PARAMEND- ]/ f+ m8 b) q# s% d& f0 z
;
) ?' l. K! Z6 z+ E  V  N//PROSESTART
1 v! {( J, u5 _; s/ C, d//object to shape index number$ D6 `+ G  v/ d$ A( E1 w. e1 [
//PROSEEND' I6 s: m& C2 N& q3 S) p  R" g
, R" M' e) e" l8 d  N6 t4 p
int theindex =
$ i) z* [$ ]; F3 _' |& C//PARAMSTART% b* z/ I7 z- A& w  {
1 ! v3 r7 R; ]9 n9 s! k7 u
//PARAMEND3 |- Z/ E* ~; T3 ^! y! a' K
;- u; i9 m& f" G
//PROSESTART' }* g* H) V: W1 [
//.
& m! m5 c- p( Z% g- ^//PROSEEND
5 l# u* u7 S6 U7 e' G9 I# N( }& w6 o
setobjectshapeindex(theobject,theindex);* n* M: A. }; f5 i4 b( a: k4 K
$ f$ j  Q. d( k9 u9 L  D
怎么用?
: F8 b; ]' [! Y( h. _' w如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?
( S! ^$ q; K2 d- c# n; M: O5 N" Y& z请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。( E- b" p$ Y% N9 H/ n
第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。; v) [" w! z, f5 G
第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去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 16:18 , Processed in 0.072730 second(s), 13 queries .

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

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