QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在材料明细表中,产生零值的原因是什么?8 h8 b" E( ?1 G* |; G8 W3 ^
+ N6 [$ v- [$ C) k6 ]$ Z
1.jpg 5 X$ t0 f5 k- u" e1 U, O
\0 i- M% z6 e2 w: C9 a
* a) U2 N  {/ x9 B' F
1 n6 V5 G* E/ N" C

" M# |/ E% E. Q  I$ c9 U9 j" }# G& @
 楼主| 发表于 2015-8-31 13:50:05 | 显示全部楼层 来自: 中国甘肃兰州
本帖最后由 ning84 于 2015-8-31 14:09 编辑 0 {0 A" t8 C/ t( m- M

7 b4 _8 K' t( K与版本没有任何关系。Sw2013照样也出现同样问题。, I; q; i$ F! w1 l" E
出现这个问题的原因是运行了这段API程序1 q6 ]8 h$ a8 c1 f" u' z2 E

4 D$ n8 f6 {9 w% Z9 a3 g# q3 p

  1. ( t) m' Y( ?% f+ R1 Q" d6 I! [
  2. Private Sub proceBom()) t  P+ l5 e" \
  3.    Dim SwApp As SldWorks.SldWorks, SwModel As ModelDoc2! N, a: j& \3 B; D# u" S0 d
  4.       Set SwApp = Application.SldWorks
    6 W% _$ T. q+ ?$ c% W' P" C
  5.       Set SwModel = SwApp.ActiveDoc. n' c4 R; v( ?2 X1 J5 u4 O
  6.    Dim SwDraw As DrawingDoc, SwView As View3 R- g& u( q! f: K8 x6 Z1 J$ Q
  7.       Set SwDraw = SwModel# x, m% z" b6 V. {
  8.       Set SwView = SwDraw.GetFirstView
    , q; n( D" x# u/ g: K
  9.       Set SwView = SwView.GetNextView
    ) Z1 c# Q! `% Q5 O" G; T' g" P
  10.    Dim ConfName
    3 n! E3 B  x( y* I
  11.       ConfName = SwView.ReferencedConfiguration
    % z+ E  f2 V! S% r
  12.       Set SwView = SwView.GetNextView5 g! [/ Z; v: G  f5 G5 p4 m( K; j
  13.       SwView.ReferencedConfiguration = ConfName: j+ t& S% [9 D( D$ T2 H3 U2 h
  14.       Debug.Print SwView.Name9 `! a+ d9 r* g
  15.       
    + c7 g  T$ q2 L( s- B
  16.    Dim SwSelMgr As SelectionMgr, Names. x. S* M# c% V. L
  17.       Set SwSelMgr = SwModel.SelectionManager
      s2 r0 U  C. x+ O. |6 }4 ]- [/ @
  18.    Dim SwFeat As Feature, SwBomFeat As BomFeature, tmp4 v+ U% }6 y4 c
  19.       tmp = SwModel.Extension.SelectByID2("VesselBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)0 z- L6 S" K8 X  N4 a" F; X' F
  20.       'tmp = SwModel.Extension.SelectByID2("SaddleFBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)) l. J* L/ o  ?( ?0 G) z
  21.       'tmp = SwModel.Extension.SelectByID2("SaddleSBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)7 _5 ?, P7 I- w7 ?8 o+ C0 l
  22.       Set SwBomFeat = SwSelMgr.GetSelectedObject5(1)$ f+ w" x, S4 j- f4 T! l
  23.       Set SwFeat = SwBomFeat.GetFeature
    " G* J, p% a5 a9 p
  24.       ''  `1 ?2 _& O' O+ i5 m  F
  25.       Names = SwBomFeat.GetConfigurations(False, Visible)
    * Y3 ]& i+ u: n  \! m
  26.       For jj = 0 To UBound(Names)
    5 u: ~: \+ t/ J! h% o
  27.          If Names(jj) = ConfName Then 'SwView.ReferencedConfiguration Then4 }& u0 g5 c3 s' F% L) z* d# U
  28.             Visible(jj) = True( W# d% f, ~. I
  29.             Exit For
    ! D5 Z# u9 ]' I: p; R
  30.          End If
    $ B7 e/ s2 V. M0 _/ h/ B
  31.       Next jj
    : U# i# B7 x8 b% y/ _
  32.       ''" w4 e9 A6 {5 a: D% T+ ?: L" v
  33.       BoolStatus = SwBomFeat.SetConfigurations(False, Visible, Names)
    ! F* _& V/ `+ [$ X  |
  34.    Dim SwTabAnn As TableAnnotation
      D3 o& |1 a8 w. r! j
  35.       Set SwTabAnn = SwBomFeat.GetTableAnnotations(0)' @: @4 y3 Q. j
  36.       BomTitle SwTabAnn
    2 S5 h$ p- C) L; j
  37.       * E" d% k+ S* k* j
  38. End Sub# C+ X* z& P' r

  39. $ A# Y- L* z, U. t# H: v
  40. ''
    ' B/ `# X- H+ ]9 z+ u* Q. P
  41. Function BomTitle(SwTabAnn As TableAnnotation)8 r" X: Z4 J* K
  42.    Dim cArr, Arr& L. C4 W0 P8 K1 n
  43.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", "模型质量", "小计①", "下 料 尺 寸", "下料质量", "小计②", "②-①")6 i& t  Z$ U7 T+ c
  44.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", " ⑴", "①", "下 料 尺 寸", " ⑵", "②", "②-①")- a0 `* y# z5 B% Q% u9 ~& L
  45.        cArr = Array("序号", "图号或标准号", "名        称", "数量", "材  料", " ⑴", "⑵", "下 料 尺 寸", " ①", "②", "②-⑵")8 c+ B: P1 I/ Y" P% F0 [6 N
  46.        Arr = Array("序号", "图号", "名称", "数量", "材料", "质量", "", "下料尺寸", "下料质量", "", ""): }( o9 i7 G1 B5 k' ?2 ~
  47.    Dim wArr5 M6 S$ N8 B+ A# a" i$ S2 ~' ]
  48.        'wArr = Array(8, 20, 50, 8, 25, 12, 12, 40, 12, 12, 11)) E9 t+ B7 E* j, I& e
  49.        wArr = Array(8, 17, 45, 8, 18, 10, 10, 35, 10, 10, 9)
    5 Y6 o: \/ g, Q+ e+ f
  50.   Dim TextFormat As TextFormat
    1 k& n4 |; B4 J' }3 Q( p
  51.       With SwTabAnn
    * x% i2 _; S4 {$ l
  52.          ''2 u+ h  I# }' e. d# q
  53.          For jj = 0 To .ColumnCount - 2% C( l- h6 }$ |- o5 @8 E9 ^: K
  54.             .SetColumnTitle jj, cArr(jj)
    ' }) A6 A5 m: G1 i) J2 K' o9 k7 q  ?
  55.             .SetColumnWidth jj, wArr(jj) / 1000, 0. k6 b+ x5 p- D) x+ T/ Z
  56.             .SetColumnCustomProperty jj, Arr(jj), o, A1 B2 k! M+ v$ r
  57.          Next jj
    - Z8 Z, J4 a3 ~* \3 v1 r+ Z
  58.          ''
    ' g9 ]! F0 y- {
  59.          For ii = 0 To .RowCount - 26 ^/ z! z1 x4 u* b+ q! `$ i2 n! A3 ?
  60.              For jj = 0 To .ColumnCount - 1
    5 s0 A- A1 B' p: `* R8 ~1 f% C* t9 G
  61.                Select Case jj
    . A& ?+ k$ s0 T: d- w$ V; y! h0 e
  62.                   Case 2
    : a4 F  x- x6 H
  63.                      .Text(ii, jj) = " " & Trim(.Text(ii, 2))7 |3 Q% f) ]$ J
  64.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationLeft0 k; k# p% P" Q( d1 }/ b1 ~* s
  65.                   Case Else9 R& H* s7 T- i4 i
  66.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationCenter9 @. K, C: _4 E$ A; l( a
  67.                End Select5 {/ q; J# d& G% L- {( G+ c; ]- \
  68.                ''3 G2 }6 T  r& m) {
  69.                Set TextFormat = .GetCellTextFormat(ii, jj)" E1 c/ X' c" N  S8 {6 I- v
  70.                With TextFormat& M. V0 p- I/ e; b5 K
  71.                   .CharHeight = 2.8 / 1000- p- q- D" q; T
  72.                   .WidthFactor = 0.8
    / J: {8 e' u$ X3 ~8 W3 `; e
  73.                   .TypeFaceName = "宋体"( r' o9 O/ M  C8 o% e' x
  74.                   If ii = SwTabAnn.RowCount - 1 Then) c7 O1 L2 B5 m
  75.                      .Bold = True+ {* Y* J# y( _/ v- h* M
  76.                   Else  w0 b, G! R; s% w6 m# o
  77.                      .Bold = False
    1 B/ i" ^9 n# v0 u! v4 X
  78.                   End If& f( }' ^+ G$ n' ^& {7 ^. @% ~
  79.                End With# p0 V" |4 p; B3 d0 a# J; E
  80.                .SetCellTextFormat .RowCount - 1, jj, False, TextFormat: Q9 y5 @5 P8 ^" u7 ?9 m
  81.              Next jj
    . Q, T' X5 P, J! v8 I# a% X7 B" ?
  82.              ''6 ]/ P% ?! H6 K6 {2 N
  83.            If .Text(ii, 3) <> "-" Then* e. [& Z4 N& X0 y. S" S6 c0 n! _: M0 k
  84.              If .Text(ii, 3) = 1 Then
    0 t* N3 Z8 e$ z6 l' a8 C7 D
  85.                   If Val(.Text(ii, 5)) > 0 Then
    . K5 x* x( W& t8 S$ j
  86.                      .Text(ii, 6) = Format(.Text(ii, 5), "0.0#"); j. z7 t. D: }1 b! h
  87.                      .Text(ii, 5) = " " 'Format(.Text(ii, 5), "0.0#")8 N/ |: H$ A1 j
  88.                   End If, N% g6 [# U( ^+ D. K, z- e: \
  89.                   '', y# t' _/ ~+ E. g2 |
  90.                   If Val(.Text(ii, 8)) > 0 Then6 v( e7 o; U1 }, d+ _" l
  91.                      .Text(ii, 9) = Format(.Text(ii, 8), "0.0#")  a! I9 C$ K+ z/ v% _# V1 D) r" M
  92.                      .Text(ii, 8) = " " 'Format(.Text(ii, 8), "0.0#")
    # V$ q( e  w4 I4 J: ]. R. P" s
  93.                   End If- a0 w. ]+ S* p/ ~$ I4 N
  94.              Else
    ( L  V  L+ R$ Y( R5 W
  95.                  .Text(ii, 5) = Format(.Text(ii, 5), "0.0#")
    9 L6 l7 @# L0 J! B3 W$ V8 S& r* I
  96.                  .Text(ii, 8) = Format(.Text(ii, 8), "0.0#")" R6 Z# g3 z  M9 b& ?; i# s5 r0 C
  97.                  .Text(ii, 6) = Format(.Text(ii, 5) * .Text(ii, 3), "0.0#")! O% P6 K- T- E/ Y" W5 n, c
  98.                  .Text(ii, 9) = Format(.Text(ii, 8) * .Text(ii, 3), "0.0#")
    + Z( T" R: [0 `) o" }6 h
  99.              End If7 I* V' Z$ R% M  A5 ]0 ~
  100.              If .Text(ii, 7) <> "" And Val(.Text(ii, 9)) > 0 Then
    & i$ u$ L6 R- a6 m3 W# v3 C  G5 \7 e
  101.                  .Text(ii, 10) = Format(Val(.Text(ii, 9)) - Val(.Text(ii, 6)), "0")0 U, A- {4 Q0 M4 t7 Y) p& m
  102.              Else8 J; B' v. w/ R) V
  103.                  .Text(ii, 8) = " "" f4 u) Z! @# `1 ~! l/ T9 L9 t
  104.                  .Text(ii, 9) = " "/ C! k! b* r7 `4 S) C
  105.              End If
    4 N' l" |1 }6 O& z* H
  106.            End If
    . |' ^6 t2 }# r2 H7 x' J
  107.          Next ii
    , i7 T+ ]' a' H; X$ J% p
  108.          ''
    5 |3 p# B8 @  U$ I% H
  109.          For ii = 0 To .RowCount - 13 E0 w' A) n) m! z8 v7 B
  110.              .SetRowHeight ii, 5 / 1000, 08 a, v8 z  Z% ^" r" R9 x
  111.          Next ii1 `3 S& ]% Y/ X- s6 \7 Y
  112.          ''
    : e) i$ a& f" s, ?; B/ w) N
  113.       End With# ~4 F: w& g# p3 ~
  114.       , [$ `% ?& p& Q! b
  115. End Function
    3 \0 q4 P7 _/ ]# n# x* S

  116. $ M6 e9 F/ J" f" s
  117. 6 |' N+ t. b  {5 j7 }
复制代码
5 N- \( ]: [0 ]
1 ^: S, L* v& T

# R1 f7 P) `& d1 H) |6 l6 c
 楼主| 发表于 2015-8-31 14:21:23 | 显示全部楼层 来自: 中国甘肃兰州
原材料明细表没问题) x) P! V* p5 ~4 `& j7 d# O# m! I0 M
0.jpg
0 A2 p: Z: A4 O0 `3 K3 `+ ]! Z7 E. g& r" }9 S! d$ q% L! N8 z8 d5 t
运行API后出现问题3 \1 Z* o9 }4 Y% N6 C- A: m

. [- G- L! f4 n8 u5 D/ N( H 1.jpg
1 y: q5 \) @! B. a8 t6 [8 L  M0 ]' ~. G0 A8 b
发表于 2015-8-31 16:16:07 | 显示全部楼层 来自: 中国北京
我们还出现过负值和小数,代理商已经把问题发SW美国总部,以后就再没消息了
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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