全球FlexSim系统仿真中文论坛
标题:
用combiner做装配生产线,零件装配位置不正确,如何调整
[打印本页]
作者:
mymailmy001
时间:
2011-1-4 01:06
标题:
用combiner做装配生产线,零件装配位置不正确,如何调整
用combiner做装配生产线,零件装配位置不正确,如何调整
1 c6 m1 _9 _7 l- [6 M
在什么地方设置,好心人发个图片说明一下
; z' \8 M- G& B; g' \ m) K6 x1 V
, m- d P. B; q; \. y$ ^
! y' F( ]# w. H! o p
另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置
D8 ^( }" t. B5 q1 v. f# I
请指教,越具体越好,如果用代码,请举例具体格式
2 ` V2 f2 e x( @7 O# l
我是初学,简化的答案我看不懂
4 |+ l+ K+ E. b1 s. p _/ o, D
谢谢啦
作者:
xiexiaoch134
时间:
2011-1-4 11:39
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。
1 k+ r, g, n0 @2 ^. R! g* J
第二个问题,我不明白你的意思。请描述清楚。
作者:
mymailmy001
时间:
2011-1-4 13:47
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑
/ b& E* J2 v- y4 e; x
* v. e/ @- @$ ?" h. S
先谢谢,辛苦啦
2 k/ L: r" R! U2 D
其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会
" g1 q, ?( `+ ~1 r2 y4 |& J
你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算
) \8 j, |8 f0 }$ s, t! {8 X" J1 J
6 X5 e4 E2 X! Q6 W& k6 a# K
第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。
9 v1 u: S; O$ R( |0 W
D:\1.jpg
作者:
mymailmy001
时间:
2011-1-4 13:58
我不会发图片,图片发不上去,就是下面这段代码,
) {% N: I+ t' n) N3 u! T( o8 H
' T& M) i# p( A. {' Z8 Q
fsnode* item = parnode(1);
$ A4 G4 `5 d |7 m! I
fsnode* current = ownerobject(c);
: M' N4 t; E* c
//PROSESTART
' p/ _' F3 G; _. h+ U) x
//Change the 3D shape of
- ^4 S/ h8 N: E
//PROSEEND
0 E+ k" o) g7 c; o3 X8 m+ Z
fsnode* theobject =
; ^8 v* y$ i' ]% D
//PARAMSTART
* F3 m+ F. c7 K% R8 v* c- U
item
2 W# Y! ^; d$ i
//PARAMEND
" w" @1 O- m7 [2 I) d, N! O
;
/ Y0 I5 J D$ x
//PROSESTART
0 O4 C6 }" U( D" y1 R
//object to shape index number
. i3 c# m7 I* A( g5 a' A
//PROSEEND
^+ N# f( K. y$ a1 y
' M5 W. {$ L2 [. ~5 \, t
int theindex =
6 B: y8 t+ r7 N! ]3 | \4 M. [$ A4 H
//PARAMSTART
( e2 Y) O' Q g' o
1
6 l( u/ P% S* r' r) W
//PARAMEND
% y7 ]- H( q' S. D- x" v
;
6 u1 V4 E( {' Q7 B9 W) r& u
//PROSESTART
/ @1 k2 f) w. n7 X0 a m2 d
//.
0 [2 e; R# _; I' u: t/ B; C
//PROSEEND
# e' f6 J0 y0 F( U& c$ h, K
8 U) d' ?$ x7 Z, N; W: s. l5 o, _, q
setobjectshapeindex(theobject,theindex);
6 _' {! V/ c3 l o4 {! V
d4 S. B2 w2 X4 e# {
怎么用?
/ n* p% O. ?8 H5 ]1 Z
如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?
. ^, `2 I, @# s$ Q" T/ d" I6 n
请指教!
作者:
xiexiaoch134
时间:
2011-1-4 20:48
指教不敢当。
4 u) L a# Y& L" T6 x) b
第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。
7 v+ s, Q; ^( g: m! T0 J
第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去help文档里面了解相应的触发器是什么时候才会触发,然后决定在哪里写代码。setobjectshapeindex可以实现你要的功能。具体代码怎么写请参考help》command的相应指令介绍。一般代码都不需编译的,应用ok就行了。
作者:
mymailmy001
时间:
2011-1-5 00:40
我是初学的,能得到帮助非常感激!
作者:
wang-csn
时间:
2011-3-12 18:15
提示:
作者被禁止或删除 内容自动屏蔽
作者:
wang-csn
时间:
2011-3-12 18:20
提示:
作者被禁止或删除 内容自动屏蔽
作者:
Rosalyn
时间:
2011-3-16 21:28
楼主应该是用3.0做的,setobjectshapeindex的第二个参数,应该是在工具箱里的导入媒体文件里查找你导入的图片序列号,也可以用getshapeindex("D:\Program Files\Flexsim3ChDemo\fs3d\OperatorFRAME5.3DS")这是一个绝对路径的引用,如果模型和图片在同一文件夹下可以直接写getshapeindex("OperatorFRAME5.3DS")
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3