全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整. _0 s( ^/ v3 a4 Q
在什么地方设置,好心人发个图片说明一下: i7 I) N) _* }; i! w3 T

. l9 J( F) V" ^; W
) H( @) m9 {" c8 ^# i3 d; ~/ w% k另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置
4 q, R1 X) w% n请指教,越具体越好,如果用代码,请举例具体格式
; L: S, }/ |  A# \, G) N0 ]我是初学,简化的答案我看不懂; m0 i8 _' z) ~0 P3 n. s/ @! P
谢谢啦
9#
Rosalyn 发表于 2011-3-16 21:28:57 | 只看该作者
楼主应该是用3.0做的,setobjectshapeindex的第二个参数,应该是在工具箱里的导入媒体文件里查找你导入的图片序列号,也可以用getshapeindex("D:\Program Files\Flexsim3ChDemo\fs3d\OperatorFRAME5.3DS")这是一个绝对路径的引用,如果模型和图片在同一文件夹下可以直接写getshapeindex("OperatorFRAME5.3DS")
8#
wang-csn 发表于 2011-3-12 18:20:02 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
7#
wang-csn 发表于 2011-3-12 18:15:29 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
6#
 楼主| mymailmy001 发表于 2011-1-5 00:40:35 | 只看该作者
我是初学的,能得到帮助非常感激!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
# D* [4 d6 i4 x; e" h第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。; J. S8 O" N/ C" b  ]% Y5 H
第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去help文档里面了解相应的触发器是什么时候才会触发,然后决定在哪里写代码。setobjectshapeindex可以实现你要的功能。具体代码怎么写请参考help》command的相应指令介绍。一般代码都不需编译的,应用ok就行了。
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,
' G  V2 g" t( c! b; Z7 N1 f0 D! y0 _
fsnode* item = parnode(1);
9 r$ ?6 Z$ \) n+ F6 cfsnode* current = ownerobject(c);2 ^) V. |5 s( d! X+ e0 Z( q
//PROSESTART+ A% z) P$ t% A. a6 r/ U) O
//Change the 3D shape of
# [! y, M2 D% I( u//PROSEEND6 |* G$ E$ D7 |% q# @* O6 t
fsnode* theobject =
" e; o; J( V* F  T//PARAMSTART
# V, |4 {0 {8 H9 E9 N+ n; k0 l. o( H item
8 W6 ~0 Y8 [8 g% R/ R5 g- w//PARAMEND( ^' i# t2 Y0 l% [5 B
;  E+ v  q3 f& e9 c5 s. W
//PROSESTART
. [$ e+ g: S7 j7 [4 P% x8 G//object to shape index number
5 E% ?& `; l5 X. h* ?# V' S7 m//PROSEEND
  a5 l. u4 [! m/ @. H
0 q9 V& p- Q: ?0 L5 Uint theindex =
3 W6 z: L/ i; ~9 S4 T& ~0 S//PARAMSTART7 W7 B8 i* g5 S) H) L- H# L
1
" a* K) m1 B/ \' \//PARAMEND6 _4 y, \4 p$ ^
;
& f  y4 s0 {# ^6 U, W7 \//PROSESTART
" }2 M6 c' b9 M1 C//.
% K, |" x* G4 g3 X% i4 o1 u//PROSEEND
$ [" S( [  p1 B! n8 ^+ K1 X, P" f
setobjectshapeindex(theobject,theindex);
( K* k! [2 a  R  \3 f2 n: O) C+ A3 R- M+ p6 ?6 x, a* j
怎么用?
* ~* a  e+ m' a& @3 c& A如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?
6 T* x/ _4 j6 s请指教!
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑 9 t  X7 N) F1 Y; C$ ?" P! Y7 a# J

8 h: W7 u3 Q. u3 @3 S# l先谢谢,辛苦啦7 f6 d4 m2 y3 i
其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会6 p3 P0 `' t  B9 k
你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算
9 g! C' @( R  G% \! x2 u! A- U2 U& ?; ^$ N- J
第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。) K6 z) o$ |; |$ |+ x
D:\1.jpg
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。. g; x; L: w, m9 C
第二个问题,我不明白你的意思。请描述清楚。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2025-8-31 19:24 , Processed in 0.077328 second(s), 14 queries .

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

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