QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在材料明细表中,产生零值的原因是什么?" @3 J0 B) Y; f9 v5 ~# b2 P- |: k& [! i
2 G+ w! P3 ]( ~3 M
1.jpg
; D( O- ?) K' |% R% h7 w2 j\
- q+ P+ X! Z5 O% }  y/ K; N  ~. ^8 Q( ]# h; X2 I( Z% w- p2 x

' T+ L4 a3 e" B! W1 {: M5 l8 L$ c& o! c9 ]+ L8 C+ Z
: j) V' R, h$ I' F* j2 k- U- P  G
 楼主| 发表于 2015-8-31 13:50:05 | 显示全部楼层 来自: 中国甘肃兰州
本帖最后由 ning84 于 2015-8-31 14:09 编辑
, ^4 p0 ^3 Q7 R. Y5 r) Q8 ]& K& n  A2 Y
与版本没有任何关系。Sw2013照样也出现同样问题。
1 P7 g; i0 m0 l1 Z% U6 c) {出现这个问题的原因是运行了这段API程序
3 X3 ~2 L$ u0 ?$ z
( n" V2 W$ u9 [9 w% f! i; X, N
  1. " p3 X% g/ c8 I; g
  2. Private Sub proceBom()
    2 m4 g! Y! T; c- R4 X
  3.    Dim SwApp As SldWorks.SldWorks, SwModel As ModelDoc2
    4 W/ O3 i) p/ G( ~
  4.       Set SwApp = Application.SldWorks3 Q/ _- ]! N) E* Z/ _
  5.       Set SwModel = SwApp.ActiveDoc
    2 a0 T. n& d! |# P1 m! W
  6.    Dim SwDraw As DrawingDoc, SwView As View" z1 U  s% D, H
  7.       Set SwDraw = SwModel# P6 @% t: \) j
  8.       Set SwView = SwDraw.GetFirstView: W7 I* v6 C( S( U; v" b& D# M% ^
  9.       Set SwView = SwView.GetNextView
    / w0 Z9 r* i  z5 p; v) a
  10.    Dim ConfName( f4 I: @# }! e; U7 x8 e; U: m
  11.       ConfName = SwView.ReferencedConfiguration8 u  w  }" [! }- C. K
  12.       Set SwView = SwView.GetNextView% j7 A% L! {" `3 g4 {$ l" q
  13.       SwView.ReferencedConfiguration = ConfName
      G$ r$ D: R: C5 m
  14.       Debug.Print SwView.Name
      w5 Z4 p; V/ c( B* T+ b
  15.       ; g1 K! t% R) [& J
  16.    Dim SwSelMgr As SelectionMgr, Names
    - @, ?; H! M) C( T
  17.       Set SwSelMgr = SwModel.SelectionManager; x+ Q7 `4 i! {0 n( s+ Q
  18.    Dim SwFeat As Feature, SwBomFeat As BomFeature, tmp
    - e" o. |% Z& b5 f, }8 P
  19.       tmp = SwModel.Extension.SelectByID2("VesselBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    + z4 K" G! E+ J# i
  20.       'tmp = SwModel.Extension.SelectByID2("SaddleFBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    ' S( o5 q$ }1 ?/ U# \
  21.       'tmp = SwModel.Extension.SelectByID2("SaddleSBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)% @$ ~$ d+ @; R6 O9 K7 E1 J
  22.       Set SwBomFeat = SwSelMgr.GetSelectedObject5(1)1 }8 X. B" _. z$ l0 }
  23.       Set SwFeat = SwBomFeat.GetFeature
    5 H5 {. f7 f" h2 x: Q" g0 K
  24.       ''9 F) ^8 F& t" C8 j' H: V' p
  25.       Names = SwBomFeat.GetConfigurations(False, Visible)) p: ~  M5 |* u
  26.       For jj = 0 To UBound(Names)
    # `* n$ E7 Z" d, D4 d3 Z/ u9 n
  27.          If Names(jj) = ConfName Then 'SwView.ReferencedConfiguration Then
    , _& [  M0 J, y0 a3 {5 C# p9 ~
  28.             Visible(jj) = True2 x( D, k: h' N$ w, b0 d& Z
  29.             Exit For; n; t' S% Q: F2 S) ?8 m
  30.          End If  L" V+ t6 R' q" {$ h
  31.       Next jj5 M+ W+ M6 N; e" o  d# P
  32.       ''
    1 u0 K# ?( B& n& \; _2 ]8 w* x
  33.       BoolStatus = SwBomFeat.SetConfigurations(False, Visible, Names)/ p% z. R& u7 S4 q" f0 O( r3 ?
  34.    Dim SwTabAnn As TableAnnotation) x4 a! _/ W7 N
  35.       Set SwTabAnn = SwBomFeat.GetTableAnnotations(0)9 Q( u, j# _1 K( h# g7 ~6 P
  36.       BomTitle SwTabAnn
    8 P: E; `3 A, e2 |* `6 k2 t
  37.       ' I6 i# \5 p( K  K
  38. End Sub
    " x# p* ^& A4 v4 E% T

  39. - W) i( ~! }/ F0 G7 y
  40. ''
    - n3 S5 \5 ?- x) t9 r! G6 F
  41. Function BomTitle(SwTabAnn As TableAnnotation). E2 A1 ]2 Z; |# ^& }
  42.    Dim cArr, Arr+ }$ r) o- W) O
  43.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", "模型质量", "小计①", "下 料 尺 寸", "下料质量", "小计②", "②-①")
    - c! d# Y' w9 {" C6 k
  44.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", " ⑴", "①", "下 料 尺 寸", " ⑵", "②", "②-①")
    ( s1 o8 U: u- @
  45.        cArr = Array("序号", "图号或标准号", "名        称", "数量", "材  料", " ⑴", "⑵", "下 料 尺 寸", " ①", "②", "②-⑵")
    $ m& L% q! R2 g' }; R8 C
  46.        Arr = Array("序号", "图号", "名称", "数量", "材料", "质量", "", "下料尺寸", "下料质量", "", "")
    - n" M4 a2 ~# L1 x5 u6 t1 S) S
  47.    Dim wArr7 T! p9 t: G9 e6 X2 f/ ?
  48.        'wArr = Array(8, 20, 50, 8, 25, 12, 12, 40, 12, 12, 11)
    # L1 I& ~% Z$ v5 y0 s
  49.        wArr = Array(8, 17, 45, 8, 18, 10, 10, 35, 10, 10, 9)
    ; K# n( ]7 V7 y  M. J
  50.   Dim TextFormat As TextFormat
    9 L5 Q7 V0 \% N5 C
  51.       With SwTabAnn& @" X& Z& n1 N+ F. x
  52.          ''$ D+ m, S+ P9 I9 y8 h- \. A0 C
  53.          For jj = 0 To .ColumnCount - 2
    ' G2 I* s" N9 g( v: E  f( R
  54.             .SetColumnTitle jj, cArr(jj)
    : T. z( w0 X' G: ~( J
  55.             .SetColumnWidth jj, wArr(jj) / 1000, 0, h( y1 U' u0 B5 _, m9 }
  56.             .SetColumnCustomProperty jj, Arr(jj), J# V/ m6 {# \$ ]7 C0 t, g- I0 h7 L
  57.          Next jj: n% Y8 q' `) d) a
  58.          ''% G1 I! z& j$ v2 C3 j# G
  59.          For ii = 0 To .RowCount - 21 e* e' L$ F3 z: `7 v
  60.              For jj = 0 To .ColumnCount - 1
    7 K$ b7 E* e. V
  61.                Select Case jj
    # z  [5 y0 F- u) p) S
  62.                   Case 24 q3 v6 c0 t" L  a
  63.                      .Text(ii, jj) = " " & Trim(.Text(ii, 2))- V9 ?- g' w* ], v3 g* a( j) k' V
  64.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationLeft
    7 F: F8 I' Y' k4 I
  65.                   Case Else
    - v  T: O7 m0 e
  66.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationCenter5 M3 U7 E1 P8 w3 E8 h
  67.                End Select
    ( H5 \2 F( R1 I( i
  68.                ''
    : X! p, h1 G: f% y
  69.                Set TextFormat = .GetCellTextFormat(ii, jj)/ C# [+ U( O7 ~6 c
  70.                With TextFormat
    & R! N  j1 J$ Z4 j, x
  71.                   .CharHeight = 2.8 / 1000
    : _- Q6 F* p2 i' y
  72.                   .WidthFactor = 0.8
    / }. S3 M  g, T6 `$ c3 l
  73.                   .TypeFaceName = "宋体"  H  T+ W# ~( {+ S; M
  74.                   If ii = SwTabAnn.RowCount - 1 Then) ~+ d% {9 O+ I1 K
  75.                      .Bold = True- }' Y8 L! p3 N: d
  76.                   Else( N  x2 o/ b8 L1 f5 P
  77.                      .Bold = False
    ) i7 i+ e2 d5 s  K! G1 [& k: F3 z
  78.                   End If
    ' F" _  E. a1 w
  79.                End With
    ! h2 G: J" S8 _7 y! ]- M
  80.                .SetCellTextFormat .RowCount - 1, jj, False, TextFormat" f+ v# \- {( I! p0 T2 J
  81.              Next jj
    4 I8 i& C( u7 u9 h
  82.              ''. T$ x( a% X3 {( L+ q
  83.            If .Text(ii, 3) <> "-" Then9 K& p* @$ z+ M2 A
  84.              If .Text(ii, 3) = 1 Then1 s5 e: T) s2 P( \+ ?4 P
  85.                   If Val(.Text(ii, 5)) > 0 Then7 K0 d9 i# z6 q) w' [
  86.                      .Text(ii, 6) = Format(.Text(ii, 5), "0.0#")/ Y' T, a+ N3 R
  87.                      .Text(ii, 5) = " " 'Format(.Text(ii, 5), "0.0#")
    ! Q9 Q; R& \: Q; @9 F! L
  88.                   End If4 ]( z* F& W7 C4 W4 o# F
  89.                   ''- K" w; g1 f  n
  90.                   If Val(.Text(ii, 8)) > 0 Then) d$ w  s4 X1 s
  91.                      .Text(ii, 9) = Format(.Text(ii, 8), "0.0#")
    0 Z( U( T0 v9 Y1 w9 f
  92.                      .Text(ii, 8) = " " 'Format(.Text(ii, 8), "0.0#")
    & ?  }4 F( X+ _6 t6 b5 }" V& U
  93.                   End If
    3 X; T+ P( x$ \* |
  94.              Else& |7 k( z  D( p. H
  95.                  .Text(ii, 5) = Format(.Text(ii, 5), "0.0#")8 C& `7 a6 Y( w( g- h5 W
  96.                  .Text(ii, 8) = Format(.Text(ii, 8), "0.0#")1 R& `" ^! s0 w# ?. D* J+ H( z5 P' R
  97.                  .Text(ii, 6) = Format(.Text(ii, 5) * .Text(ii, 3), "0.0#")
    : W+ \6 F  o6 q$ l8 p5 l
  98.                  .Text(ii, 9) = Format(.Text(ii, 8) * .Text(ii, 3), "0.0#")3 i2 _4 }$ k# w7 n6 \
  99.              End If# h7 ?/ K. w* i8 J
  100.              If .Text(ii, 7) <> "" And Val(.Text(ii, 9)) > 0 Then* |9 A. N% Z: x* o  L" _0 j
  101.                  .Text(ii, 10) = Format(Val(.Text(ii, 9)) - Val(.Text(ii, 6)), "0")
    ' m9 X8 u# M- `' P0 }7 R! Y/ b
  102.              Else# d$ x1 t5 {) j
  103.                  .Text(ii, 8) = " "
      q7 m$ [' b' M: R7 H
  104.                  .Text(ii, 9) = " "
    , M; G$ z' B$ J( ]- u- J- w
  105.              End If
    1 ?+ D" R: a+ d
  106.            End If* t) b+ p+ U0 z' |; R  E1 }
  107.          Next ii
    ( P# h0 h1 W3 N# d( ^
  108.          ''6 I" {3 H( |* l; }/ |! J
  109.          For ii = 0 To .RowCount - 1  m8 {0 \1 P6 B' `1 j* l( N
  110.              .SetRowHeight ii, 5 / 1000, 0
    4 U2 D, D: m3 U% N" Z$ Y) ]7 j5 _
  111.          Next ii
    & ^# [* W! t  ?4 f0 H7 Y% r8 Y2 p! z
  112.          ''. S# D* C$ K$ T$ a
  113.       End With# `1 Y$ z, ^7 o8 {# s5 D) g
  114.       
    , A2 ~5 U( q4 q/ u5 |9 L' H
  115. End Function
    & L6 _% j" n7 x0 S

  116. & {% v: k9 c5 M

  117. ; I( e5 v" ]2 k9 S4 l" Q
复制代码
* V' O3 ]) d: d4 M( m$ J, ^

, F6 I9 `& _4 P) C1 x8 d" c( Z+ V, m3 d8 h5 H) \$ o# m
 楼主| 发表于 2015-8-31 14:21:23 | 显示全部楼层 来自: 中国甘肃兰州
原材料明细表没问题
  r' X* l0 ]4 C8 p* U7 a: E 0.jpg 3 X. o: H& }8 Q# m
* `2 c" A9 w+ Z/ y8 d  \
运行API后出现问题
) S/ M. c) ~& E8 x' J
4 d4 N% `% W' ^& K/ j8 @- g 1.jpg 5 O+ ~6 k: ^5 j! T* Q& K# n

8 t; }# X$ T& S0 ~7 o  T
发表于 2015-8-31 16:16:07 | 显示全部楼层 来自: 中国北京
我们还出现过负值和小数,代理商已经把问题发SW美国总部,以后就再没消息了
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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