全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整& [% n8 n2 L$ N  j' d
在什么地方设置,好心人发个图片说明一下
* }" E3 w6 z$ y+ y. V
8 r* `( z6 E+ M. n& _0 Y. Y' E1 {
另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置
3 L* V# A4 `* j3 m请指教,越具体越好,如果用代码,请举例具体格式; K8 E9 X& M$ f# i' q) M: i) J
我是初学,简化的答案我看不懂
+ D1 r5 w  l/ t, R谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。0 v3 D* k+ L- W
第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑 9 ~: k! b; v0 C" D- m( C  X

8 t9 w4 y2 f3 d  i! v8 Z先谢谢,辛苦啦
! c2 p! ~" w7 h  l$ C( Z其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会
+ h: o& X; v: M  s8 q! v( Q你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算6 h: Z( r( P  R0 o
/ V, c' k* E& \; ]) E2 w1 R, t
第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。
1 }+ g* o" D$ `3 M/ a' iD:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,
' _* ~0 x1 ^1 o0 N* b& b1 A: _) Z6 i4 D! A
fsnode* item = parnode(1);6 f! p6 }: `6 @9 p4 m1 M
fsnode* current = ownerobject(c);) K6 S! z, i1 J  }$ ~
//PROSESTART
# K0 B) g  z/ w* J! v4 U6 y# a& Q//Change the 3D shape of
/ t; i, o/ W+ i, T4 C6 ^//PROSEEND
6 H- `% m5 A3 C2 V2 pfsnode* theobject =
2 c2 A- d! U' L5 ?+ \* G' q" S//PARAMSTART
$ R7 a% }) ^! j& P! K; ~+ h8 _3 K item + S; O5 j( R9 N
//PARAMEND' l' W# n7 f$ u& S8 l5 ]+ u. O5 q$ B
;
. B% R" `/ T" n$ z) C//PROSESTART
. b8 m* Y) I: H9 K. {//object to shape index number
9 ?+ l- v$ F) P//PROSEEND* n, y* l6 y3 M  g# V0 Z+ `& Q

  K2 D; z* `( S, d  U) L5 yint theindex =- Y# Z4 ^8 T4 D0 H) C4 u( o
//PARAMSTART
, h9 a) k) l" C. ~ 1
6 I5 z) z. a0 a; O//PARAMEND4 b0 {: j" x: c/ E' y6 I/ @) {
;
' ]! R. e4 M8 x6 m9 X8 a$ W- M6 ^//PROSESTART
' V0 x7 H0 T7 a7 L+ G4 L" q//.
; }) c! i) _2 p0 a; u//PROSEEND
' ~# S8 `9 ~) n/ P$ M" z* G+ v, v3 M% F. }4 p7 s" k
setobjectshapeindex(theobject,theindex);
- t4 [7 ]+ r) R- W( v
! s- N- Z5 r" Z& [$ }! G怎么用?
) U: J7 u& L- E9 I; y3 G' a% |如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?; P$ V3 N$ H. z, ~5 e0 H
请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
8 }9 K- w# ~; u: y+ T3 Z9 j第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。0 `! ^& V( t  v4 m9 d, u* O
第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去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 02:28 , Processed in 0.085202 second(s), 14 queries .

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

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