全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整
- a! r0 f" H' H在什么地方设置,好心人发个图片说明一下) t, v  c8 e" \& \* m1 q( S: ^
2 u& |6 h# K  x7 V" O3 Y
1 B+ T) X, I8 q/ g+ Y/ T8 g3 }
另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置
# `1 P& R0 `  j9 X请指教,越具体越好,如果用代码,请举例具体格式% F: t7 g; P8 b# g; ?0 K
我是初学,简化的答案我看不懂9 b9 v$ E4 g3 _& u; L+ c
谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。7 s2 e+ @6 g( n7 B1 v% Q* L; ~
第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑 & d. W# C8 a4 E2 `
. l% u1 D* r% d7 F* x3 v) x
先谢谢,辛苦啦
5 _3 [# |# t+ N* [! V1 N$ x' E其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会& A! T( ?. @& }
你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算1 R5 N) ~# X: x

9 r( Z0 f! q. _: v1 X5 y7 G第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。
! }" W% D/ `) t/ mD:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,
: h1 }4 _( q  M; P3 I% G8 Q
2 k/ U! j. E" U. y( ^1 ~) e! afsnode* item = parnode(1);$ X, `8 r3 F! b% t3 F
fsnode* current = ownerobject(c);
1 s6 O5 {& c5 n3 Q) I//PROSESTART
8 l  ?0 ^: }: ~+ q//Change the 3D shape of
9 a$ j6 o2 N1 V# q//PROSEEND
6 O/ l* o1 p+ v2 r4 A  O" Ffsnode* theobject =8 g  W% m- y% D% r) }4 [
//PARAMSTART
/ {( F6 [* I) G0 l. X) z- L item # g& s8 t/ T, [
//PARAMEND
6 Q- b# ~& A- K( D3 ~, D;4 }( O+ P* X2 N# z$ `  z; h
//PROSESTART6 a+ T: x+ d' `' z
//object to shape index number: z' ~2 R6 o5 N& p4 n2 N9 ]
//PROSEEND0 _$ N# s9 x, O) [' A3 w1 r
+ _$ r: P  Z6 r7 I
int theindex =
  F' E9 P- ]8 t$ {; U1 ^( ]' m//PARAMSTART0 B( t1 |% P: a" t( y
1
5 j- |, F2 `3 ^) L4 r" r/ R9 L) \//PARAMEND5 P2 v7 g; X, K. I5 }6 J
;" ^( E8 y" k* {# A* q3 w
//PROSESTART
6 ]# b  p7 _4 Z; J: X//." P7 E  X" g) ^
//PROSEEND7 F+ p  V$ J6 N7 [4 X1 W/ u
3 y; R# f5 q) Z
setobjectshapeindex(theobject,theindex);
) v2 ]: B  I$ e# ~! i
* J' H! P6 g( ?4 A3 X怎么用?
) \& H) @( W$ c' I如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?3 x  Q/ X. S% d0 i- v  M( _% B
请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
/ z% C5 `4 ]% }) z$ }$ I' ?第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。
7 \4 e* w: K1 v% Y# ]2 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, 2025-6-29 17:56 , Processed in 0.084925 second(s), 13 queries .

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

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