QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
在材料明细表中,产生零值的原因是什么?% m% G- h3 p. E3 K+ h! ]5 a

1 Y: H4 e0 `( ?* ^# t/ h 1.jpg
$ p0 J% q( \8 S& p\* A& z& C- S! P- K- Z2 V
0 z+ ]- U7 x7 H/ G' G# Y/ u) T
+ j% V4 o( `+ E/ ^

  r' i2 p7 h" r' z- B% N3 ^+ i  r& p& L% y% ?/ p  |% N
 楼主| 发表于 2015-8-31 13:50:05 | 显示全部楼层 来自: 中国甘肃兰州
本帖最后由 ning84 于 2015-8-31 14:09 编辑 " R8 L* {; V' {

  s, |$ ~# b0 Z* J$ }与版本没有任何关系。Sw2013照样也出现同样问题。' A( g, B  K% m) t$ K/ b
出现这个问题的原因是运行了这段API程序
( k0 e0 o, I! L) q) [+ _1 C
( ?; m$ T/ _( D; E1 t$ ]0 y* ?8 g
  1. 9 T$ ^, p9 ]# A% j3 d1 _
  2. Private Sub proceBom()
    * A, L: F8 ^, |7 a- e
  3.    Dim SwApp As SldWorks.SldWorks, SwModel As ModelDoc2
    / V" ?1 [2 \8 i: g) ]
  4.       Set SwApp = Application.SldWorks
    " k" ~5 _- _4 h, q
  5.       Set SwModel = SwApp.ActiveDoc' j+ |: y) v! M! Y6 k
  6.    Dim SwDraw As DrawingDoc, SwView As View. y( u9 `( V$ n9 x2 n2 F
  7.       Set SwDraw = SwModel; s  Y+ q! P/ [- Q/ q
  8.       Set SwView = SwDraw.GetFirstView
    0 f9 e9 k- n" _9 }$ j) b: Q
  9.       Set SwView = SwView.GetNextView! U; D& h! u* j/ h! ~9 Z. p
  10.    Dim ConfName
    2 h# x+ j4 l; Q4 r, g+ J' j
  11.       ConfName = SwView.ReferencedConfiguration
    * @+ P% X% L+ h& \
  12.       Set SwView = SwView.GetNextView
    / i5 l2 q; Q& `* q4 E& r  t8 J
  13.       SwView.ReferencedConfiguration = ConfName
    * {) R* C+ M3 B, p4 R+ u; l# B
  14.       Debug.Print SwView.Name
    2 w* ^7 s6 e7 _) K7 G
  15.       ' a( C4 T' {$ r5 M$ X7 s: Q* J
  16.    Dim SwSelMgr As SelectionMgr, Names) x; C; c* U7 D% t$ w0 D
  17.       Set SwSelMgr = SwModel.SelectionManager, Y0 }. J4 g1 j- X& ?9 _; W
  18.    Dim SwFeat As Feature, SwBomFeat As BomFeature, tmp7 c$ B7 v6 o; L$ U) l. O
  19.       tmp = SwModel.Extension.SelectByID2("VesselBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    , a# K5 W+ }9 D
  20.       'tmp = SwModel.Extension.SelectByID2("SaddleFBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
    9 E; Q6 Q, G5 n4 d$ c0 I5 D
  21.       'tmp = SwModel.Extension.SelectByID2("SaddleSBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)% H' T& L5 v! E
  22.       Set SwBomFeat = SwSelMgr.GetSelectedObject5(1)
    % Q( w8 I4 l  o6 l* A) ]2 w/ M
  23.       Set SwFeat = SwBomFeat.GetFeature
    $ C/ U/ h+ c8 p8 U4 J
  24.       ''4 V' U& B, t: Y  T' U: e# v/ N
  25.       Names = SwBomFeat.GetConfigurations(False, Visible)  |# D2 _/ ]9 a7 @8 N# ]/ O
  26.       For jj = 0 To UBound(Names)
    - L6 P6 }  g! g
  27.          If Names(jj) = ConfName Then 'SwView.ReferencedConfiguration Then- v) y/ y) t# y1 b4 P
  28.             Visible(jj) = True# z9 O: k* r& X# I% E; O, `5 l
  29.             Exit For) Z% e% f# j) n
  30.          End If
    1 v% O. l* @1 {; j
  31.       Next jj# O5 Q' G) V. Z0 |$ Z3 S4 F. N' _
  32.       ''- ^6 w1 h8 a# }' Y0 `0 ~& q
  33.       BoolStatus = SwBomFeat.SetConfigurations(False, Visible, Names); p5 n7 y9 I* T. ~  F/ J2 d3 v
  34.    Dim SwTabAnn As TableAnnotation( U- j" ^* C( c; Z5 i' X- T
  35.       Set SwTabAnn = SwBomFeat.GetTableAnnotations(0)9 a& k+ v0 g  O; a1 Z- U, L! P
  36.       BomTitle SwTabAnn' p+ q' i$ e3 Q
  37.       / ?- l7 S  ~/ E
  38. End Sub
    ! p" x5 e" z/ a" R, F
  39. 9 B/ C- ^  b/ h( e
  40. ''7 z+ a  {/ l* C& v( J( V
  41. Function BomTitle(SwTabAnn As TableAnnotation), c  w" f! t6 J# v7 g$ a7 q
  42.    Dim cArr, Arr
    % Y8 Q0 B0 h2 v- l6 O5 c8 B; g$ ^/ o
  43.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", "模型质量", "小计①", "下 料 尺 寸", "下料质量", "小计②", "②-①")
    2 @9 ?' m2 w! `
  44.        'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", " ⑴", "①", "下 料 尺 寸", " ⑵", "②", "②-①")- d1 R- Z' A7 U- p1 s; [
  45.        cArr = Array("序号", "图号或标准号", "名        称", "数量", "材  料", " ⑴", "⑵", "下 料 尺 寸", " ①", "②", "②-⑵")  _$ H+ C- V4 G  ]: h
  46.        Arr = Array("序号", "图号", "名称", "数量", "材料", "质量", "", "下料尺寸", "下料质量", "", ""), S% {0 j. m& u2 J" B" h
  47.    Dim wArr
    , }( L+ }4 @5 V% O' Y
  48.        'wArr = Array(8, 20, 50, 8, 25, 12, 12, 40, 12, 12, 11)
      i( p! J; t  Z4 o$ P; G. ~
  49.        wArr = Array(8, 17, 45, 8, 18, 10, 10, 35, 10, 10, 9)8 ^* }0 [& ?( K( d1 ^. I
  50.   Dim TextFormat As TextFormat# `5 x* x3 D; e" A
  51.       With SwTabAnn6 U: o! k* {2 D* h
  52.          ''* Z. w* E/ R% I
  53.          For jj = 0 To .ColumnCount - 2
    8 [7 i; w; x: Y
  54.             .SetColumnTitle jj, cArr(jj)3 c' [: t; @; v* d% ~( N, e
  55.             .SetColumnWidth jj, wArr(jj) / 1000, 0  M7 c/ u1 N+ m
  56.             .SetColumnCustomProperty jj, Arr(jj)/ s! Z) K, _" P5 M# b# j0 p
  57.          Next jj/ t0 J$ \3 p* `
  58.          ''
    + o5 S" I0 `5 }% |3 o9 x
  59.          For ii = 0 To .RowCount - 2( Q0 I; X( u8 |- Y6 Q3 U
  60.              For jj = 0 To .ColumnCount - 13 [' l" R  ]! ^" t% L/ x
  61.                Select Case jj
    7 u6 P: H7 z' K4 ^& q" z
  62.                   Case 20 w! Y. H, {, R' {$ ~8 ^& Q
  63.                      .Text(ii, jj) = " " & Trim(.Text(ii, 2))
    1 t+ K, _" R# S% @9 w" o& C' T' N3 M" }
  64.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationLeft' G% C  V! `: B- |
  65.                   Case Else6 I; Y( E( Q, H4 }2 O  }
  66.                      .CellTextHorizontalJustification(ii, jj) = swTextJustificationCenter
    ' z. Y! e% q, n, l* \% }
  67.                End Select# G1 b+ `) Q& u  ~
  68.                ''' F0 Y6 K: S1 h$ t! B: m$ N
  69.                Set TextFormat = .GetCellTextFormat(ii, jj)7 s3 Q% C* g3 m+ c$ M2 e6 w
  70.                With TextFormat
    : Y) P: C; _: p5 E# B
  71.                   .CharHeight = 2.8 / 1000" b5 n3 F" U: B% U4 O+ U
  72.                   .WidthFactor = 0.8
    7 g* b  a' U/ }
  73.                   .TypeFaceName = "宋体") }: @4 M4 S8 ~+ h
  74.                   If ii = SwTabAnn.RowCount - 1 Then
    1 c, B! P  t+ Q& N/ v  i# T  `9 r3 Q
  75.                      .Bold = True
    5 L8 Y1 o* P5 B
  76.                   Else5 q1 o4 G6 T, s- ~& r
  77.                      .Bold = False9 `+ x+ \9 K1 t* {- K
  78.                   End If
    . L4 v, G' g. [: `* B) u
  79.                End With
    . F$ q+ J7 h' y- F
  80.                .SetCellTextFormat .RowCount - 1, jj, False, TextFormat% X# {- T: m% W6 v  {6 L4 P3 e
  81.              Next jj" @" v( ~# T5 y" X! d
  82.              ''5 j1 I( I/ r2 q3 f+ \
  83.            If .Text(ii, 3) <> "-" Then
    * R' x# Y& T+ M* R
  84.              If .Text(ii, 3) = 1 Then
    7 {5 F& V/ b6 w6 H
  85.                   If Val(.Text(ii, 5)) > 0 Then
    7 ^; ]( n# F$ f
  86.                      .Text(ii, 6) = Format(.Text(ii, 5), "0.0#")
    / M" f$ I! O# [3 W. I2 H
  87.                      .Text(ii, 5) = " " 'Format(.Text(ii, 5), "0.0#")% R2 w+ o2 N+ i/ O
  88.                   End If
    + N/ u5 t+ ?. f5 q. U) c1 W
  89.                   ''
    3 A9 g/ n! x6 v: n( u
  90.                   If Val(.Text(ii, 8)) > 0 Then
    2 q! f7 b  U/ p# Z( `' I1 D
  91.                      .Text(ii, 9) = Format(.Text(ii, 8), "0.0#"), ^& m4 [( g, H: o5 u- y
  92.                      .Text(ii, 8) = " " 'Format(.Text(ii, 8), "0.0#")
    & l/ E# ^/ {, ?) G- }) f7 a# ~- @
  93.                   End If7 r' n; K: `9 ^5 s9 ?
  94.              Else2 Q' L% ^8 j9 o) i7 A3 e
  95.                  .Text(ii, 5) = Format(.Text(ii, 5), "0.0#")
    $ j) l+ F. f: u+ L+ ~6 _! U
  96.                  .Text(ii, 8) = Format(.Text(ii, 8), "0.0#")1 v: \' B" g, t" r* m- [! H  w
  97.                  .Text(ii, 6) = Format(.Text(ii, 5) * .Text(ii, 3), "0.0#")
    / H3 Q' |! U) ]0 v3 f6 ?2 ^
  98.                  .Text(ii, 9) = Format(.Text(ii, 8) * .Text(ii, 3), "0.0#")$ ~  _2 w' P2 ~8 }; i, }% b
  99.              End If
    - i. t6 w$ D: m
  100.              If .Text(ii, 7) <> "" And Val(.Text(ii, 9)) > 0 Then( p% Z; D, I& _% K
  101.                  .Text(ii, 10) = Format(Val(.Text(ii, 9)) - Val(.Text(ii, 6)), "0")- V# I# t+ M% I/ c$ X1 ]
  102.              Else8 ^6 A- D8 j3 A7 W# E+ P. |, T6 u' ]+ D; O
  103.                  .Text(ii, 8) = " "/ L. f. e9 \) i+ T4 \, L9 I! P
  104.                  .Text(ii, 9) = " "* n" B, i/ V( W4 i) }  H. y) u
  105.              End If8 d- r; c/ ~3 ]2 O8 X3 v2 S. a. F
  106.            End If
    0 Q* ]; J; \7 O5 E2 B
  107.          Next ii
    5 U* @8 A- h" ?- Q
  108.          ''
    ) ^, I% A( O* Z
  109.          For ii = 0 To .RowCount - 1
    - Z! b; q8 y2 @1 a; ?1 y: L" _
  110.              .SetRowHeight ii, 5 / 1000, 0. s: e( h0 a4 S7 h4 }
  111.          Next ii
    ; i1 W( t: o* W" v
  112.          ''
    6 W( g# |2 ~- J5 Z
  113.       End With
    ' d, f% Q# p2 Y$ l+ a
  114.       7 R9 Y  ~7 O" E- T& M, D
  115. End Function
    4 b" s; y7 _2 b, ~) m
  116. # ~9 E- U& ]! A5 W

  117. ) g& w' f; M1 G% W+ I4 ?
复制代码
+ P) }: B2 w  O4 d$ }, K
0 y+ J. @8 s+ E; g# v
7 {& G+ u3 G/ [0 [- x
 楼主| 发表于 2015-8-31 14:21:23 | 显示全部楼层 来自: 中国甘肃兰州
原材料明细表没问题
& h3 {. Q' S& ?- A: u# l 0.jpg
5 G  T+ L" L) W. K. [
; O* K+ l) v: }, u8 Z( Z运行API后出现问题
6 P- K% }" V3 W
! d: \% b, n' G7 Y 1.jpg ! }2 N- b5 r5 n) o* u! v9 h2 ?3 T" [
4 H+ b3 i* q9 Y7 h  F% a0 s
发表于 2015-8-31 16:16:07 | 显示全部楼层 来自: 中国北京
我们还出现过负值和小数,代理商已经把问题发SW美国总部,以后就再没消息了
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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