QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 1351|回复: 3
收起左侧

[讨论] 为什么材料明细表的数量会出现零值?

[复制链接]
发表于 2015-8-31 09:59:10 | 显示全部楼层 |阅读模式 来自: 中国甘肃兰州

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
在材料明细表中,产生零值的原因是什么?, K6 F$ z( N+ `8 B

  P# ~9 E3 f: z: t1 h 1.jpg
' l2 u6 U# M, N" ^4 k9 ^( t1 C\
) P: ~0 ]5 \% Y2 \" g7 T4 g! z) s, m+ ?) N" q8 b  Z% \

0 \4 l3 W. `4 N& z. _- l8 E  A2 ^" K3 K% M, O/ b
- F. Q8 a7 [6 C. J: M- d( z$ T
 楼主| 发表于 2015-8-31 13:50:05 | 显示全部楼层 来自: 中国甘肃兰州
本帖最后由 ning84 于 2015-8-31 14:09 编辑 / F0 ^3 ^/ V2 |7 E

- X2 @4 }9 x7 M8 E7 V% D/ }$ C/ b与版本没有任何关系。Sw2013照样也出现同样问题。
5 j/ t1 @7 _2 }9 C% F8 h2 v出现这个问题的原因是运行了这段API程序
2 E: d- n- ^5 I& h6 O9 g
7 w. ?7 @; E) q7 ]
  1. + j& T1 k- e4 h8 f
  2. Private Sub proceBom()+ W" I/ {; _* ^. w
  3.    Dim SwApp As SldWorks.SldWorks, SwModel As ModelDoc2
    7 l, ~. C9 `6 R& W+ A$ ~( n7 |
  4.       Set SwApp = Application.SldWorks) F+ K7 d0 x/ V" H6 u2 g/ x
  5.       Set SwModel = SwApp.ActiveDoc* b. p! U0 @* w# |5 N5 F
  6.    Dim SwDraw As DrawingDoc, SwView As View, b" f( p1 C/ o6 m7 i
  7.       Set SwDraw = SwModel
    - |0 D, D7 r8 |
  8.       Set SwView = SwDraw.GetFirstView4 a1 ~) ?4 C9 g/ v" i9 G0 W- d& v! c3 ~) k
  9.       Set SwView = SwView.GetNextView! n+ T3 Y) u- M: X
  10.    Dim ConfName1 Z5 g0 z+ R" }4 o
  11.       ConfName = SwView.ReferencedConfiguration/ F: K& V2 Z/ {5 T. ]8 P
  12.       Set SwView = SwView.GetNextView/ W4 w" n: [6 }# l( n3 ?
  13.       SwView.ReferencedConfiguration = ConfName6 Y9 c" R# T6 c( O" U& R
  14.       Debug.Print SwView.Name. D0 S1 j% t: P0 B) u
  15.       3 |& M3 H0 |1 M" v1 L3 o
  16.    Dim SwSelMgr As SelectionMgr, Names8 r, ?5 L) Q" d+ w
  17.       Set SwSelMgr = SwModel.SelectionManager
    2 j7 c( L+ a$ X' w* j- P
  18.    Dim SwFeat As Feature, SwBomFeat As BomFeature, tmp
    " V0 ]  {6 z* L* ]4 B. t* L' O
  19.       tmp = SwModel.Extension.SelectByID2("VesselBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    4 X% p8 B. E% K8 I" ~  `
  20.       'tmp = SwModel.Extension.SelectByID2("SaddleFBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    , g$ N4 Q4 r) v% T
  21.       'tmp = SwModel.Extension.SelectByID2("SaddleSBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    0 j) H  e! ?9 w, v, w- g5 L" h1 x+ `3 _* a
  22.       Set SwBomFeat = SwSelMgr.GetSelectedObject5(1)' H9 \3 e) j& y' H- [3 K" L
  23.       Set SwFeat = SwBomFeat.GetFeature  v$ y# ~8 y3 G4 \
  24.       ''* D: m" Z7 |1 M5 q, i7 h/ W- h/ H0 X
  25.       Names = SwBomFeat.GetConfigurations(False, Visible)4 N/ C& ]: T5 S1 q  m
  26.       For jj = 0 To UBound(Names)7 P' A9 `3 z2 s2 W2 G
  27.          If Names(jj) = ConfName Then 'SwView.ReferencedConfiguration Then7 r; f1 a( W" U4 w
  28.             Visible(jj) = True' |, ?, s9 m# k: {- {/ k
  29.             Exit For
    & G. ^( V' [0 K, _, M
  30.          End If; v. k5 s7 s( C5 F% n. I) P7 B
  31.       Next jj
    " [& k7 C; t- i' G2 X4 v5 e5 A
  32.       ''
    & J$ S7 _3 D/ x
  33.       BoolStatus = SwBomFeat.SetConfigurations(False, Visible, Names): N0 q* j, J2 b$ c& k  p! b0 t
  34.    Dim SwTabAnn As TableAnnotation
    3 S6 |/ D3 r/ j. a$ N4 I7 |$ t
  35.       Set SwTabAnn = SwBomFeat.GetTableAnnotations(0)
    - ?- A) \7 C' v7 n+ P9 N8 P4 i
  36.       BomTitle SwTabAnn
    " E- F; |3 o7 m! e4 P9 A" w* v
  37.       1 R  `: f. f- B0 f
  38. End Sub+ R0 i- f. S* j7 h: s

  39. ; @; y3 N4 t0 T* o6 w2 o1 S
  40. ''
    ( Z6 ]. Z( Y# M
  41. Function BomTitle(SwTabAnn As TableAnnotation)
    & w: `) O8 b; W* I
  42.    Dim cArr, Arr
    & W2 ?, P6 D% v; ]; E
  43.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", "模型质量", "小计①", "下 料 尺 寸", "下料质量", "小计②", "②-①")
    5 M* i. @5 b4 g1 e) ^1 j7 e
  44.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", " ⑴", "①", "下 料 尺 寸", " ⑵", "②", "②-①")
    $ r5 y: j7 ~8 h7 t; n) i* d0 _& l
  45.        cArr = Array("序号", "图号或标准号", "名        称", "数量", "材  料", " ⑴", "⑵", "下 料 尺 寸", " ①", "②", "②-⑵")7 D! g7 |7 u+ ^% u6 T
  46.        Arr = Array("序号", "图号", "名称", "数量", "材料", "质量", "", "下料尺寸", "下料质量", "", "")
    3 C/ G3 e; n: V
  47.    Dim wArr0 z5 v! ~! N: e8 w$ k* p& H
  48.        'wArr = Array(8, 20, 50, 8, 25, 12, 12, 40, 12, 12, 11), [1 o$ K4 u$ S
  49.        wArr = Array(8, 17, 45, 8, 18, 10, 10, 35, 10, 10, 9)1 p2 a6 K" x7 h+ {5 p. v
  50.   Dim TextFormat As TextFormat
    2 `7 w$ ]$ c, H+ _; U* V( @) n
  51.       With SwTabAnn
    5 O6 y! {8 l2 E1 O+ j+ h3 W
  52.          ''
    ' T' U6 y& E5 d1 @) [9 n
  53.          For jj = 0 To .ColumnCount - 2
    ; J" q% c/ v" T, W
  54.             .SetColumnTitle jj, cArr(jj)
    5 y+ T7 m% F+ d
  55.             .SetColumnWidth jj, wArr(jj) / 1000, 0
    . w' M2 _, N* M5 d
  56.             .SetColumnCustomProperty jj, Arr(jj)& [0 |1 t! |, l$ Z  v: I: G
  57.          Next jj" W& a, H" e  G6 W5 v
  58.          ''
    & r3 h' g8 L, N4 }
  59.          For ii = 0 To .RowCount - 2
    : @8 i3 f/ R' C9 o( G( a3 ^
  60.              For jj = 0 To .ColumnCount - 12 p( D) D6 }9 r/ Y
  61.                Select Case jj; B6 Y8 X8 `; [2 U
  62.                   Case 28 V  n1 ?& y% Z/ Y* \7 u9 L+ W
  63.                      .Text(ii, jj) = " " & Trim(.Text(ii, 2))* G: a% B- E2 @# g+ a
  64.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationLeft
    8 ^0 [8 Q$ Q" D$ ?: u
  65.                   Case Else6 ?  S* ?0 O( E1 J. Z$ J
  66.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationCenter: n, W6 A2 ?  Z# P% {  q4 r
  67.                End Select
    . k! U7 r# g9 B5 q: p
  68.                ''
    + Z0 }/ }& i3 k2 A: H
  69.                Set TextFormat = .GetCellTextFormat(ii, jj)
    * {3 x' F2 k% L& v9 i3 t- L
  70.                With TextFormat: ^9 L% k/ L0 J5 H
  71.                   .CharHeight = 2.8 / 1000
    4 u% D! L( Q/ c7 @7 y7 r
  72.                   .WidthFactor = 0.8
      d2 K) N  w& `8 D! k
  73.                   .TypeFaceName = "宋体"
    * @& U8 D, a6 `+ ]$ m
  74.                   If ii = SwTabAnn.RowCount - 1 Then* u; v( \4 M# E; ?( H
  75.                      .Bold = True
    $ X; f) J$ }  F
  76.                   Else5 V3 y# u3 j& H9 ?& P1 ?
  77.                      .Bold = False5 w2 {' S" h- f: [, J
  78.                   End If( v/ @, k) k& T& ?+ d3 P
  79.                End With
    5 B% \$ c7 H* G2 J+ f$ ]
  80.                .SetCellTextFormat .RowCount - 1, jj, False, TextFormat: `# F& ]0 f4 v2 L; Y" d- O
  81.              Next jj3 u; _- {6 O: Z( p  @* @; A/ c
  82.              ''9 }! X' \8 V1 j4 {# S" ?- z/ ]
  83.            If .Text(ii, 3) <> "-" Then, }2 V9 ^, j. @3 t- {/ @# b( `
  84.              If .Text(ii, 3) = 1 Then
    1 |5 J% }- |4 h* q$ m
  85.                   If Val(.Text(ii, 5)) > 0 Then
    ' d1 u( a2 o2 ?7 _
  86.                      .Text(ii, 6) = Format(.Text(ii, 5), "0.0#")
    0 m& e8 B) s" I) R' y
  87.                      .Text(ii, 5) = " " 'Format(.Text(ii, 5), "0.0#")5 I0 k2 ]. q3 w2 C5 }7 K% n  }
  88.                   End If
    - e1 i8 I( Q3 H. K9 a
  89.                   ''
    1 w" |9 U# K' a9 g  p3 h
  90.                   If Val(.Text(ii, 8)) > 0 Then! r# N& i1 W8 s, m+ _* O% d' Y& x
  91.                      .Text(ii, 9) = Format(.Text(ii, 8), "0.0#")% b8 {' x  V9 f- q: a+ G  X
  92.                      .Text(ii, 8) = " " 'Format(.Text(ii, 8), "0.0#"): Y# Z- i% [9 S
  93.                   End If3 V1 W( h) N2 Z* i6 p
  94.              Else: |( a/ ^$ l8 `# R/ Q/ B" y: g. b7 k
  95.                  .Text(ii, 5) = Format(.Text(ii, 5), "0.0#")  V! x0 Z* K# r+ Y5 P( A8 u7 z
  96.                  .Text(ii, 8) = Format(.Text(ii, 8), "0.0#")
    ! O0 S* x$ a; w  }7 P, }+ S
  97.                  .Text(ii, 6) = Format(.Text(ii, 5) * .Text(ii, 3), "0.0#"), Y# B; [1 |, d& G) X+ }0 L4 p
  98.                  .Text(ii, 9) = Format(.Text(ii, 8) * .Text(ii, 3), "0.0#")+ x& F' A1 ^3 }# Y7 t8 @
  99.              End If9 B5 X: S( N  o: {: g9 S. m% x
  100.              If .Text(ii, 7) <> "" And Val(.Text(ii, 9)) > 0 Then8 e2 _( J, K" Z8 o# _
  101.                  .Text(ii, 10) = Format(Val(.Text(ii, 9)) - Val(.Text(ii, 6)), "0")& W. Y5 |* V4 s8 G& L+ P: S% _
  102.              Else- [) z0 Y4 t! I. H! k: t
  103.                  .Text(ii, 8) = " "
    2 A. e8 ?( @+ A" g0 K
  104.                  .Text(ii, 9) = " ", \5 f) s3 y7 e  T) D& z/ Q* L7 J  h
  105.              End If
    6 _4 o: R7 \  V- P: L
  106.            End If- S9 r) ^3 n' l& K% s$ Q! T4 x
  107.          Next ii
    7 ^$ \: \, H* n( l" F; [1 Y# G
  108.          ''
    2 q# g) H* _4 ~" H
  109.          For ii = 0 To .RowCount - 1
    9 ]' z# }- _5 N, z
  110.              .SetRowHeight ii, 5 / 1000, 06 w8 g" T$ \, u
  111.          Next ii
    * O3 V5 ^' A* |$ U7 s* n
  112.          ''' r' G7 e" u% [+ N1 P: c
  113.       End With. d; s0 F$ Z& s) M
  114.       
    1 b5 U  R: n% q5 ?6 L5 O9 T& b
  115. End Function
    . J: B( v0 C; f& b& s4 f4 x

  116. & x& n- b& [8 Y) L. n
  117. - P& r0 s7 X! r9 W
复制代码
# h" A7 W7 d# h3 T

" }; i5 E  N* d) G/ j! f8 n( D  Z( h- w: h3 D, u( M
 楼主| 发表于 2015-8-31 14:21:23 | 显示全部楼层 来自: 中国甘肃兰州
原材料明细表没问题
; {: U! Q. Q( n) d) L6 b: r7 } 0.jpg
+ n1 H0 B5 P6 r; M- J7 l* @7 ^2 P" C  o& G( ]
运行API后出现问题) z( x+ ?4 E. [( {  ^

4 {1 k8 d" g( o8 F3 |7 p. C 1.jpg 2 _: y! C' W# G/ C! ^! }

2 U6 [4 E6 C+ S
发表于 2015-8-31 16:16:07 | 显示全部楼层 来自: 中国北京
我们还出现过负值和小数,代理商已经把问题发SW美国总部,以后就再没消息了
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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