QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在材料明细表中,产生零值的原因是什么?
6 ?1 K0 u2 O; D" ^* E8 Z
: ^, Q+ [2 a5 V  L5 l9 d2 R 1.jpg
0 h  y7 i+ a  E  S/ _' A1 J1 d) o\
4 X8 v0 _9 v0 \/ N" D3 j! W. I' g  y; k) x/ R0 w! m) a9 i
6 O3 \8 ?9 F7 O' G( F; f. I7 ?

5 x! f; T5 W2 \6 a8 l( Z- e7 {7 |0 w& \! d3 Q
 楼主| 发表于 2015-8-31 13:50:05 | 显示全部楼层 来自: 中国甘肃兰州
本帖最后由 ning84 于 2015-8-31 14:09 编辑 . P7 g' h9 K. _* X
) i  v* ]+ T5 w' x
与版本没有任何关系。Sw2013照样也出现同样问题。
0 F. V7 o( j) f0 |  S  E. ?/ G出现这个问题的原因是运行了这段API程序) {5 d. A4 p( u5 t

3 w8 O0 ]7 m7 I  r- c- C+ }
  1. & ]- d7 l# @# L  W
  2. Private Sub proceBom()
    4 ~1 a9 R8 C+ ^, _& |/ c7 }! N9 I. F8 _6 l
  3.    Dim SwApp As SldWorks.SldWorks, SwModel As ModelDoc2
    & Z, W" `. L1 ]' i* }1 C% h
  4.       Set SwApp = Application.SldWorks
    % ^( x  z' F) o5 S. g
  5.       Set SwModel = SwApp.ActiveDoc
    7 T! S- x: F) r# p3 |
  6.    Dim SwDraw As DrawingDoc, SwView As View- H$ N8 o9 r6 L5 K* [  c
  7.       Set SwDraw = SwModel5 X8 t% x, N) {8 g5 M; p8 K& T
  8.       Set SwView = SwDraw.GetFirstView' _& ~. C: ?$ w2 `
  9.       Set SwView = SwView.GetNextView8 E  x7 L' V3 O4 e% B$ K
  10.    Dim ConfName
    7 q9 T. ], g! n
  11.       ConfName = SwView.ReferencedConfiguration
    3 v2 b4 g5 W9 H& }
  12.       Set SwView = SwView.GetNextView
    ) R+ q) c. A* O! x5 z6 M; @
  13.       SwView.ReferencedConfiguration = ConfName
    # ?3 S4 [1 A  q/ \3 A
  14.       Debug.Print SwView.Name$ N: n' J" A* p6 x) f
  15.       
    ) N! I1 Y" l$ |  _2 N: N  }
  16.    Dim SwSelMgr As SelectionMgr, Names5 t% Y* [% Q! [, r8 p7 b5 ^1 |$ M
  17.       Set SwSelMgr = SwModel.SelectionManager" [% _# ?" j  \7 e# P3 e/ v' L3 f; w' O
  18.    Dim SwFeat As Feature, SwBomFeat As BomFeature, tmp8 x+ m6 Z4 g4 I' n! I& L5 T0 j
  19.       tmp = SwModel.Extension.SelectByID2("VesselBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    ( e5 C  v1 j- r0 v
  20.       'tmp = SwModel.Extension.SelectByID2("SaddleFBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)2 {; j1 L! x$ H1 w; B% ]
  21.       'tmp = SwModel.Extension.SelectByID2("SaddleSBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    " \: A3 T8 a- c, B
  22.       Set SwBomFeat = SwSelMgr.GetSelectedObject5(1)
    , g. z- P2 e  G% ^, s# V
  23.       Set SwFeat = SwBomFeat.GetFeature
    + D6 S$ O8 ~+ |: s3 ^
  24.       ''" p) a$ ]  V6 F1 P7 W7 j' I1 M
  25.       Names = SwBomFeat.GetConfigurations(False, Visible)
    ' C; o7 v# ^- |" b! l/ i
  26.       For jj = 0 To UBound(Names)
    8 L+ `# ?0 {' M
  27.          If Names(jj) = ConfName Then 'SwView.ReferencedConfiguration Then  Z+ }  o9 {# j" l2 ]' P
  28.             Visible(jj) = True
    ; ]  i8 F2 c3 U
  29.             Exit For0 s  A3 L$ W2 R4 h
  30.          End If
    7 d$ d! O& F# d
  31.       Next jj
    & N( h2 m, A2 p& e( T' \
  32.       ''4 |, Z. q) e9 w& e* \+ ?
  33.       BoolStatus = SwBomFeat.SetConfigurations(False, Visible, Names)
    0 G! l9 i0 N( n+ h3 |+ ]; l# U- `
  34.    Dim SwTabAnn As TableAnnotation& a; b7 i, n$ `! O" @+ `8 `
  35.       Set SwTabAnn = SwBomFeat.GetTableAnnotations(0)( I# X7 G3 L7 |: V- l
  36.       BomTitle SwTabAnn0 f+ m, Y- L! ?' F& l$ L
  37.       
    2 n% [% u3 c9 n5 _, \) n
  38. End Sub
    $ @3 }4 W  [: q. v  J3 N
  39. 4 a6 J9 K2 T3 Y: b6 G; K
  40. ''* y8 F0 b+ @$ j. |
  41. Function BomTitle(SwTabAnn As TableAnnotation)0 D3 m* s/ z1 @5 v7 U
  42.    Dim cArr, Arr
    % _2 d" X9 w: B& s9 f
  43.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", "模型质量", "小计①", "下 料 尺 寸", "下料质量", "小计②", "②-①")+ |* @: x$ _  @- T
  44.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", " ⑴", "①", "下 料 尺 寸", " ⑵", "②", "②-①")9 E+ ^: J- Z4 k4 U
  45.        cArr = Array("序号", "图号或标准号", "名        称", "数量", "材  料", " ⑴", "⑵", "下 料 尺 寸", " ①", "②", "②-⑵"). Q! z9 R7 s% ?/ N: c3 h
  46.        Arr = Array("序号", "图号", "名称", "数量", "材料", "质量", "", "下料尺寸", "下料质量", "", "")
    4 o5 J5 {- d% a
  47.    Dim wArr
    $ {0 U" l( i7 h2 n; r/ D* d" h
  48.        'wArr = Array(8, 20, 50, 8, 25, 12, 12, 40, 12, 12, 11)
    , o2 P, }7 p0 j' x$ \
  49.        wArr = Array(8, 17, 45, 8, 18, 10, 10, 35, 10, 10, 9)
    5 G: b$ q1 `* S4 E4 E
  50.   Dim TextFormat As TextFormat
    / b' l' w/ ]& w1 J, G' a. T
  51.       With SwTabAnn1 o; I' v9 R" ]1 R+ ^8 B9 e
  52.          ''* e& B1 {  J/ Z) T3 [6 B
  53.          For jj = 0 To .ColumnCount - 2: c& O4 q0 |! n! B
  54.             .SetColumnTitle jj, cArr(jj)$ N, a9 t8 p0 k" u& O
  55.             .SetColumnWidth jj, wArr(jj) / 1000, 0
    ! x6 F6 C/ {% o+ M. y
  56.             .SetColumnCustomProperty jj, Arr(jj)' Y+ H7 t  k3 ], q3 k, S
  57.          Next jj
    : q3 W3 N, I9 N6 |/ M
  58.          ''
    0 F: }8 q) i. Y% ]: H! S. m0 v& a& k
  59.          For ii = 0 To .RowCount - 2
    & F  ?0 D* a9 d, P
  60.              For jj = 0 To .ColumnCount - 13 a+ Y& }# O7 k" @0 X. z
  61.                Select Case jj
    & y* ]2 e) q2 |( `* R' s, b
  62.                   Case 2  H: v& x$ X5 m5 i+ z
  63.                      .Text(ii, jj) = " " & Trim(.Text(ii, 2))
      M% T" \! J( f# H$ s( @! C
  64.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationLeft
    * u  y4 V- o( I2 G. V: x
  65.                   Case Else/ o0 @  f4 e, Q' E3 q
  66.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationCenter
    & |5 j8 A; ?. x6 B
  67.                End Select$ V: ?* H9 k6 @9 z/ ~6 q, k( `3 B
  68.                ''
    8 v/ _# w% y5 J% f7 R" x
  69.                Set TextFormat = .GetCellTextFormat(ii, jj)) u) K& \# P5 k. H4 l2 [3 r+ [
  70.                With TextFormat4 R& J# k: L! {
  71.                   .CharHeight = 2.8 / 1000
    $ X) g% g7 U0 q
  72.                   .WidthFactor = 0.8
      N* P8 M% i) X  c
  73.                   .TypeFaceName = "宋体"& |' h, E1 N; o$ i3 [: y
  74.                   If ii = SwTabAnn.RowCount - 1 Then' E/ A: k: `, ~
  75.                      .Bold = True' O: T, A# B% @) Y# Q8 s9 J& C
  76.                   Else: l  {# o. _4 R- r" y* K( t6 C/ r
  77.                      .Bold = False3 p) Y; q7 ^" Y1 k
  78.                   End If9 r2 J4 S- T  [# o) L
  79.                End With
    ( L2 M0 d6 A1 b( T
  80.                .SetCellTextFormat .RowCount - 1, jj, False, TextFormat' a6 n) p* l8 k+ P: d* w* o
  81.              Next jj
    / H3 \5 t: u. M1 |" n: r
  82.              '': B& v, }* H/ k/ w6 Y' z
  83.            If .Text(ii, 3) <> "-" Then
    2 P# x/ U+ Q+ k0 U2 U) g
  84.              If .Text(ii, 3) = 1 Then
    & h5 J9 C  _: A7 t; B. y
  85.                   If Val(.Text(ii, 5)) > 0 Then5 D) D' t- Z7 i( o( H
  86.                      .Text(ii, 6) = Format(.Text(ii, 5), "0.0#")
    . V$ K0 p. y4 o7 k0 U9 j7 p
  87.                      .Text(ii, 5) = " " 'Format(.Text(ii, 5), "0.0#")+ _0 d3 C+ H! z2 W, m' S
  88.                   End If& Z+ ^2 M, e2 M; Z- A3 u+ Z$ L
  89.                   ''
    % m/ R7 A4 ^0 h- b. ~, y: s
  90.                   If Val(.Text(ii, 8)) > 0 Then6 p# |( [; t) @  }9 T) |8 U7 M
  91.                      .Text(ii, 9) = Format(.Text(ii, 8), "0.0#")
    $ |) S# K. o5 O
  92.                      .Text(ii, 8) = " " 'Format(.Text(ii, 8), "0.0#")
    ( P" R2 y- I6 d0 Y/ X5 \
  93.                   End If' e1 [. Y6 u+ N4 Y& i
  94.              Else
    * P* y% B# G; x2 G0 k- G7 W
  95.                  .Text(ii, 5) = Format(.Text(ii, 5), "0.0#")5 i% B5 ?: G  Y
  96.                  .Text(ii, 8) = Format(.Text(ii, 8), "0.0#"). P4 c' R5 E3 z/ G4 s; L2 l
  97.                  .Text(ii, 6) = Format(.Text(ii, 5) * .Text(ii, 3), "0.0#")
    $ M  o! a2 E3 Q( a% P2 \& L
  98.                  .Text(ii, 9) = Format(.Text(ii, 8) * .Text(ii, 3), "0.0#")% c' K0 t* y7 @& U- j! w8 p
  99.              End If" G' ?1 M# ]. h
  100.              If .Text(ii, 7) <> "" And Val(.Text(ii, 9)) > 0 Then. }# w( j* d+ J8 E
  101.                  .Text(ii, 10) = Format(Val(.Text(ii, 9)) - Val(.Text(ii, 6)), "0")/ m% P: m( a: y1 l7 a
  102.              Else
    ! s! T! R; r" s  t+ r7 N
  103.                  .Text(ii, 8) = " "
    " ~9 X2 l$ g! S, L  h# a
  104.                  .Text(ii, 9) = " "+ @( O% p$ v, s" S) h/ _9 n# h
  105.              End If
    3 s7 f% G; z: a3 F
  106.            End If
    1 i, I* z! f. J% P2 t
  107.          Next ii4 m% {' }( h4 b& Y8 X4 t  h! {
  108.          '') |+ }- j& T4 t+ |
  109.          For ii = 0 To .RowCount - 1+ A* v# k- b2 k
  110.              .SetRowHeight ii, 5 / 1000, 0* q( I! z; D" h6 A: ?, w
  111.          Next ii9 b: T! _, X2 c# i3 b
  112.          ''
    : a! Z5 V; q& ~/ ]
  113.       End With; O" b! b% q0 w
  114.       1 R" A( x, n6 v2 `
  115. End Function
    1 |3 O. g; T: q! s1 F# g. ^

  116. ' N" s+ e. u, _2 E+ ?% v! b

  117. * O) d: p6 ^$ u9 e2 D* m
复制代码

  C2 S$ K. h& z' v! ?1 T, \' A. {6 \0 A$ T" y- J

8 a8 d! `: m: J
 楼主| 发表于 2015-8-31 14:21:23 | 显示全部楼层 来自: 中国甘肃兰州
原材料明细表没问题* |' D& B5 t6 P5 E4 G6 Q
0.jpg - J! r1 y. C3 p# u) V( }1 s

, C% a& H2 r* v7 f0 B运行API后出现问题
2 R0 ^$ P& N, ~4 D) q4 P; ~7 X/ K1 e6 y$ G1 w
1.jpg $ r6 L- w, }5 i% K% \% n
. i1 O$ }) T/ Z
发表于 2015-8-31 16:16:07 | 显示全部楼层 来自: 中国北京
我们还出现过负值和小数,代理商已经把问题发SW美国总部,以后就再没消息了
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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