全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
mymailmy001 发表于 2011-1-4 01:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用combiner做装配生产线,零件装配位置不正确,如何调整) y; U; t- x. e& [
在什么地方设置,好心人发个图片说明一下; }( y4 z- X/ j) a# Y% T" H6 R" _# S
( f4 O% e; O+ D, p8 X# V9 w- k  h
1 B6 T* T8 R( B; ^
另:如果在离开COMBINER的时候,使实体显示导入的模型,在哪里设置: G; ^7 m$ J' ]3 H8 i, D' r
请指教,越具体越好,如果用代码,请举例具体格式
* G  S* u, E( ^" \" Y# G我是初学,简化的答案我看不懂, o# G1 I0 h7 x. X. _
谢谢啦
2#
xiexiaoch134 发表于 2011-1-4 11:39:06 | 只看该作者
第一个问题可以参照本论坛的案例下载里面的“DVD装配”模型,调整零时实体位置可以在onentry触发器里面setloc。
  H% z- G4 p' U. f: \4 C第二个问题,我不明白你的意思。请描述清楚。
3#
 楼主| mymailmy001 发表于 2011-1-4 13:47:09 | 只看该作者
本帖最后由 mymailmy001 于 2011-1-4 13:51 编辑 1 w$ T  }" F4 n% E

6 _7 y  t; O$ {+ @  k先谢谢,辛苦啦
, {# O2 P8 A, K- D2 F! |9 P其实我只想做出装配的效果,上边问的是我听说的两种解决办法,但我都不会
# ~3 ]3 {) H! I' i5 Z( Y) Z$ B你说的在onentry触发器里面setloc我用过了,但是用于复杂部件定位很难,且多数位置需要坐标换算8 d1 m$ A2 h, V& a) Y

3 x0 n: Q$ g! ]+ ~第二个问题是这样的,如果把上一步骤装配好的东西做成一个3DS文件并导入Flexsim的临时实体库中,让临时实体离开COMBINER时显示这个装配好的模型,每一步都这样重复往,就实现每步装配后的效果了(QQ群听说的,还没弄明白),好像用触发器代码有个setobjectshapeindex(如下图),好像是往里输入代码,我不会。这种方法对么,能做到么?如果能行,请告诉我这个代码的格式好么。尝试了好多次,编译都不对。( U: }  u9 @/ U: P. w" p
D:\1.jpg
4#
 楼主| mymailmy001 发表于 2011-1-4 13:58:55 | 只看该作者
我不会发图片,图片发不上去,就是下面这段代码,
, u- l1 @+ [: D' u. `
) x$ m9 ]) W& L1 e' @fsnode* item = parnode(1);5 s8 E; y3 z# P% X; [. @! U
fsnode* current = ownerobject(c);
# I3 q0 [* N% t% Z9 r9 _/ Y# w3 T//PROSESTART8 Q# Y( G5 @% f8 Y' m
//Change the 3D shape of
+ t4 D0 k. k$ s) F2 i% T4 G5 r//PROSEEND: d, v0 d/ }) @5 f! x& P
fsnode* theobject =  @. I1 N6 V" i3 y( P+ Q* N
//PARAMSTART8 @9 M. s( l$ O; B' ]
item ( q8 R: d3 b1 _" t: j  c4 M# r
//PARAMEND" ^1 `9 R' }8 ~4 w  `# [/ y
;
. ^0 d) V8 Y7 }. P2 N+ n//PROSESTART& o. h% v1 l- J5 S4 ]( F
//object to shape index number* }. w" b, M8 F& J3 H# l7 t
//PROSEEND6 J! l. s! |5 ~3 _: u( |, A
* H/ X) o" J& l3 D# V, \
int theindex =
3 Y& t3 E) e, {2 L$ O//PARAMSTART; X4 j! X$ }0 M6 ~. k% n0 e
1
% S/ t6 t4 v( n//PARAMEND: Q+ h1 S/ D6 W% e, W# |
;+ ^3 Y. D, z# p* |& f! e: b
//PROSESTART8 a7 {. G' |8 l/ ^+ W! L
//.4 U, t1 ]( S6 u! G1 M- d% n) ]+ H/ q
//PROSEEND# w* Z: q9 g' K3 @
  ?: z, Q% C# [. a
setobjectshapeindex(theobject,theindex);" q& U+ Z9 P7 P0 H7 c9 U# w: X$ n
. K2 U) g4 m* p
怎么用?% u! O) Q5 A3 p3 H" z( M! O
如果这种方法可行,那么是在onentry里用,还是在onsetupfinish里用呢?
, i: v# U# j1 t; Y; D; c请指教!
5#
xiexiaoch134 发表于 2011-1-4 20:48:56 | 只看该作者
指教不敢当。
! B% Z: u/ u' Z/ |- y- _% j第一个问题我也没有更好的办法,不过你可以试着了解坐标系之间的关系,你的组装是在组合器的坐标系下完成,所以这个跟系统坐标应该没有关系。你可以暂停运行的情况下,调整组件的坐标,让它达到理想的位置,然后记下坐标,再在相应的程序里面写下这些相对于组合器坐标的相对坐标。0 `. w; n7 j( {- j* f  t, v
第二个问题,你给出的这些代码,前面带“//”一行语句只是当作说明,不起作用。至于在哪个触发器里面写代码,你应该去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-10-19 05:28 , Processed in 0.074845 second(s), 13 queries .

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

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