果果爸爸 发表于 2015-11-2 16:46:47

关于焊件中多个实体工程图问题

当前工作中的一个问题。
用焊件做图之后,其中有型材也有板材和子焊件。
例如,某焊件零件 test-06-01
其中有五个切割清单项目 1 2 3 4 5
我要对以上五个切割清单项目分别出图。
那么问题来了。
我是用
方法A:实体右键插入到新零件 单独出图呢?
还是
方法B:直接工程图后选择实体 呢?
我说一下两种方法对于我而言的纠结点。
方法A 好处
零件设变 导出的基体零件也会跟着变
导出的零件可以设定零件名出图的时候方便给单独的零件代号 例如 test-06-01-01
材料也可以跟着总体零件走
弊端
图纸上不能体现数量(总零件数乘以切割清单中的数量) [使用大王遍历宏]。
打包总装的时候 导出的基体零件 模型和图纸不会跟着走。
基体零件出图时候无法使用模型项目。
方法B 好处
可以跟着打包走 可以用模型项目标注 可以链接出数量属性
弊端
虽说可以在切割清单属性中给图号 但是单独出图时候图号不方便链接出来(我指的是链接到工程图标题栏)[或者说是我不会]
个人感觉方法B应该是正统,用方法A又多给自己增加了工作量。
以上我说的方法B的弊端我也有过考虑如何解决,通过另外一个图纸模板?或者其他?反复尝试没有得到结果。。。
或者方法A,有什么方法可以导出基体零件的时候把切割清单项目中的属性一起带走?
特意发这个帖子,想请各位大神指点一二。
谢谢!

yado 发表于 2015-11-5 14:30:27

谢谢版大先生 为我解惑。
这几天家中有点小事缠身没有及时回复您,但是根据您的指点 以及 论坛中前辈的帖子 自己再根据自己的实际工作总结了一下
内如如下:
1.总装配中 先使用大王之前的 遍历宏 和菜虫大大 的更新版本
遍历宏地址:solidworks机械工程师论坛
菜大 更新版本 122楼
运行宏之后对每一个零件加入数量属性
2.焊件零件中再运行 大王的 总中宏   (个人又根据自己的实际情况加入了几句 代码 PO在楼下)
运行宏之后对焊件零件的 每个切割项目 加入 单重 总重 数量 以及总量(单台用量)属性
原大王总重宏地址:solidworks机械工程师论坛
3.根据大王之前的多实体属性链接的帖子 自己做了一个图块
做焊件时对每个切割项目进行预先编码和命名其他属性步骤2的时候已经加入
出图时用零件-选择实体方式 出图   放置视图之后 视图锁焦其中一个视图 加入预先做的图块(和标题栏一样) 成功链接某个切割项目的属性
再编辑图纸格式把 之前链接零件的属性删除掉移动图块放置到原标题栏位置
原大王多实体零件属性链接地址:solidworks机械工程师论坛
工程图全部绘制完毕,最后运行一下 多页工程图重命名宏 把工程图名字全部改一边 再手动修改 拆分图的名字
至此总装中某焊件的 拆分工程图完成。
再次感谢版大先生的指点

gzq794399898 发表于 2015-11-3 04:15:37

帮你顶一下

Be_ok 发表于 2015-11-3 06:01:18

需要给单个子焊件加图号和名称的,老老实实用装配体方式建模
不需要给单个子焊件加图号和名称的,子焊件与总焊件图出在一张图上的,直接用多实体方式出图

一鸣 发表于 2015-11-3 07:46:46

蛋蛋,这个问题你为啥不先跟我讨论讨论呢

覀呱忲蓢/ 发表于 2015-11-3 16:00:31

https://www.swbbsc.com/static/image/smiley/default/hug.gifhttps://www.swbbsc.com/static/image/smiley/default/hug.gifhttps://www.swbbsc.com/static/image/smiley/default/hug.gif

ktjo 发表于 2015-11-4 02:57:41

4樓腩大可解提倡私下討論。
回樓主:
先要弄清『多實體』的意義,在其他軟件,包括CATIA,每件鋼結構都是分散為個別零件文件;SW以多實體來表述,好處是大大減少文件的數量。
另外要弄清『零件代號』的意義,並不是單單為了迎合標準,最重要的目的是配合『庫存』,簡單地說,買回來的零部件、準備賣出去的貨品、還有一些半製成品,這些物件需要安放到倉庫,所以都需要一個代號。不是什麼東西都需要代號的,比如生產軸承的工廠,有必要給鋼珠代號;而買軸承回來使用的工廠,只需要給整個軸承代號就可以,沒不要再細分。
就算一個銲件多麼複雜,基本都是一個零件,沒必要給每一件切割件代號,除非工廠單單負責下料,焊接就由另一間鋼廠進行。
建議用選取實體的方式建立工程圖。
還有,那個『插入到新零件』有一些問題的,就是源頭零件沒有特徵的記錄,一旦設變導致新零件報錯,那就無從修復,建議用『保存實體』比較穩妥。

sunnyliu070 发表于 2015-11-4 08:05:22

回版大先生,我跟楼主一直是认识的,所以开个小玩笑,嘿嘿~

烟雾缭绕fengzi 发表于 2015-11-4 10:19:22

回擰濛朋友,這樣正好了,幫忙知會樓主一聲,別掉下問題就跑掉。

0小潴 发表于 2015-11-4 18:12:25


如楼主所说还是用方案B 好些,只是一个焊件里面有太多的管材板材和排孔管的话,要怎么能放的下一张图?而多张图又如何做呢? 附件2013班 图纸和工程图,板材的长宽高属性怎么做进去呢?

940343792 发表于 2015-11-4 20:18:09

蛋蛋几天家里有事,都没上网的。。我昨天问他的时候他还什么都不知道呢
他说今天中午留给您回

CITY-BOY 发表于 2015-11-5 14:14:46

板材的长宽高属性我有帖子说明了吧

蝶(_⊙_o_舞 发表于 2015-11-5 20:41:58

代码如下:
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim thisFeat As SldWorks.Feature
Dim thisSubFeat As SldWorks.Feature
Dim cutFolder As Object
Dim BodyCount As Integer
Dim fn As String
Dim pn As String
Dim custPropMgr As SldWorks.CustomPropertyManager
Dim custPropMgr1 As SldWorks.CustomPropertyManager
Dim propNames As Variant
Dim vName As Variant
Dim propName As String
Dim Value As String
Dim TValue As String
Dim tTotalw As Double
Dim resolvedValue As String
Dim tresolvedValue As String
Dim TotalW As Double
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set custPropMgr1 = Part.Extension.CustomPropertyManager("")
custPropMgr1.Get2 "数量", TValue, tresolvedValue
Set thisFeat = Part.FirstFeature
Do While Not thisFeat Is Nothing
    If thisFeat.GetTypeName = "SolidBodyFolder" Then
      thisFeat.GetSpecificFeature2.UpdateCutList
    End If
    Set thisSubFeat = thisFeat.GetFirstSubFeature
    Do While Not thisSubFeat Is Nothing
      If thisSubFeat.GetTypeName = "CutListFolder" Then
            Set cutFolder = thisSubFeat.GetSpecificFeature2
      End If
      If Not cutFolder Is Nothing Then
            BodyCount = cutFolder.GetBodyCount
            If BodyCount > 0 Then
                Set custPropMgr = thisSubFeat.CustomPropertyManager
                If Not custPropMgr Is Nothing Then
                  custPropMgr.Delete "总重"
                  custPropMgr.Delete "单重"
                  custPropMgr.Delete "数量"
                  custPropMgr.Delete "总量"
                  fn = thisSubFeat.Name
                  pn = Part.GetTitle
                  custPropMgr.Add "单重", "文字", Chr(34) & "SW-Mass@@@" & fn & "@" & pn & Chr(34)
                  propNames = custPropMgr.GetNames
                  If Not IsEmpty(propNames) Then
                        For Each vName In propNames
                            propName = vName
                            custPropMgr.Get2 propName, Value, resolvedValue
                            If propName = "单重" Then TotalW = resolvedValue
                        Next vName
                  End If
                  custPropMgr.Add "总重", "文字", Format(BodyCount * TotalW, "0.00")
                  custPropMgr.Add "数量", "文字", Format(BodyCount, "0")
                  custPropMgr.Add "总量", "文字", Format(BodyCount * TValue, "0")
                End If
            End If
      End If
      Set thisSubFeat = thisSubFeat.GetNextSubFeature
    Loop
    Set thisFeat = thisFeat.GetNextFeature
Loop
End Sub
复制代码
敬请版大先生 斧正

rvuxk 发表于 2015-11-5 21:06:36

五号先生你好,
根据你的描述 我是不是可以这样理解
你的焊件中有很多管 你是用3D草图+结构件+焊件轮廓来进行零件建模
你的管件需要进行后续加工 车削或钻孔或其他
你需要对其中大部分管件 进行单独出图说明加工尺寸及要求
我的建议:
1.和我楼上的回复中提到的一样,对需要单独出图的管件进行编号
编号写入切割清单属性中 在其他属性中体现该焊件轮廓的属性如:Φ90*14厚壁管长度会自动链接了
<焊件轮廓自带的属性请修改 焊件轮廓文件 打开后修改自定义属性>
2.出图时用到楼上提及的方法 这样而来 应该是对出图的数据录入工作有所简化
A建模-B文件自定义属性+焊件切割清单属性-C出图+切割清单-D拆分出图
比较顶层我说的插入到新零件的方法
A建模-B文件自定义属性+焊件切割清单属性-C插入到新零件-D新零件自定义属性-D出图+切割清单-E拆分出图

天空之城_2 发表于 2015-11-5 21:31:39

动图
都是运行过宏之后的 出图步骤

512703433 发表于 2015-11-6 06:30:04

学习https://www.swbbsc.com/static/image/smiley/default/handshake.gif

xlj 发表于 2015-11-6 07:42:38

进来学习下,对焊件也是很迷茫

tdb 发表于 2015-11-6 10:18:52

非常感谢回复,总结,

stardu2015 发表于 2015-11-6 11:02:40


按照您的代码不知道哪里有问题

永恒神王 发表于 2015-11-6 11:09:12

看一下这个帖子
solidworks机械工程师论坛
运行宏之前 这些点 你有没有注意到
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 关于焊件中多个实体工程图问题