QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在材料明细表中,产生零值的原因是什么?) }- m# y/ c! M4 }% g9 {) ?; p
$ w7 T  H/ h: c5 D; K* u2 B" H
1.jpg 4 O$ _9 x( d1 n1 Y
\! n8 ?+ K$ g/ i/ x
! ?" E% U7 Q5 i: y/ t: X
0 j6 b2 N. [( F3 j  S$ E* I+ X$ b/ d

; M7 q) a! k% h3 {! S7 `! F8 J! s8 e( x, Q8 b
 楼主| 发表于 2015-8-31 13:50:05 | 显示全部楼层 来自: 中国甘肃兰州
本帖最后由 ning84 于 2015-8-31 14:09 编辑 , t7 F2 y: t" ~+ c) Y' l% R

( D/ }; R" Y8 R$ o  f  m与版本没有任何关系。Sw2013照样也出现同样问题。
! [" W, ~, c3 y1 ]+ z; Q! n* [出现这个问题的原因是运行了这段API程序
# f6 x1 j% W* b5 @) f5 W# H+ c+ ?
9 n* F% ]$ U/ x! b% A7 V

  1. ; s4 Q" P1 R! E/ s7 Z6 q7 y
  2. Private Sub proceBom()6 A6 d# [. x; l0 D2 c
  3.    Dim SwApp As SldWorks.SldWorks, SwModel As ModelDoc2
    * v7 W8 Y$ ?1 a" v* Y$ s; w: X+ Z
  4.       Set SwApp = Application.SldWorks
    : `. |3 y3 G7 V2 O
  5.       Set SwModel = SwApp.ActiveDoc3 o  U  B' c$ t+ u
  6.    Dim SwDraw As DrawingDoc, SwView As View9 l8 L* N8 c0 U, g
  7.       Set SwDraw = SwModel
    + y, C8 `3 G# D* l6 |3 t
  8.       Set SwView = SwDraw.GetFirstView
    2 |+ r4 G" y" q- o
  9.       Set SwView = SwView.GetNextView
    ! f6 k) S) V4 _3 F
  10.    Dim ConfName% ^% R* z, \" |+ t
  11.       ConfName = SwView.ReferencedConfiguration
    4 k# a& P$ R# [! S! E
  12.       Set SwView = SwView.GetNextView; S: q6 P( J. V* Z/ ~3 u7 N# ]9 D0 l
  13.       SwView.ReferencedConfiguration = ConfName1 J6 ~- d6 d" _- e6 `8 R$ C$ s" [
  14.       Debug.Print SwView.Name
    ) F3 u. z# I9 a& X- ?3 y9 `
  15.       - q$ r' M+ @" l2 j) Y
  16.    Dim SwSelMgr As SelectionMgr, Names
      d# l- x1 r8 D$ A" p5 }
  17.       Set SwSelMgr = SwModel.SelectionManager4 p! U% Y) M- B2 I5 J. y- y
  18.    Dim SwFeat As Feature, SwBomFeat As BomFeature, tmp; _" e2 b9 U9 P1 C' ^
  19.       tmp = SwModel.Extension.SelectByID2("VesselBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)9 L1 f- s3 s; u  K, n
  20.       'tmp = SwModel.Extension.SelectByID2("SaddleFBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)$ ]5 j  u4 c$ z9 f; m
  21.       'tmp = SwModel.Extension.SelectByID2("SaddleSBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)& `$ G" T( J- G7 a5 F
  22.       Set SwBomFeat = SwSelMgr.GetSelectedObject5(1)
    1 f6 A! ]) D7 O  D
  23.       Set SwFeat = SwBomFeat.GetFeature2 `3 i% s9 Y9 J
  24.       ''
    ; x4 x) B, B( U1 q5 e
  25.       Names = SwBomFeat.GetConfigurations(False, Visible)9 b0 }4 d! X7 ], i. B
  26.       For jj = 0 To UBound(Names)/ E6 e5 b; A* N% \
  27.          If Names(jj) = ConfName Then 'SwView.ReferencedConfiguration Then
    " g4 Q( Q# G! ?6 Z
  28.             Visible(jj) = True
    " w- a5 S! {  b2 j7 V, L) z/ R6 D
  29.             Exit For
    , L! V1 D  v/ L/ F: {1 R
  30.          End If
    " Z% p& U7 j, f6 d$ D: O: s
  31.       Next jj) Y8 K+ S, K  [8 m4 _
  32.       ''
    * L. I' U; x1 e  a# h9 X- [
  33.       BoolStatus = SwBomFeat.SetConfigurations(False, Visible, Names)# A! Y/ s8 Q. k
  34.    Dim SwTabAnn As TableAnnotation- S& w6 v$ M; H8 F- U+ t- L
  35.       Set SwTabAnn = SwBomFeat.GetTableAnnotations(0)
    6 Z5 i' U$ Q, c+ Z& X5 W' |
  36.       BomTitle SwTabAnn
    ! t0 c- M9 A$ V1 V# X
  37.       
    $ g2 s3 O" L) B3 S1 y
  38. End Sub( d0 Q" C/ X5 R) C! i

  39. - p( y; J* Z8 r1 _
  40. ''
    ( }' O% T8 n3 u% w8 S- [7 j1 O
  41. Function BomTitle(SwTabAnn As TableAnnotation)
    9 b3 y. }6 G: W5 B8 ?9 X3 c9 i
  42.    Dim cArr, Arr
    - \: q& x! D: T
  43.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", "模型质量", "小计①", "下 料 尺 寸", "下料质量", "小计②", "②-①")
    0 A3 S, Q* r: J: d+ I
  44.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", " ⑴", "①", "下 料 尺 寸", " ⑵", "②", "②-①")
    + N# {9 C6 e. y2 z+ F+ [$ U, f* ~
  45.        cArr = Array("序号", "图号或标准号", "名        称", "数量", "材  料", " ⑴", "⑵", "下 料 尺 寸", " ①", "②", "②-⑵")# E2 u+ E. r/ r+ |3 S) ~. E* g/ [
  46.        Arr = Array("序号", "图号", "名称", "数量", "材料", "质量", "", "下料尺寸", "下料质量", "", "")
    8 o0 x( l1 G0 {+ x0 Y
  47.    Dim wArr; X1 X2 P" i; o) n  A/ e
  48.        'wArr = Array(8, 20, 50, 8, 25, 12, 12, 40, 12, 12, 11)
    : b9 K) `4 w1 i- k/ P
  49.        wArr = Array(8, 17, 45, 8, 18, 10, 10, 35, 10, 10, 9)
    5 w3 }# ?6 z. y5 _5 L
  50.   Dim TextFormat As TextFormat
    & F; S. b% s, n: H
  51.       With SwTabAnn
    1 V, D- ?0 B& e) c
  52.          ''/ q- N5 z+ o) Z; M& L# J
  53.          For jj = 0 To .ColumnCount - 2
    + O( }% G9 E# u* v3 |
  54.             .SetColumnTitle jj, cArr(jj)
    $ n+ F3 L  }( e) U, R
  55.             .SetColumnWidth jj, wArr(jj) / 1000, 0
      Y, m$ r% [: V( \) ]; w2 p
  56.             .SetColumnCustomProperty jj, Arr(jj)
    - Z$ X9 P% r3 W1 Q, s# W
  57.          Next jj
    ; Y- `5 `- `' x+ b3 {& |! n- k  J
  58.          '': C2 `# H/ A  D6 Y
  59.          For ii = 0 To .RowCount - 21 u; }% G8 L$ s; p
  60.              For jj = 0 To .ColumnCount - 1
    ! Z1 W1 K4 Z9 |& D8 c3 z3 H
  61.                Select Case jj, y( r7 r7 {% P- s- l
  62.                   Case 29 l0 @. W2 `" m4 E) v0 }6 r( J
  63.                      .Text(ii, jj) = " " & Trim(.Text(ii, 2))
    9 E  ~9 e) r& Y; i7 y$ R
  64.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationLeft8 g" s" U+ K, |' Z1 r% _7 _; t
  65.                   Case Else! V2 x! n' ?1 S+ ?+ ^
  66.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationCenter+ I' B+ i; k! ]0 d; p
  67.                End Select* c( d4 L( x4 J+ V( j; K. m
  68.                ''6 y" P2 ]6 D. r
  69.                Set TextFormat = .GetCellTextFormat(ii, jj)
    % B  \5 r9 S4 @& y% V# Y
  70.                With TextFormat
    6 I/ \# k- n9 o, s" _
  71.                   .CharHeight = 2.8 / 1000
    ) b( I; y0 b5 F2 f8 W% a8 Q9 b
  72.                   .WidthFactor = 0.8
    + l. c+ ]) p, C) X: s, B; i
  73.                   .TypeFaceName = "宋体"; I9 `/ X& e8 v5 e
  74.                   If ii = SwTabAnn.RowCount - 1 Then
    / z& [. s+ H1 Y6 ~1 T$ H
  75.                      .Bold = True; \5 y% \# f5 @4 y$ I
  76.                   Else
    7 ]- e% Q9 i; y0 H8 @
  77.                      .Bold = False- j* ^" d, K! c  G/ ?6 H7 w
  78.                   End If/ f2 T5 b8 h0 H: H: b7 |3 [5 _
  79.                End With6 r( s, `# [; E  l
  80.                .SetCellTextFormat .RowCount - 1, jj, False, TextFormat
    3 g* u1 E: K: x3 w
  81.              Next jj6 \- r: x& K8 I. Q$ e
  82.              ''8 d8 n+ e8 r8 M. n$ b. j
  83.            If .Text(ii, 3) <> "-" Then
    4 w, L) q5 r8 N7 e1 Q* Y! E
  84.              If .Text(ii, 3) = 1 Then8 }6 C) s) D3 O- O8 ]
  85.                   If Val(.Text(ii, 5)) > 0 Then
    % N# v) `! `- u4 Y5 Z- c1 s2 H) x
  86.                      .Text(ii, 6) = Format(.Text(ii, 5), "0.0#")3 i# W1 R' W* L8 N
  87.                      .Text(ii, 5) = " " 'Format(.Text(ii, 5), "0.0#")' V) _1 N, X& J# u2 s
  88.                   End If% j. f3 [5 D* w' x
  89.                   ''# k1 ?& q6 ^) g6 Y
  90.                   If Val(.Text(ii, 8)) > 0 Then9 |- z- U- \/ p/ p1 p; Y
  91.                      .Text(ii, 9) = Format(.Text(ii, 8), "0.0#")5 A8 C$ ^9 {' S% y  r& O
  92.                      .Text(ii, 8) = " " 'Format(.Text(ii, 8), "0.0#")
    # f, A% p' K# A0 H
  93.                   End If
    $ U+ K& a# m% T9 `1 E! C
  94.              Else
    + L( e5 a0 |% C" n
  95.                  .Text(ii, 5) = Format(.Text(ii, 5), "0.0#")
    ) \$ s. `8 U7 o5 s
  96.                  .Text(ii, 8) = Format(.Text(ii, 8), "0.0#")
    " c% u& M# u! @6 R1 U7 T) y+ U
  97.                  .Text(ii, 6) = Format(.Text(ii, 5) * .Text(ii, 3), "0.0#"). S3 E" |) u% Z! q- h2 o" r
  98.                  .Text(ii, 9) = Format(.Text(ii, 8) * .Text(ii, 3), "0.0#")
    $ @% I% x' d4 [6 `2 I
  99.              End If
    # C. ~6 {+ X0 L% \* H0 C
  100.              If .Text(ii, 7) <> "" And Val(.Text(ii, 9)) > 0 Then
    7 _& k8 ~+ ^% N1 S
  101.                  .Text(ii, 10) = Format(Val(.Text(ii, 9)) - Val(.Text(ii, 6)), "0")5 k3 p& f0 `- U3 D% f
  102.              Else0 x. x) g1 C. {  K1 f" z1 j5 q: v
  103.                  .Text(ii, 8) = " "* g" c8 _9 h3 q* \9 j  `3 ~( Y8 O
  104.                  .Text(ii, 9) = " "
    . w4 M' a& J" a8 U8 d$ q" p
  105.              End If
    6 S( L/ N! F# B( V: `) F! S: a( _
  106.            End If
    5 x: x2 y& I  r  L; @- C" v
  107.          Next ii/ Y. r  s% J+ D
  108.          ''7 T; e' t* u1 X) k0 V; L& Y. e$ c
  109.          For ii = 0 To .RowCount - 19 }4 J% p4 L% w9 |
  110.              .SetRowHeight ii, 5 / 1000, 0
    1 V4 R0 h+ I- l" s0 q! y6 Q) C
  111.          Next ii- N0 A$ ?( m3 f3 y/ i! ~
  112.          ''
    2 W4 K) r- _" T* ~. m1 q, a
  113.       End With
    & N6 s, \( f- m# M& g
  114.       2 b3 ~: t3 {8 I6 H, ^5 U
  115. End Function+ A4 U% b- q# f  b
  116. ! J' ?& ~% O$ C3 P: [

  117. 8 ~; Y& d) R) B: z8 i* h
复制代码
9 K1 j# a1 \5 _/ Q8 F2 l

7 v- g1 G, Y2 u8 A4 {" F! X0 v& v# q5 ^4 N2 x8 |- Q
 楼主| 发表于 2015-8-31 14:21:23 | 显示全部楼层 来自: 中国甘肃兰州
原材料明细表没问题. P% l) W) o! ~' k5 x
0.jpg
* R' E* `7 v5 Q' t3 w6 O
- e5 v" i, J2 K# X6 d: V运行API后出现问题
. W! x/ N% N0 f# n# c* \' a! i8 R2 x5 p& }. E7 d! r3 [
1.jpg
- G9 C9 Q  |5 t2 z1 f& u0 B) m6 c. B$ g# W  R: e- l& s  S8 \, y
发表于 2015-8-31 16:16:07 | 显示全部楼层 来自: 中国北京
我们还出现过负值和小数,代理商已经把问题发SW美国总部,以后就再没消息了
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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