全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整; c8 S! f/ C+ I" D& Y
在什么地方设置,好心人发个图片说明一下
% Q% K; ]8 Y* D& F  w; h1 A% `: F' R! k+ }2 h; E
7 E3 f# v: v+ W) J8 l- u  H
另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置( y6 g0 u) Z( w
请指教,越具体越好,如果用代码,请举例具体格式: ]# A) P8 H2 G1 M* {
我是初学,简化的答案我看不懂! U$ l, o/ {# A/ z! m/ J! w
谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。
, n+ H9 v- I) }0 g- P1 D* N第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑 . `- b/ X; ~3 p1 I9 ?7 R
  K# @/ k  A- `) q) R' H
先谢谢,辛苦啦& X* U5 [/ {  }8 y$ y
其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会: S# g1 K# [) `3 t7 C$ j% g7 e
你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算+ }7 @2 L7 X& `
4 G6 \; H3 R) a2 i. z
第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。( r5 w0 h4 m/ g" Y
D:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,
8 x& }8 H+ ]5 Z( E# A( ?5 H  b/ [1 u; p  d; r; p
fsnode* item = parnode(1);7 y0 G4 w1 \% Y5 f
fsnode* current = ownerobject(c);
( Y& X) \0 r4 [4 L. C  U3 J, @//PROSESTART
- U, Z6 X) W8 ~: a//Change the 3D shape of
1 l) {+ F) L% t# Q% _; a//PROSEEND5 t9 Q7 J, c9 o2 a& z6 g$ ?2 X
fsnode* theobject =
& l+ p" f$ `$ d6 h//PARAMSTART
8 |* f5 p9 ]2 l, u+ ? item   b4 y# L7 P! W4 k2 S" A: d1 [
//PARAMEND5 G- p8 d2 v- o. x
;- i$ E" F: T; i/ B, Q( R- k) C. L
//PROSESTART* u/ [' N& v  w4 ]4 g' ?5 D
//object to shape index number
1 v6 w# u1 v1 C' o//PROSEEND
& r0 K) X; [& l/ F5 _
* t" n! |5 l/ y6 b" T5 |int theindex =
' P: k* W5 @8 T& V' T; n//PARAMSTART9 ^, s$ ~9 {0 y
1
# [5 b, z+ q, D) i* N) ?//PARAMEND, L- i( F; |3 o1 ]
;; Z  ]. C2 L# W9 z! W7 q; Q. E6 ^
//PROSESTART
: v& u  b' a  `0 t//.7 z& A( {8 W9 j6 P
//PROSEEND
0 y& g* y" w" Z: O' h. W( J
' R3 z+ u8 ]4 wsetobjectshapeindex(theobject,theindex);
: S! t4 v1 C( w
. v$ j1 S' E' @( R! ~4 Q' E+ W怎么用?. e: r$ z9 g2 c* E  G$ O. @
如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?
7 |& W$ G! ]' _. e2 b- X6 u3 h请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
; o1 y2 M- h" v5 t4 S2 _3 C! U第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。' K6 E1 G' \, }& s8 C& g
第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去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 07:49 , Processed in 0.075857 second(s), 13 queries .

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

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