找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3391|回复: 4

[求助] proe工程图bom表格设置问题请教

[复制链接]

14

主题

44

回帖

0

威望

助工

积分
69
发表于 2023-6-21 21:35 | 显示全部楼层 |阅读模式
本帖最后由 逐梦2020 于 2023-6-22 11:34 编辑

如题,proe工程图BOM中能不能设置类似SW中的显示方式。包含组件及零件,并且将零件及其属于第几级子组件中均显示出来?

目前我知道可以通过设置重复区域把所有的组件及零件显示出来,但是从属关系没法显示,请各位指教。

上午在论坛里找了一个帖子,添加关系式结果是这样的,怎么只有偶数呢,另外还有些零件不显示序号,求教。
Snipaste_2023-06-21_21-27-21.png
Snipaste_2023-06-22_11-32-27.png

0

主题

97

回帖

1

威望

助工

积分
148
发表于 2023-6-24 16:33 | 显示全部楼层
if rpt_level==1
   save_qty1=rpt_qty
endif
if rpt_level==2
   save_qty2=rpt_qty
endif
if rpt_level==3
   save_qty3=rpt_qty
endif
if rpt_level==4
   save_qty4=rpt_qty
endif
if rpt_level==5
   save_qty5=rpt_qty
endif
if rpt_level==6
   save_qty6=rpt_qty
endif
if rpt_level==7
   save_qty7=rpt_qty
endif
if rpt_level==8
   save_qty8=rpt_qty
endif


if current_level==rpt_level
    if rpt_level==2
      save_qty2=save_qty1*rpt_qty
   endif
   if rpt_level==3
      save_qty3=save_qty2*rpt_qty
   endif
    if rpt_level==4
      save_qty4=save_qty3*rpt_qty
   endif
   if rpt_level==5
      save_qty5=save_qty4*rpt_qty
   endif   
    if rpt_level==6
      save_qty6=save_qty5*rpt_qty
   endif
   if rpt_level==7
      save_qty7=save_qty6*rpt_qty
   endif
   if rpt_level==8
      save_qty8=save_qty7*rpt_qty
   endif
endif


if rpt_level==1
   myqty=save_qty1
endif
if rpt_level==2
   myqty=save_qty2
endif
if rpt_level==3
   myqty=save_qty3
endif
if rpt_level==4
   myqty=save_qty4
endif
if rpt_level==5
   myqty=save_qty5
endif
if rpt_level==6
   myqty=save_qty6
endif
if rpt_level==7
   myqty=save_qty7
endif
if rpt_level==8
   myqty=save_qty8
endif

if save_idx==pass_num && rpt_index==1
   save_idx=0
endif

if rpt_index>save_idx
   save_idx=rpt_index
   pass_num=0
else
   pass_num=save_idx
endif

if pass_num==0
/*totalmass=rpt_qty*asm_mbr_pro_mp_mass
if rpt_index==1
   current_level=rpt_level
   save_2sn=0
   save_3sn=0
   save_4sn=0
   save_5sn=0
   save_6sn=0
   save_7sn=0
   /*加入点
endif
if current_level==rpt_level
    if rpt_level==2
      save_2sn=save_2sn+1
   endif
   if rpt_level==3
      save_3sn=save_3sn+1
   endif
   if rpt_level==4
      save_4sn=save_4sn+1
   endif
   if rpt_level==5
      save_5sn=save_5sn+1
   endif
    if rpt_level==6
      save_6sn=save_6sn+1
   endif
     if rpt_level==7
      save_7sn=save_7sn+1
   endif
   /*加入点
else      
   if rpt_level==2
      save_2sn=save_2sn+1
      /*save_4sn=save_2sn
   endif
   if rpt_level==3
      save_3sn=save_3sn+1
      if current_level<rpt_level
         save_3sn=1
      endif
      /*save_4sn=save_3sn   
   endif
   if rpt_level==4
      save_4sn=save_4sn+1
      if current_level<rpt_level
         save_4sn=1
      endif
   endif
   if rpt_level==5
      save_5sn=save_5sn+1
      if current_level<rpt_level
         save_5sn=1
      endif
   endif
   if rpt_level==6
      save_6sn=save_6sn+1
      if current_level<rpt_level
         save_6sn=1
      endif
   endif
   if rpt_level==7
      save_7sn=save_7sn+1
      if current_level<rpt_level
         save_7sn=1
      endif
   endif
   /*加入点
   current_level=rpt_level
endif
if rpt_level==2
   myidx=itos(save_2sn)
endif
if rpt_level==3
   myidx=itos(save_2sn)+"."+itos(save_3sn)
endif
if rpt_level==4
   myidx=itos(save_2sn)+"."+itos(save_3sn)+"."+itos(save_4sn)
endif
if rpt_level==5
   myidx=itos(save_2sn)+"."+itos(save_3sn)+"."+itos(save_4sn)+"."+itos(save_5sn)
endif
if rpt_level==6
   myidx=itos(save_2sn)+"."+itos(save_3sn)+"."+itos(save_4sn)+"."+itos(save_5sn)+"."+itos(save_6sn)
endif
if rpt_level==7
   myidx=itos(save_2sn)+"."+itos(save_3sn)+"."+itos(save_4sn)+"."+itos(save_5sn)+"."+itos(save_6sn)+"."+itos(save_7sn)  
endif
/*加入点
endif
回复

使用道具 举报

14

主题

44

回帖

0

威望

助工

积分
69
 楼主| 发表于 2023-6-24 19:37 | 显示全部楼层
本帖最后由 逐梦2020 于 2023-6-24 19:39 编辑
邵奇四射 发表于 2023-6-24 16:33
if rpt_level==1
   save_qty1=rpt_qty
endif


将你的关系式复制之后,可以显示1.1,1.2,1.3这样的了,但是组件的序号还是没有显示。
Snipaste_2023-06-24_19-34-37.png
InkedSnipaste_2023-06-24_19-34-37.jpg
回复

使用道具 举报

0

主题

47

回帖

1

威望

助工

积分
67
发表于 2024-6-2 15:15 | 显示全部楼层
/******************************************************************************
/* 表属性 无多重/级,递归
/* 重复区域要包含参数rpt.index, rpt.level
/* 过滤器 &rpt.level != 1
/* 表>重复区域>关系 添加如下关系
/* 序号引用参数 rpt.rel.myidx

if rpt_index <= 1 /*仅初始化一次
  idx_1 = 0
  idx_2 = 0
  idx_3 = 0
  idx_4 = 0
  idx_5 = 0
  idx_6 = 0
  last_level = 0
endif

if rpt_level > last_level
  last_level = rpt_level

  if rpt_level == 1
    idx_1 = 1
  endif

  if rpt_level == 2
    idx_2 = 1
  endif

  if rpt_level == 3
    idx_3 = 1
  endif

  if rpt_level == 4
    idx_4 = 1
  endif

  if rpt_level == 5
    idx_5 = 1
  endif

  if rpt_level == 6
    idx_6 = 1
  endif

else /* (rpt_level <= last_level)
  if rpt_level < last_level
    last_level = rpt_level
  endif

  if rpt_level == 1
    idx_1 = idx_1 + 1
  endif

  if rpt_level == 2
    idx_2 = idx_2 + 1
  endif

  if rpt_level == 3
    idx_3 = idx_3 + 1
  endif

  if rpt_level == 4
    idx_4 = idx_4 + 1
  endif

  if rpt_level == 5
    idx_5 = idx_5 + 1
  endif

  if rpt_level == 6
    idx_6 = idx_6 + 1
  endif

endif

/* 拼接字符串
myidx = ""

if rpt_level >= 1
  /* myidx = myidx + itos(idx_1) /* 顶层装配是level 1
endif

if rpt_level >= 2
  myidx = myidx + itos(idx_2)
endif

if rpt_level >= 3
  myidx = myidx + "." + itos(idx_3)
endif

if rpt_level >= 4
  myidx = myidx + "." + itos(idx_4)
endif

if rpt_level >= 5
  myidx = myidx + "." + itos(idx_5)
endif

if rpt_level >= 6
  myidx = myidx + "." + itos(idx_6)
endif
/******************************************************************************
回复

使用道具 举报

9

主题

204

回帖

3

威望

工程师

积分
247
发表于 2024-8-8 15:48 | 显示全部楼层
遇到同样问题了,部分不显示
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站为非营利性站点,部分资源为网友搜集或发布,仅供学习和研究使用,如用于商业用途,请购买正版。站内所发布的资源,如有侵犯你的权益,请发邮件联系我们,本站将立即改正或删除。

手机版|小黑屋|野火论坛(©2007~2024) ( 苏ICP备11036728号-2 )苏公网安备 32039102000103号|站长QQ28016688

GMT+8, 2024-11-22 20:59 , Processed in 0.119595 second(s), 23 queries .

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