SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3576|回复: 5
打印 上一主题 下一主题

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

[复制链接]

17

主题

76

帖子

143

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
294
QQ
跳转到指定楼层
楼主
发表于 2015-8-31 09:59:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

   经典图书
在材料明细表中,产生零值的原因是什么?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享教程|习题|模型|技巧 点赞点赞5295 拍砖拍砖897
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

13

主题

62

帖子

89

金币

天使

Rank: 2Rank: 2

积分
188
QQ
沙发
发表于 2015-8-31 10:09:41 | 只看该作者
与版本没关系,那你解释一下为什么没有你所说的所谓的零件数量显示选项,再者说了半天,你也没谈出了什么问题。
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

8

主题

59

帖子

106

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
218
QQ
板凳
发表于 2015-8-31 10:14:54 | 只看该作者

   经典图书
与版本没有任何关系。Sw2013照样也出现同样问题。
出现这个问题的原因是运行了这段API程序

    Private Sub proceBom()
       Dim SwApp As SldWorks.SldWorks, SwModel As ModelDoc2
          Set SwApp = Application.SldWorks
          Set SwModel = SwApp.ActiveDoc
       Dim SwDraw As DrawingDoc, SwView As View
          Set SwDraw = SwModel
          Set SwView = SwDraw.GetFirstView
          Set SwView = SwView.GetNextView
       Dim ConfName
          ConfName = SwView.ReferencedConfiguration
          Set SwView = SwView.GetNextView
          SwView.ReferencedConfiguration = ConfName
          Debug.Print SwView.Name
          
       Dim SwSelMgr As SelectionMgr, Names
          Set SwSelMgr = SwModel.SelectionManager
       Dim SwFeat As Feature, SwBomFeat As BomFeature, tmp
          tmp = SwModel.Extension.SelectByID2("VesselBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
          'tmp = SwModel.Extension.SelectByID2("SaddleFBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
          'tmp = SwModel.Extension.SelectByID2("SaddleSBOM", "BOMFEATURE", 0, 0, 0, False, 0, Nothing, 0)
          Set SwBomFeat = SwSelMgr.GetSelectedObject5(1)
          Set SwFeat = SwBomFeat.GetFeature
          ''
          Names = SwBomFeat.GetConfigurations(False, Visible)
          For jj = 0 To UBound(Names)
             If Names(jj) = ConfName Then 'SwView.ReferencedConfiguration Then
                Visible(jj) = True
                Exit For
             End If
          Next jj
          ''
          BoolStatus = SwBomFeat.SetConfigurations(False, Visible, Names)
       Dim SwTabAnn As TableAnnotation
          Set SwTabAnn = SwBomFeat.GetTableAnnotations(0)
          BomTitle SwTabAnn
          
    End Sub
    ''
    Function BomTitle(SwTabAnn As TableAnnotation)
       Dim cArr, Arr
           'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", "模型质量", "小计①", "下 料 尺 寸", "下料质量", "小计②", "②-①")
           'cArr = Array("序号", "标 准 号", "名        称", "数量", "材  料", " ⑴", "①", "下 料 尺 寸", " ⑵", "②", "②-①")
           cArr = Array("序号", "图号或标准号", "名        称", "数量", "材  料", " ⑴", "⑵", "下 料 尺 寸", " ①", "②", "②-⑵")
           Arr = Array("序号", "图号", "名称", "数量", "材料", "质量", "", "下料尺寸", "下料质量", "", "")
       Dim wArr
           'wArr = Array(8, 20, 50, 8, 25, 12, 12, 40, 12, 12, 11)
           wArr = Array(8, 17, 45, 8, 18, 10, 10, 35, 10, 10, 9)
      Dim TextFormat As TextFormat
          With SwTabAnn
             ''
             For jj = 0 To .ColumnCount - 2
                .SetColumnTitle jj, cArr(jj)
                .SetColumnWidth jj, wArr(jj) / 1000, 0
                .SetColumnCustomProperty jj, Arr(jj)
             Next jj
             ''
             For ii = 0 To .RowCount - 2
                 For jj = 0 To .ColumnCount - 1
                   Select Case jj
                      Case 2
                         .Text(ii, jj) = " " & Trim(.Text(ii, 2))
                         .CellTextHorizontalJustification(ii, jj) = swTextJustificationLeft
                      Case Else
                         .CellTextHorizontalJustification(ii, jj) = swTextJustificationCenter
                   End Select
                   ''
                   Set TextFormat = .GetCellTextFormat(ii, jj)
                   With TextFormat
                      .CharHeight = 2.8 / 1000
                      .WidthFactor = 0.8
                      .TypeFaceName = "宋体"
                      If ii = SwTabAnn.RowCount - 1 Then
                         .Bold = True
                      Else
                         .Bold = False
                      End If
                   End With
                   .SetCellTextFormat .RowCount - 1, jj, False, TextFormat
                 Next jj
                 ''
               If .Text(ii, 3) <> &quot;-&quot; Then
                 If .Text(ii, 3) = 1 Then
                      If Val(.Text(ii, 5)) > 0 Then
                         .Text(ii, 6) = Format(.Text(ii, 5), &quot;0.0#&quot;)
                         .Text(ii, 5) = &quot; &quot; 'Format(.Text(ii, 5), &quot;0.0#&quot;)
                      End If
                      ''
                      If Val(.Text(ii, 8)) > 0 Then
                         .Text(ii, 9) = Format(.Text(ii, 8), &quot;0.0#&quot;)
                         .Text(ii, 8) = &quot; &quot; 'Format(.Text(ii, 8), &quot;0.0#&quot;)
                      End If
                 Else
                     .Text(ii, 5) = Format(.Text(ii, 5), &quot;0.0#&quot;)
                     .Text(ii, 8) = Format(.Text(ii, 8), &quot;0.0#&quot;)
                     .Text(ii, 6) = Format(.Text(ii, 5) * .Text(ii, 3), &quot;0.0#&quot;)
                     .Text(ii, 9) = Format(.Text(ii, 8) * .Text(ii, 3), &quot;0.0#&quot;)
                 End If
                 If .Text(ii, 7) <> &quot;&quot; And Val(.Text(ii, 9)) > 0 Then
                     .Text(ii, 10) = Format(Val(.Text(ii, 9)) - Val(.Text(ii, 6)), &quot;0&quot;)
                 Else
                     .Text(ii, 8) = &quot; &quot;
                     .Text(ii, 9) = &quot; &quot;
                 End If
               End If
             Next ii
             ''
             For ii = 0 To .RowCount - 1
                 .SetRowHeight ii, 5 / 1000, 0
             Next ii
             ''
          End With
          
    End Function

复制代码
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

9

主题

67

帖子

58

金币

天使

Rank: 2Rank: 2

积分
181
QQ
地板
发表于 2015-8-31 10:14:57 | 只看该作者
图中指的是数量为线的含义吧,那表示数量无法由设计决定
还有你是哪个版本的,看样子有点古老
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

16

主题

66

帖子

90

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
232
QQ
5#
发表于 2015-8-31 10:17:11 | 只看该作者

   经典案例图书
原材料明细表没问题

运行API后出现问题
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

17

主题

73

帖子

147

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
325
QQ
6#
发表于 2015-8-31 10:23:21 | 只看该作者
我们还出现过负值和小数,代理商已经把问题发SW美国总部,以后就再没消息了
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭 卷起
关闭 卷起

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2024-9-29 16:21 , Processed in 0.232524 second(s), 26 queries , Memcache On.

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

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