QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在材料明细表中,产生零值的原因是什么?
# o3 S* L) O$ Y- z/ u( G0 n( f( Q% T5 p1 i' {( y
1.jpg / K3 Z+ U$ B( Q2 B
\! K7 z8 `' ?$ K' g! C3 }1 r

, G/ b6 n6 h- D, ~1 Y+ j" t! n1 p2 U3 G
' g/ g. B8 G3 `7 f" l: t/ w) B

- i# F" o4 u$ Q$ Q
 楼主| 发表于 2015-8-31 13:50:05 | 显示全部楼层 来自: 中国甘肃兰州
本帖最后由 ning84 于 2015-8-31 14:09 编辑
8 P- o$ y% s- Y2 X/ K7 c7 [) g3 y' I$ P/ o' ^# l4 B* J2 Q& C
与版本没有任何关系。Sw2013照样也出现同样问题。
9 \7 F% _8 ^0 D% a( d* c& K: @出现这个问题的原因是运行了这段API程序
, g$ m0 {& q3 m" [* y
7 |% B# q: N  W/ X# ?* `, E% b  T
  1. ; \) j$ P( y7 b4 I- F- _+ ~
  2. Private Sub proceBom()2 |- [+ w( R+ P
  3.    Dim SwApp As SldWorks.SldWorks, SwModel As ModelDoc25 U1 m' x$ [0 l) i
  4.       Set SwApp = Application.SldWorks$ Y2 L$ m3 i! c4 y: X# r0 W
  5.       Set SwModel = SwApp.ActiveDoc- n+ L% R: P$ X! J2 C& q
  6.    Dim SwDraw As DrawingDoc, SwView As View: N/ Z* B0 d: I) R* ?2 K
  7.       Set SwDraw = SwModel9 U5 {9 d! T8 V2 O6 V+ V
  8.       Set SwView = SwDraw.GetFirstView
    ) Y& I! E7 z) E+ n: a& Z5 B2 d
  9.       Set SwView = SwView.GetNextView
    6 s& h+ o% L4 i. M
  10.    Dim ConfName
    / Z5 p$ o0 h1 F4 f: ~2 ?) c. W
  11.       ConfName = SwView.ReferencedConfiguration
    / l1 w' B' \! Q
  12.       Set SwView = SwView.GetNextView
    ' {2 K+ B% Q+ [; ?/ K
  13.       SwView.ReferencedConfiguration = ConfName
    2 F+ }" t. Q8 v
  14.       Debug.Print SwView.Name
    7 r1 c; d2 Y7 t; Z
  15.       
      N, h; x: |! ^5 `: h. U# v5 R/ T
  16.    Dim SwSelMgr As SelectionMgr, Names
    2 g  ~/ b5 r1 E4 c9 O
  17.       Set SwSelMgr = SwModel.SelectionManager
    $ O% ^, u7 r: `9 O/ G
  18.    Dim SwFeat As Feature, SwBomFeat As BomFeature, tmp; ?* o& I/ T: Z
  19.       tmp = SwModel.Extension.SelectByID2("VesselBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    , O1 L- k# A8 O7 K. j
  20.       'tmp = SwModel.Extension.SelectByID2("SaddleFBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    - \. Z; S1 b& x  y8 l% Q4 I: o& d3 q
  21.       'tmp = SwModel.Extension.SelectByID2("SaddleSBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    . e9 V5 z- r! r8 u7 V
  22.       Set SwBomFeat = SwSelMgr.GetSelectedObject5(1)+ _; B( C; `% C, Q, u8 W
  23.       Set SwFeat = SwBomFeat.GetFeature0 C! |: F+ {5 D6 t8 i% `) O, r
  24.       ''
    ! X  ~9 f/ C' C4 w
  25.       Names = SwBomFeat.GetConfigurations(False, Visible)
    $ K6 `/ _+ `/ Y9 y
  26.       For jj = 0 To UBound(Names)" q" X6 L) Y2 N. ^
  27.          If Names(jj) = ConfName Then 'SwView.ReferencedConfiguration Then4 E. G/ f, L# W1 [! S( C
  28.             Visible(jj) = True% @& X3 T/ I. N$ G
  29.             Exit For
    2 e- n7 u1 O! O. g' F
  30.          End If
    + y4 B  V& B& `' j2 ]
  31.       Next jj
    ) @% r2 N4 F6 ?5 l- L
  32.       ''
    7 j. ~9 t4 q% Y, w
  33.       BoolStatus = SwBomFeat.SetConfigurations(False, Visible, Names)
    7 V& i, ^, ^- L- R6 n- H! D
  34.    Dim SwTabAnn As TableAnnotation9 x1 l+ Y1 E+ ?( T  p) S0 q( H
  35.       Set SwTabAnn = SwBomFeat.GetTableAnnotations(0)
    2 n' L* K% C: m9 j0 a8 ^3 y
  36.       BomTitle SwTabAnn
    & z0 q' C7 v& s1 A% Q& G
  37.       9 }1 }  T9 r8 u! ~. w6 P
  38. End Sub: h& A4 n5 U( ?1 n; l" [

  39. : B0 Q- \- k/ }+ ^
  40. ''
    1 c' V+ P, K/ z+ L; l$ X9 H
  41. Function BomTitle(SwTabAnn As TableAnnotation)
    6 ?8 }2 G, @  n% O: C
  42.    Dim cArr, Arr- `' H; u) [3 _+ ]5 _( R, A/ j
  43.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", "模型质量", "小计①", "下 料 尺 寸", "下料质量", "小计②", "②-①")3 u1 ^4 X* i9 t3 o$ l
  44.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", " ⑴", "①", "下 料 尺 寸", " ⑵", "②", "②-①")
    ' J! v' g6 L' i7 v, w
  45.        cArr = Array("序号", "图号或标准号", "名        称", "数量", "材  料", " ⑴", "⑵", "下 料 尺 寸", " ①", "②", "②-⑵")
    ; p. Y$ F* m8 o' c- K& C
  46.        Arr = Array("序号", "图号", "名称", "数量", "材料", "质量", "", "下料尺寸", "下料质量", "", "")
    / ]" A4 f5 z+ j
  47.    Dim wArr
    / N! o6 m; A" ~. l: R
  48.        'wArr = Array(8, 20, 50, 8, 25, 12, 12, 40, 12, 12, 11)
    : ^4 u7 A& g- Y6 @
  49.        wArr = Array(8, 17, 45, 8, 18, 10, 10, 35, 10, 10, 9)/ l5 j6 Z5 K2 R# H3 {" }) q
  50.   Dim TextFormat As TextFormat
    9 n. Q- U# @' [) d
  51.       With SwTabAnn2 k+ \- I( `" U: Q
  52.          ''0 Z( T( Q: ]% h8 [$ p. \
  53.          For jj = 0 To .ColumnCount - 27 d, P1 X! o! k0 s  Q
  54.             .SetColumnTitle jj, cArr(jj), V) H# @1 m# o' I- z9 |6 {
  55.             .SetColumnWidth jj, wArr(jj) / 1000, 02 t6 X! t3 D9 a0 v9 Z
  56.             .SetColumnCustomProperty jj, Arr(jj)! V% i' Q8 m  ^4 v# ^( M1 B1 p
  57.          Next jj
    ! c6 ~2 _  V+ K* r4 H+ S2 }
  58.          ''. W- _. f; ?8 p  K  x7 Y
  59.          For ii = 0 To .RowCount - 2
    $ [# \* l$ _& }+ G  e+ K. C" J* ~" {. k
  60.              For jj = 0 To .ColumnCount - 1# b8 F* `# x1 `+ @
  61.                Select Case jj
    7 x4 z7 A: |* F. W
  62.                   Case 2
    ' n4 `' ?8 h  g
  63.                      .Text(ii, jj) = " " & Trim(.Text(ii, 2))3 Y: l# n/ B3 j
  64.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationLeft" t+ `- Q# @9 l# s( Z6 p6 ]$ {) H
  65.                   Case Else
    ; x/ d" ~" G  Y, @3 P' ~
  66.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationCenter
    0 J, N  W# }2 S7 K! j/ N- ^* B5 a
  67.                End Select5 _. S, ~' P5 S* P& O
  68.                ''
      G8 Q0 Z; d6 V% J4 h' Z1 \
  69.                Set TextFormat = .GetCellTextFormat(ii, jj)
    6 k. x# j! ~; l/ m, e
  70.                With TextFormat  h, `& G: X: N
  71.                   .CharHeight = 2.8 / 1000
    & V" y/ K: Z4 \4 K  C* x; I
  72.                   .WidthFactor = 0.8- p. A) B- Z1 \5 y
  73.                   .TypeFaceName = "宋体"  G- [+ h0 w* P" W$ ]
  74.                   If ii = SwTabAnn.RowCount - 1 Then
    * X* r  u/ q( H6 B7 {
  75.                      .Bold = True
    ( t/ `4 y% H2 ^; L0 H5 t. c: O& X
  76.                   Else) G. F3 Q+ N, O8 Y& a9 F* x
  77.                      .Bold = False2 d) n* X! M. O- L( j: ?; t
  78.                   End If
    0 l% h3 Z3 \) N. g6 b
  79.                End With+ c6 H3 i$ E6 l7 g( b2 @1 C" |
  80.                .SetCellTextFormat .RowCount - 1, jj, False, TextFormat+ Z, O" {8 K+ ~/ C* S
  81.              Next jj& ~9 t7 q1 r- {+ D
  82.              ''% k  y- s. p) z. G" I; F
  83.            If .Text(ii, 3) <> "-" Then
    : @; O( s7 Y# B- y) I9 J
  84.              If .Text(ii, 3) = 1 Then
    7 M/ D1 _4 l9 n% M; |
  85.                   If Val(.Text(ii, 5)) > 0 Then
    ) W* J" c9 w7 T' x  b7 N; M8 M+ W+ e
  86.                      .Text(ii, 6) = Format(.Text(ii, 5), "0.0#")7 H& C% K* S$ X/ ^% w, C
  87.                      .Text(ii, 5) = " " 'Format(.Text(ii, 5), "0.0#")
    + V: W5 S. x" V) n
  88.                   End If/ V: V" \. `3 b2 S
  89.                   ''+ \% {* L% J  f# W( m6 F1 Y
  90.                   If Val(.Text(ii, 8)) > 0 Then
    7 z' T$ M* H/ Z% \
  91.                      .Text(ii, 9) = Format(.Text(ii, 8), "0.0#"): [' _* K4 Q% f4 u
  92.                      .Text(ii, 8) = " " 'Format(.Text(ii, 8), "0.0#")
    + {1 U  L# d. ]/ |
  93.                   End If
      a$ T" U' ^7 J, j
  94.              Else
    # k* \. T' v+ b/ q4 m
  95.                  .Text(ii, 5) = Format(.Text(ii, 5), "0.0#")7 h- ]2 \3 P0 C" m
  96.                  .Text(ii, 8) = Format(.Text(ii, 8), "0.0#")* v& h9 u% q, R% V& N9 ^2 C; V. K
  97.                  .Text(ii, 6) = Format(.Text(ii, 5) * .Text(ii, 3), "0.0#")
    . S& i4 B2 {8 R+ u4 |0 z2 {5 E
  98.                  .Text(ii, 9) = Format(.Text(ii, 8) * .Text(ii, 3), "0.0#"); W- M) t- {8 _4 t, _1 R9 x
  99.              End If
    $ f: ^* ^) P, M0 _0 g; u! X! ]
  100.              If .Text(ii, 7) <> "" And Val(.Text(ii, 9)) > 0 Then
    3 y% y2 [9 I9 J! n- X" n1 s
  101.                  .Text(ii, 10) = Format(Val(.Text(ii, 9)) - Val(.Text(ii, 6)), "0")
    7 r" W5 Q1 c9 ]& E, S' ^# o) \  k
  102.              Else
    & _8 |# j$ g9 ~4 u
  103.                  .Text(ii, 8) = " "9 d# u% _" r. a" u3 t7 a, [' `
  104.                  .Text(ii, 9) = " "! {! }: l4 ]* ^- E2 {# r( q# ~# K" ?; B
  105.              End If! k1 J: [" n2 ]: E# ~
  106.            End If
    9 r  J  n; b) u" m3 N: }. l
  107.          Next ii
    / d) H* ]! R' ?. T/ {: `6 M" e
  108.          '': V. J0 L3 j' X. U4 W5 S, B1 M
  109.          For ii = 0 To .RowCount - 16 |$ e8 d! Y1 \
  110.              .SetRowHeight ii, 5 / 1000, 04 S# \" \$ [, z
  111.          Next ii5 i: [7 x( ]$ t, F1 ~1 j% C
  112.          ''
    * E% F( A7 h  S
  113.       End With
    & u8 g7 a9 J% i) _0 i- w# j! W2 z
  114.       * N3 J& B) [  ]2 I( m# ]
  115. End Function: ]; m; y3 G/ |" I# o' V

  116.   ]7 ^/ B8 G: X( k
  117. 6 V, v2 T4 N! K- ~9 W
复制代码
- r' u9 Z+ o4 l  [3 n' ?# n

& H$ k# H  b- G3 l
0 j9 Q+ V1 W2 s; u$ i
 楼主| 发表于 2015-8-31 14:21:23 | 显示全部楼层 来自: 中国甘肃兰州
原材料明细表没问题  c  N( [2 D) ?% O# o& d' Q# W
0.jpg $ q  h& i# L9 Z* W

& Y6 e  A6 p+ }# e运行API后出现问题+ s2 {3 m) f3 f' _' _7 _

+ ^9 [; R) r4 D$ u/ i$ m* ~ 1.jpg
) S" G. C* m( V  O7 c$ e, z# X. b# V
发表于 2015-8-31 16:16:07 | 显示全部楼层 来自: 中国北京
我们还出现过负值和小数,代理商已经把问题发SW美国总部,以后就再没消息了
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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