全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整  V. H4 {+ D: q) m$ z
在什么地方设置,好心人发个图片说明一下: }# E( \1 W0 }: v. a

# l  E% D, D7 ?$ b4 v! S8 ]
# _0 o5 t5 k, T3 o# c$ A另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置
! D5 V4 X4 w2 J3 ]2 a2 z* G请指教,越具体越好,如果用代码,请举例具体格式* ]+ O, c) t$ R& Z% Q  i
我是初学,简化的答案我看不懂
0 t' |7 j' c% x- D% u3 w谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。4 S% N3 L8 ^' V) T+ x& P
第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑 4 F# R4 o7 i& \1 q
8 X/ t4 x5 @; v+ v' e0 Q' W
先谢谢,辛苦啦
9 p5 X" X0 g! ~9 r+ W% x# h, K+ R$ l其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会) _% O% I! h. O; ~, [
你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算- l6 B4 a" o4 A; q0 d* b3 f5 v# S1 I

! T6 J# a: ^) Y1 {( J/ s第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。
1 _2 z  f4 i! B  Y+ J! }) oD:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,
5 O7 |" k) P7 z& b3 s# \
7 w: B9 {; t; i- f5 j' C' ofsnode* item = parnode(1);
. e. _2 B: D8 |, Q' R* n* Cfsnode* current = ownerobject(c);2 `$ Q& I* W9 I* J- R, _4 p
//PROSESTART
- _+ u# C5 B7 R8 l  T5 D//Change the 3D shape of
" J( d/ }) a5 b8 O  D//PROSEEND2 O  v- K$ }% T% {
fsnode* theobject =: }, ^6 O& j9 a* a8 M1 u9 x
//PARAMSTART
. a- Z% i7 S+ o8 }/ J item
6 }& W) C. t  ]: e; M//PARAMEND
8 k# Z& [# P5 p1 N- h0 d;
7 z! m9 N8 g# V& j/ A//PROSESTART/ g7 u: K( M2 e# b
//object to shape index number  O! Z: e6 n1 S6 d# r& G) F
//PROSEEND
7 M: z$ k6 |' w. q5 D  {" F2 e  Z% B2 e( Z& V1 p
int theindex =5 ]% Q2 J6 q: z3 H( i  X
//PARAMSTART: E+ M/ W& K- A0 D
1
. z% R+ W% p' V# N2 ~; d//PARAMEND
- p% {" z& S2 K;, T% d3 j: {5 U! i; v/ l
//PROSESTART
6 T5 R1 D0 z  Z0 P9 `6 T//.
: P  ^5 v4 D4 l( C//PROSEEND
3 x0 X1 i3 [% V5 U' `( {+ J2 ^1 W! s0 x! _9 c' B  K
setobjectshapeindex(theobject,theindex);
5 @% V$ t1 S. t( Q8 N8 d! J. y; W
7 F7 h% W1 u, N/ Y4 y; I% r* `怎么用?
. v) R) ]4 T- z" P如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?% g! ], b9 u! |! m3 f% y# C$ H6 A
请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
1 D, u& ]6 K! N5 y) i4 M+ [第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。+ K! ~* N# t# \, T8 i$ x+ g3 P
第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去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 03:25 , Processed in 0.075360 second(s), 13 queries .

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

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