QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在材料明细表中,产生零值的原因是什么?
  L1 H4 W+ A7 X9 e6 T* A8 B
: X5 \/ A/ j% e 1.jpg 5 ?& A" n8 P1 c+ A
\
! Z; t6 S* V. J4 W4 s/ h6 _4 {
+ A2 M2 o, i" P; E# [4 A2 L6 e4 |
* U9 u8 t4 q9 N% Z  A- n& a) j; w( }2 x: f# v

" }$ ?$ I. A1 Y
 楼主| 发表于 2015-8-31 13:50:05 | 显示全部楼层 来自: 中国甘肃兰州
本帖最后由 ning84 于 2015-8-31 14:09 编辑
% a$ t1 d: q# x. I% V3 c" }3 r7 `
与版本没有任何关系。Sw2013照样也出现同样问题。
8 {: g3 R& B0 \0 z出现这个问题的原因是运行了这段API程序
5 J5 r. Q7 B* v4 i. @  q4 j! l" q& a& D) V& V
  1. 8 r" E( I, h' j$ \: l  p
  2. Private Sub proceBom()( {$ _3 f* O. O* D+ C/ b2 N
  3.    Dim SwApp As SldWorks.SldWorks, SwModel As ModelDoc20 X- y$ x, j$ q! Y. z6 H3 W, R
  4.       Set SwApp = Application.SldWorks8 Z. C6 O9 @4 {8 c
  5.       Set SwModel = SwApp.ActiveDoc
    1 w( s8 Z# z. o  W6 v; k3 E
  6.    Dim SwDraw As DrawingDoc, SwView As View" u3 O3 A9 ^1 r0 J/ Y
  7.       Set SwDraw = SwModel3 s: N, O% d+ h+ _& a: V
  8.       Set SwView = SwDraw.GetFirstView
    8 \! h0 G" Q) f7 c* E! y# l
  9.       Set SwView = SwView.GetNextView
    ( J' X6 \9 C* g, ~- Y+ ]
  10.    Dim ConfName
    % ?7 o- j9 c! ?% J+ t
  11.       ConfName = SwView.ReferencedConfiguration
    3 B) i4 P9 K, g
  12.       Set SwView = SwView.GetNextView, u! Q1 P" I" t2 L% N) f
  13.       SwView.ReferencedConfiguration = ConfName  u% b) \. {( k" z! D% x: |
  14.       Debug.Print SwView.Name+ U  S) F+ |8 B9 Y- h. i
  15.       
    + H3 Z4 X/ a% S" Y8 F% \  |$ h6 S
  16.    Dim SwSelMgr As SelectionMgr, Names
    # u7 x% @) U* q) ~- k
  17.       Set SwSelMgr = SwModel.SelectionManager! M7 Z# {, B, @+ T9 f: c& h9 ^
  18.    Dim SwFeat As Feature, SwBomFeat As BomFeature, tmp2 Y, C" A; P2 m/ Y( |  D9 L
  19.       tmp = SwModel.Extension.SelectByID2("VesselBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0). ]7 o; o# H% `' M
  20.       'tmp = SwModel.Extension.SelectByID2("SaddleFBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    9 ^  C( p+ `/ r( l0 b% c
  21.       'tmp = SwModel.Extension.SelectByID2("SaddleSBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    5 R: s% v) g$ x$ o# W' J' z
  22.       Set SwBomFeat = SwSelMgr.GetSelectedObject5(1)# a, P3 g/ q! X% u5 ^, t7 P& q6 K
  23.       Set SwFeat = SwBomFeat.GetFeature# ~6 O) I/ _0 W6 P; I
  24.       ''0 w0 G5 m, w- U5 ], O$ \
  25.       Names = SwBomFeat.GetConfigurations(False, Visible)" }6 P- ~+ Z' `  C- o. y3 W
  26.       For jj = 0 To UBound(Names)
    + i' |. J( t; l  P/ v) \+ O
  27.          If Names(jj) = ConfName Then 'SwView.ReferencedConfiguration Then  K+ N/ V; B- K" Y- l% {
  28.             Visible(jj) = True: V) V5 t/ M$ b, F& J8 ^* y
  29.             Exit For4 ^% Q. J! b. F4 Q2 b
  30.          End If
    / G/ e2 k" J0 i5 n" z9 Z
  31.       Next jj0 R1 z% p& p, }* F/ V8 ^3 V* R# m3 L
  32.       ''( c, N9 H0 P1 t$ [9 B( O9 R
  33.       BoolStatus = SwBomFeat.SetConfigurations(False, Visible, Names)
      Y5 S! R5 {' W. E- U% P0 a) h4 I
  34.    Dim SwTabAnn As TableAnnotation
    & b; A. u6 X) z1 I4 S
  35.       Set SwTabAnn = SwBomFeat.GetTableAnnotations(0)
    8 q0 @, |6 n/ o' s( l
  36.       BomTitle SwTabAnn
    ' l, B, v- `2 Z; m
  37.       2 q. c' H) c" A* q; T/ a3 C. j
  38. End Sub" ~" b* y8 A! f4 j% W# n: V
  39. / \6 I- l% z5 z: r; j* w
  40. '', P: ^$ l3 O, G) W  b6 v. i
  41. Function BomTitle(SwTabAnn As TableAnnotation)- M) i2 F2 p, p. Y: `. f4 ?7 Z( G
  42.    Dim cArr, Arr
    ; ]4 O. b' O8 ~5 w, M, h1 L# {! S
  43.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", "模型质量", "小计①", "下 料 尺 寸", "下料质量", "小计②", "②-①")
    - T% h' n- Y, }3 y/ \6 J# |  r
  44.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", " ⑴", "①", "下 料 尺 寸", " ⑵", "②", "②-①")
    0 L- g5 c+ i9 ~. f$ F' b' `. h
  45.        cArr = Array("序号", "图号或标准号", "名        称", "数量", "材  料", " ⑴", "⑵", "下 料 尺 寸", " ①", "②", "②-⑵")
    - m& s" |. \: S, h& a" h0 |
  46.        Arr = Array("序号", "图号", "名称", "数量", "材料", "质量", "", "下料尺寸", "下料质量", "", "")$ e$ Z* t5 h/ p  [5 D5 s  Z1 v
  47.    Dim wArr" T) w: |1 v1 s
  48.        'wArr = Array(8, 20, 50, 8, 25, 12, 12, 40, 12, 12, 11)
    ! a! _' B1 W) L, d' B9 I/ ~
  49.        wArr = Array(8, 17, 45, 8, 18, 10, 10, 35, 10, 10, 9)
    + T# `: c2 J, z4 W9 |* b, [
  50.   Dim TextFormat As TextFormat
    " S$ q, R$ g8 d( }
  51.       With SwTabAnn* z0 L& S0 ]6 h3 W: h0 P
  52.          ''6 q7 T2 o$ I8 u# r7 \/ g' k7 [, H
  53.          For jj = 0 To .ColumnCount - 2
    $ r, d0 r7 L; D
  54.             .SetColumnTitle jj, cArr(jj)- |$ d& A% A9 F
  55.             .SetColumnWidth jj, wArr(jj) / 1000, 0
    8 q( z9 D# K5 N
  56.             .SetColumnCustomProperty jj, Arr(jj)- V8 b) v; Q' F; o6 y$ d9 z
  57.          Next jj
    7 @' a& w4 }, \
  58.          ''% `% H$ W. D  G  n( k* L' _( b8 ~
  59.          For ii = 0 To .RowCount - 2# v5 t1 N. O& o+ N% z: U5 p( G8 h* |
  60.              For jj = 0 To .ColumnCount - 17 ]. |3 \; w! o$ O( u& f" ]* L
  61.                Select Case jj
    8 c$ N/ j2 _, T5 ~& I8 ^* H
  62.                   Case 2, C, H- F$ @3 D7 w# j! c; x
  63.                      .Text(ii, jj) = " " & Trim(.Text(ii, 2))
    6 h) y, J% j7 Y9 f3 w& b, c/ ?
  64.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationLeft
    + b+ u& |+ J2 I9 q  q
  65.                   Case Else
    . R5 X* D: G- K# h0 k
  66.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationCenter
    4 Q2 e2 M+ }- r% o  T5 y
  67.                End Select1 M$ x0 Q# W1 j
  68.                ''0 y8 |0 |6 b0 O# v# G: P  Y
  69.                Set TextFormat = .GetCellTextFormat(ii, jj)3 E. p- |6 ?$ O! t
  70.                With TextFormat
    ' n0 S4 L% n' S+ r1 t& W& s- H
  71.                   .CharHeight = 2.8 / 1000! p  `. X: l5 l1 c+ a
  72.                   .WidthFactor = 0.87 k; o6 X1 ^2 I6 d) A' ]& l
  73.                   .TypeFaceName = "宋体"& a" d+ z+ s4 \1 C! d3 g
  74.                   If ii = SwTabAnn.RowCount - 1 Then7 U/ {& `7 P% ?& @2 D! b1 {. p
  75.                      .Bold = True6 z2 _  }' g; I4 ^$ g1 p
  76.                   Else
    - Y) Q8 c  R) X: ~' n  h
  77.                      .Bold = False
    # {# W) S& O) j0 Z1 n* N
  78.                   End If9 k2 q9 e/ R4 u. Q3 L
  79.                End With; V  ?% a6 O; P5 W& N
  80.                .SetCellTextFormat .RowCount - 1, jj, False, TextFormat1 Y  \1 K  }2 Q; S- g" z( O
  81.              Next jj4 x, y6 n+ @7 x6 u% w
  82.              ''
    ' S3 u5 A7 W3 _. u: k% _* W
  83.            If .Text(ii, 3) <> "-" Then
    : p; ]& k) T- u2 f  A
  84.              If .Text(ii, 3) = 1 Then4 y# i& b6 D' H0 y( M
  85.                   If Val(.Text(ii, 5)) > 0 Then  V: ^- o3 u9 `4 {
  86.                      .Text(ii, 6) = Format(.Text(ii, 5), "0.0#")4 \7 V* z2 K+ m* S9 l/ V
  87.                      .Text(ii, 5) = " " 'Format(.Text(ii, 5), "0.0#")+ f! w1 g, Z4 l) l/ I# X
  88.                   End If. [+ b6 A+ _- H8 u) L- y0 W
  89.                   ''
    2 Z% z4 m0 Y* p" y
  90.                   If Val(.Text(ii, 8)) > 0 Then
    : k* o7 {1 C) H
  91.                      .Text(ii, 9) = Format(.Text(ii, 8), "0.0#")
    * ]9 k& E0 [& f. G$ q+ X, l: u
  92.                      .Text(ii, 8) = " " 'Format(.Text(ii, 8), "0.0#")
    $ y( @+ H1 |2 l- N* |
  93.                   End If2 ?% z* r0 H  ?5 C1 M: C
  94.              Else
    $ z) x0 e$ Y: U& x2 Y
  95.                  .Text(ii, 5) = Format(.Text(ii, 5), "0.0#")
    2 t/ E! \: @0 a- ~, V+ W1 G) y
  96.                  .Text(ii, 8) = Format(.Text(ii, 8), "0.0#")
    0 B* l4 ^$ j! M* y; e
  97.                  .Text(ii, 6) = Format(.Text(ii, 5) * .Text(ii, 3), "0.0#")! W* I8 b  o8 j. D& ~. g
  98.                  .Text(ii, 9) = Format(.Text(ii, 8) * .Text(ii, 3), "0.0#")5 T' t- z" m# C" ]) u- b7 y
  99.              End If
    ; l" j: ~0 V9 [$ v
  100.              If .Text(ii, 7) <> "" And Val(.Text(ii, 9)) > 0 Then. l( Z/ |0 A. m0 n: w0 i! f3 v  \/ r
  101.                  .Text(ii, 10) = Format(Val(.Text(ii, 9)) - Val(.Text(ii, 6)), "0")
    . e/ O2 s* v% {0 E8 J# o) `. i: `0 o
  102.              Else
    % P0 ]; y9 O9 ^: d3 l8 o% t
  103.                  .Text(ii, 8) = " "
    / V! M; J, ^; R. _
  104.                  .Text(ii, 9) = " "( ~, _4 C1 f1 Q1 b, ?5 N, E) Z
  105.              End If2 F. {' A' u8 P$ o
  106.            End If  G3 ~1 r" |2 k# g
  107.          Next ii
    9 g+ ~0 E0 o" s7 q; k1 M. k
  108.          ''# j% ?. q8 A4 a5 \8 c# ]9 }* d- }* s) X
  109.          For ii = 0 To .RowCount - 15 {) W; w. z) k6 A
  110.              .SetRowHeight ii, 5 / 1000, 0
    * N- v5 V/ j0 Z; u6 p6 J
  111.          Next ii4 w: K- N. I* Z0 h
  112.          ''
    - R) y1 _. S. a4 o
  113.       End With
    " l9 ^; x4 N! u( m  C
  114.       , a+ H1 T8 [0 j/ c7 `: a% Y1 L
  115. End Function
    6 S* A( g# z% Q
  116. 7 E+ \: s, B( V" b7 l$ M
  117. * g4 U% y* k- L
复制代码

1 I, a' V% v3 E% A$ `8 X' q. h. q. z; m4 N% L; f% u
% d! _* {" X% D; ?+ u9 K
 楼主| 发表于 2015-8-31 14:21:23 | 显示全部楼层 来自: 中国甘肃兰州
原材料明细表没问题
* h/ [. |  ~; x& y 0.jpg
7 U$ U0 ]5 k+ U: F  @1 V
, K* X8 s  j5 K运行API后出现问题5 n) J* [! G4 L+ ~  `

9 @) P$ n( y' z7 h* j 1.jpg . h+ n: H5 K, M& r5 d' ?+ f

; M  E4 F! o3 C- t. Q- b' 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 )

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