QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在材料明细表中,产生零值的原因是什么?
! n# q  B9 X! T# m
: P' I2 g( p3 x5 o7 w7 v 1.jpg
7 ?1 e4 x! Y0 P0 g% h\9 L% h5 T: @) J& K4 L. O% @) ]5 L

( k: ?: y, d& e# `8 r9 D, F# _+ ?+ y( N. I2 l# N" N' U: M$ |
1 o, `; L3 h: m5 I& l

7 \9 f+ p9 }+ P, w) n. D
 楼主| 发表于 2015-8-31 13:50:05 | 显示全部楼层 来自: 中国甘肃兰州
本帖最后由 ning84 于 2015-8-31 14:09 编辑
* ]' m7 y! [* a# z/ m/ y; X  h
) B8 O* d  n" h- i! K与版本没有任何关系。Sw2013照样也出现同样问题。
+ V1 c7 C* l8 k; d7 W) t; F* F$ I出现这个问题的原因是运行了这段API程序4 L! X% H$ f" w8 t' h

* C/ A2 H0 m1 F+ _# _" @

  1. 2 M7 L9 g! q7 E) o* ?
  2. Private Sub proceBom()
    0 i+ Q, _- b7 a! m1 Z( ?+ s
  3.    Dim SwApp As SldWorks.SldWorks, SwModel As ModelDoc26 z8 F! n- g- _7 W* u) ?- |7 I
  4.       Set SwApp = Application.SldWorks( J. I9 G) Y% v2 A) y/ O% G4 T3 r2 G  {
  5.       Set SwModel = SwApp.ActiveDoc
    5 C3 }; A! b( }. f1 V
  6.    Dim SwDraw As DrawingDoc, SwView As View! h5 X* P9 N" ^- V* |
  7.       Set SwDraw = SwModel
    # u( H1 l' b: X3 n4 F. i! m, Z
  8.       Set SwView = SwDraw.GetFirstView
    * b: |" e1 a# s# O
  9.       Set SwView = SwView.GetNextView  D, [# s' Z  b4 W. q  y" H1 l$ z
  10.    Dim ConfName
    - w  A5 e! \2 k2 g" ~
  11.       ConfName = SwView.ReferencedConfiguration
    % ?' p9 q, v" z
  12.       Set SwView = SwView.GetNextView6 z& u5 @1 w* p8 h; n
  13.       SwView.ReferencedConfiguration = ConfName' }4 s# E9 S  B4 r/ k" F: l
  14.       Debug.Print SwView.Name1 Z: i+ \8 A& `" P; [
  15.       6 y( }4 D* c+ S4 m
  16.    Dim SwSelMgr As SelectionMgr, Names5 v  a! ?7 d, L, b% V
  17.       Set SwSelMgr = SwModel.SelectionManager
    & ]; b  N, ?8 t; P
  18.    Dim SwFeat As Feature, SwBomFeat As BomFeature, tmp( B+ e3 Q: A( I- V
  19.       tmp = SwModel.Extension.SelectByID2("VesselBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)  w& w- S2 M/ c: |5 L( h& g
  20.       'tmp = SwModel.Extension.SelectByID2("SaddleFBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)) }0 L8 U2 @  K. |- c1 y. W/ d# m: n
  21.       'tmp = SwModel.Extension.SelectByID2("SaddleSBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    7 P* j6 T: n3 ]  l$ }7 Z& Q7 T
  22.       Set SwBomFeat = SwSelMgr.GetSelectedObject5(1)
    1 q3 \/ ]- C3 ]% L$ c
  23.       Set SwFeat = SwBomFeat.GetFeature8 x8 a0 a& N6 c- {3 ?
  24.       ''
    7 q! h  o  @! E0 X
  25.       Names = SwBomFeat.GetConfigurations(False, Visible)
    # p1 A' G9 c( V& Q. e" C% v5 Z
  26.       For jj = 0 To UBound(Names)1 _: ]! P3 {# Q$ \* P; K5 _5 k
  27.          If Names(jj) = ConfName Then 'SwView.ReferencedConfiguration Then( P3 |7 E2 ]) Z5 X( t
  28.             Visible(jj) = True0 T2 L& q7 E. F) `  F/ _
  29.             Exit For- z9 O2 m0 F4 s1 ^1 {! B' o6 ~
  30.          End If
    # y  a, ], p' R: g; y; i
  31.       Next jj4 e: `8 q& f: M2 {) J7 g
  32.       ''7 N3 ]( v  v/ u" q2 J& A5 _
  33.       BoolStatus = SwBomFeat.SetConfigurations(False, Visible, Names)' R1 w; s$ @# M4 f# _' x
  34.    Dim SwTabAnn As TableAnnotation: ~! Z: f- R9 f& {
  35.       Set SwTabAnn = SwBomFeat.GetTableAnnotations(0)9 o% d; N# _' P* I4 W
  36.       BomTitle SwTabAnn" P1 [+ Q4 ^. |! K
  37.       : H/ _* J$ H, T' H% ~
  38. End Sub
    . x8 f0 K+ j& g5 v4 |) r4 ?) g3 n
  39. , A3 P9 E% u3 J% i9 X
  40. ''* [. w7 J! i& l# N0 N& |) _( y; w- H
  41. Function BomTitle(SwTabAnn As TableAnnotation)
    8 o% L2 f& B; I; D9 i, \
  42.    Dim cArr, Arr2 U& h0 ?( R, d, X# w/ H
  43.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", "模型质量", "小计①", "下 料 尺 寸", "下料质量", "小计②", "②-①")0 P# y3 h! S" _+ h7 G
  44.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", " ⑴", "①", "下 料 尺 寸", " ⑵", "②", "②-①")6 ?7 Q+ X; B9 R# K' x2 R
  45.        cArr = Array("序号", "图号或标准号", "名        称", "数量", "材  料", " ⑴", "⑵", "下 料 尺 寸", " ①", "②", "②-⑵")
    ) V4 K9 v/ V( ]+ ~
  46.        Arr = Array("序号", "图号", "名称", "数量", "材料", "质量", "", "下料尺寸", "下料质量", "", "")
    + \+ y9 F$ O  t* c
  47.    Dim wArr
    6 P1 b6 B. {; c  |) U/ J
  48.        'wArr = Array(8, 20, 50, 8, 25, 12, 12, 40, 12, 12, 11)% r% ?! b5 H% C! X
  49.        wArr = Array(8, 17, 45, 8, 18, 10, 10, 35, 10, 10, 9), t) i9 i2 E& x6 K
  50.   Dim TextFormat As TextFormat
    4 u: }8 k! ]& T( R' {4 Q
  51.       With SwTabAnn
    3 w5 s# l3 a  T" t
  52.          ''- x2 A" @( x. k, C: v
  53.          For jj = 0 To .ColumnCount - 26 c4 c2 s" ~9 I0 p6 m2 ?6 V" S
  54.             .SetColumnTitle jj, cArr(jj)# O$ [: t! G/ o
  55.             .SetColumnWidth jj, wArr(jj) / 1000, 0
    5 ^7 j6 D8 B4 ^  Q1 C$ F. n+ m) \
  56.             .SetColumnCustomProperty jj, Arr(jj)
    5 Z# R, P, [2 ?
  57.          Next jj
    " n. O2 L# F# P- Y# l) t
  58.          ''
    9 _! W. g# N  U. R0 n2 v" X7 P
  59.          For ii = 0 To .RowCount - 2
    . f: Q# Q# ?7 b5 B/ K3 _
  60.              For jj = 0 To .ColumnCount - 1
    5 u4 E6 F  C- |
  61.                Select Case jj
    ; P( a. }3 [* J- n. @4 C% a
  62.                   Case 2! J8 P  |4 `. D( H8 `6 ?/ ]! n
  63.                      .Text(ii, jj) = " " & Trim(.Text(ii, 2))' P' e  o6 ]& r. F) U
  64.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationLeft
    # P/ F% `7 u% X0 l& ~0 m
  65.                   Case Else
    * R  ?& I, Q* `" e. Y/ X$ o7 z
  66.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationCenter% o/ o! X* p1 e. s: ?/ ]9 c+ U, m/ v
  67.                End Select$ h  I/ m, o0 ^0 i  ^& ]4 e
  68.                ''3 ]! X1 A) O5 O/ q( u
  69.                Set TextFormat = .GetCellTextFormat(ii, jj)7 g- F' z  ^0 N; T6 N5 q
  70.                With TextFormat! b- k$ |8 ?8 D9 Y; ^/ u+ m
  71.                   .CharHeight = 2.8 / 1000
    ' ^5 d+ ?; a9 O; r& H
  72.                   .WidthFactor = 0.8
    4 X, I' x: `' S! j
  73.                   .TypeFaceName = "宋体"
    , |6 Y1 Z0 n! |# ^# c
  74.                   If ii = SwTabAnn.RowCount - 1 Then
    - s5 k. d! S0 ~8 o2 g- U1 f& l2 t
  75.                      .Bold = True7 Y/ j( r9 v2 n; O! r  `
  76.                   Else2 F5 _; |/ g! k# M# V
  77.                      .Bold = False
    7 ^( j* g8 P; l4 {+ m6 ^5 n
  78.                   End If! R) l) H/ _# ?9 Z$ z- @" Q
  79.                End With- a! d, M' N8 D! Y+ E; Y
  80.                .SetCellTextFormat .RowCount - 1, jj, False, TextFormat
    1 F/ Y( \# E. Q, M$ Y' A
  81.              Next jj5 _* R" p. U/ h
  82.              ''
    : R4 {. l5 ~6 }/ `- `$ v1 Y
  83.            If .Text(ii, 3) <> "-" Then
    9 T  y+ B! ~$ u
  84.              If .Text(ii, 3) = 1 Then- F) B! W& E. c. J; a# a* e# @% f
  85.                   If Val(.Text(ii, 5)) > 0 Then/ U9 P/ u; ~1 q! a# j% B8 Z
  86.                      .Text(ii, 6) = Format(.Text(ii, 5), "0.0#")  x9 z' T4 ~3 \* n: j) v' O
  87.                      .Text(ii, 5) = " " 'Format(.Text(ii, 5), "0.0#")
    * W: o! i0 M- x! n
  88.                   End If/ J( [# i; l% K
  89.                   ''! |$ ^2 e  N# h8 |% Q7 ]6 B
  90.                   If Val(.Text(ii, 8)) > 0 Then8 I, s( L; w! P- Y& X
  91.                      .Text(ii, 9) = Format(.Text(ii, 8), "0.0#")
    ' ?6 ^# Q) f% c1 l, h
  92.                      .Text(ii, 8) = " " 'Format(.Text(ii, 8), "0.0#")
    ; Z0 Y0 p* {6 G5 G" w1 J3 {+ |9 |
  93.                   End If
    6 L3 g$ l1 E! m& s
  94.              Else
    ; O) b; g9 Z6 S. e- `, j
  95.                  .Text(ii, 5) = Format(.Text(ii, 5), "0.0#")
    & e) `8 b$ T1 d% Q9 [' `6 w
  96.                  .Text(ii, 8) = Format(.Text(ii, 8), "0.0#")
    & W7 L% A, T. w' f$ i
  97.                  .Text(ii, 6) = Format(.Text(ii, 5) * .Text(ii, 3), "0.0#")6 h) }, b+ U" H. P4 \$ L  Q
  98.                  .Text(ii, 9) = Format(.Text(ii, 8) * .Text(ii, 3), "0.0#")8 L) e1 A8 g; Q2 C
  99.              End If
    ! }) N. {; U( i/ p& f8 @
  100.              If .Text(ii, 7) <> "" And Val(.Text(ii, 9)) > 0 Then4 @2 F  N3 j+ ?/ T* j$ g
  101.                  .Text(ii, 10) = Format(Val(.Text(ii, 9)) - Val(.Text(ii, 6)), "0")$ W7 i) \1 t& [2 G7 z# X. J% X2 T
  102.              Else; U9 t/ V6 _4 f- _3 P1 i1 @
  103.                  .Text(ii, 8) = " "% t) ^3 s4 O1 h0 y+ p( }% \( H1 k1 y) u+ F
  104.                  .Text(ii, 9) = " "
    ; E4 L: [1 l* Z* G# S3 [' O
  105.              End If/ I7 O" }) ^9 R. \
  106.            End If
    7 v" Z9 X* l. Y% F* m: @$ o+ X* K
  107.          Next ii
    ; X  y4 t/ e8 b/ b* u- z
  108.          ''
    / m, w) l- M: f& n8 l
  109.          For ii = 0 To .RowCount - 1
    / |# }. O4 p% S+ o
  110.              .SetRowHeight ii, 5 / 1000, 0! f# w5 T2 z5 e8 _
  111.          Next ii
    & U  K$ p/ M6 h! V
  112.          ''6 g, z0 s, S( ^7 t" ~" N
  113.       End With
    4 m  G" W* r' d8 T0 c7 F
  114.       . y$ ~* K+ y1 a( L7 X. X
  115. End Function5 p0 ]* O  N! D: w

  116. , S; j) L7 N% j/ _$ v% M
  117. 2 g5 F" t" t* @" ]4 a  ^
复制代码

3 _4 p! d3 R- M& f* u. @. y/ z) R. H5 G& {0 l0 v8 }; k
7 V9 ?$ i- j- ?! }0 x1 E
 楼主| 发表于 2015-8-31 14:21:23 | 显示全部楼层 来自: 中国甘肃兰州
原材料明细表没问题: n1 Q* e: u/ h7 A
0.jpg
/ o5 C) w0 X/ u* H0 V
' S# X* ~- D/ t; i- \$ W运行API后出现问题: V  l3 i% j  I9 I# Z1 n4 r
$ I0 b4 n6 e; X" G# i
1.jpg
7 D! b# Y6 i# N; C6 b1 C& G, Z. ]) \: }  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 )

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