找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 541|回复: 14

[求助] BOM层级问题

[复制链接]

12

主题

433

回帖

0

威望

高工

积分
531
发表于 2026-1-15 16:53 | 显示全部楼层 |阅读模式
悬赏100金钱未解决
麻烦各位大神看看,是哪一个环节出现问题,附件发不上去,重复区域里的关系是如下:

总重=rpt_qty*asm_mbr_pro_mp_mass
总长=rpt_qty*asm_mbr_CUT_LENGTH
总面积=rpt_qty_asm.mbr_AREA
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
if rpt_level==1
   myidx="0"
endif

截图_17684664706102.png
截图_17684667363849.png

62

主题

1041

回帖

6

威望

讲师

积分
1256
发表于 2026-1-15 19:39 | 显示全部楼层
高手,我是没看懂啊
回复

使用道具 举报

3

主题

343

回帖

1

威望

工程师

积分
489
发表于 2026-1-15 21:52 | 显示全部楼层
我也是类似问题,感觉是别的计算对层级计算有干扰
回复

使用道具 举报

5

主题

206

回帖

4

威望

工程师

积分
239
发表于 2026-1-16 08:10 | 显示全部楼层
膜拜,这么复杂的锂电箱,670kg。
回复

使用道具 举报

70

主题

358

回帖

1

威望

高工

积分
521
发表于 2026-1-16 08:25 | 显示全部楼层
好高级。
回复

使用道具 举报

1

主题

554

回帖

0

威望

高工

积分
704
发表于 2026-1-16 08:36 | 显示全部楼层
不会bom
回复

使用道具 举报

14

主题

790

回帖

11

威望

高工

积分
921
发表于 2026-1-16 09:02 | 显示全部楼层
高级
回复

使用道具 举报

3

主题

124

回帖

1

威望

助工

积分
143
发表于 2026-1-16 09:09 | 显示全部楼层
AI生成的,你看看
屏幕截图 2026-01-16 090902.png




总重 = rpt_qty * asm_mbr_pro_mp_mass
总长 = rpt_qty * asm_mbr_CUT_LENGTH
总面积 = rpt_qty * asm_mbr_area /** 修改了参数名 */

if rpt_level == 1
   save_qty1 = rpt_qty
endif
... (中间重复的if块保持不变)
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块保持不变)
   if rpt_level == 8
      save_qty8 = save_qty7 * rpt_qty
   endif
endif

... (myqty的赋值块保持不变)

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 rpt_level == 1
      myidx = "0"
   endif
/** 补充缺少的 endif,与 if pass_num==0 配对 */
endif
回复

使用道具 举报

81

主题

798

回帖

59

威望

讲师

积分
1286

希望之星勋章

发表于 2026-1-16 09:15 | 显示全部楼层
牛逼,研究出来了分享一下
回复

使用道具 举报

12

主题

433

回帖

0

威望

高工

积分
531
 楼主| 发表于 2026-1-16 12:25 | 显示全部楼层
伍江涛 发表于 2026-1-16 09:09
AI生成的,你看看

这不对,增加了ENDIF,语句就错误了
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

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

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

GMT+8, 2026-3-11 04:41 , Processed in 0.186047 second(s), 27 queries .

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