iCAx开思网

标题: SolidWorks 零件自定义材料如何拆分 [打印本页]

作者: 幻想柏拉图    时间: 2017-6-13 21:06
标题: SolidWorks 零件自定义材料如何拆分
如图片所示,用宏如何写出让材料里的材料和处理分开到工程图里????
求大神支招!!!!!!!!!!!!!!!!!!

作者: 幻想柏拉图    时间: 2017-6-27 11:32
帖子不能沉,求高手指点啊!!!!!!!!!!!
作者: qxzch    时间: 2017-6-27 12:34
表面处理一般是在工程图的技术要求里提出,为什么要和材质搞在一起?第一次见到!
作者: JJM133144322    时间: 2017-6-27 13:34
帖子不能沉,求高手指点啊!!!!!!!!!!!

作者: gt.adan    时间: 2017-6-27 13:59
qxzch 发表于 2017-6-27 12:34
表面处理一般是在工程图的技术要求里提出,为什么要和材质搞在一起?第一次见到!

我也有一樣疑問…一般出圖,表面處理是另有欄位的,不知LZ為何要將兩者混在一起,然後再用宏來分開。
當然,不是做不到,只是有點兒脫褲子放屁的感覺~

作者: 幻想柏拉图    时间: 2017-6-27 15:37
gt.adan 发表于 2017-6-27 13:59
我也有一樣疑問…一般出圖,表面處理是另有欄位的,不知LZ為何要將兩者混在一起,然後再用宏來分開。
當 ...

这样做的目的就是避免标图时重复标注处理方式,毕竟对应的材质对应的处理基本不怎么变化的,方便分工给新人助理工程师标图。分工明确,提高效率!
至于要在工程图里拆开的目的就是为了好看,材料一栏 表面处理一栏。美观符合国际标准。

作者: gt.adan    时间: 2017-6-27 16:03
本帖最后由 gt.adan 于 2017-6-27 16:35 编辑

這樣是否"提高效率",我以為見仁見智。
1.將兩者合而為一,看似省去了重覆的標註動作,但實則要建立/修改整串的SW材質資料庫。
2.一樣的材質表面處理不怎麼變化,這也是看公司文化和作業習慣,不能一概而論。

以我司舉個子,一個沖壓件就有染黑、電鍍、烤漆、熱處理…等等不同的後製程,
更不用說電鍍有分鍍鋅、鍍鉻、鍍鎳…etc
更不用說熱處理有分硬度要求、是否氮化、QPQ、AB1...etc

如此一來,試想光是一種材質要建立多少類似「材質/表面處理」這樣的資料庫?真的有比較快嗎?
作者: 幻想柏拉图    时间: 2017-6-27 17:38
gt.adan 发表于 2017-6-27 16:03
這樣是否"提高效率",我以為見仁見智。
1.將兩者合而為一,看似省去了重覆的標註動作,但實則要建立/修改 ...

是的,你说的没错,这个方法不适合你们公司情况,但是我司基本以镀硬铬 本色阳极 喷砂阳极为主,所以不需要建太多的材料库的。所以这就合适我司情况了。
哥们懂怎么弄么?求指导啊!!!!!!

作者: qxzch    时间: 2017-6-27 23:01
完全赞同7楼的观点
作者: gt.adan    时间: 2017-6-29 09:14
[attach]1250433[/attach]

作者: 幻想柏拉图    时间: 2017-6-29 10:09
gt.adan 发表于 2017-6-29 09:14

是这样子的,大神哥哥可否分享一下代码,跪谢呢!!!!!!!!!!

作者: gt.adan    时间: 2017-6-29 13:06
不用跪,喜歡拿去~~

  1. Dim swApp As SldWorks.SldWorks
  2. Dim swModel As ModelDoc2
  3. Dim swCustProp As CustomPropertyManager
  4. Dim val As String
  5. Dim valout As String
  6. Dim bool As Boolean

  7. Sub main()
  8.     Set swApp = Application.SldWorks
  9.     Set swModel = swApp.ActiveDoc
  10.     Set swCustProp = swModel.Extension.CustomPropertyManager("")
  11.     bool = swCustProp.Get4("材質", True, val, valout)   '獲取"材質"的數值
  12.     mat = Left(valout, InStr(valout, "/") - 1)
  13.     fin = Right(valout, Len(valout) - Len(mat) - 1)
  14.   '寫入材質和表面處理的屬性
  15.   retval = swApp.ActiveDoc.DeleteCustomInfo2("", "Material")
  16.   retval = swApp.ActiveDoc.AddCustomInfo3("", "Material", swCustomInfoText, mat)
  17.   retval = swApp.ActiveDoc.DeleteCustomInfo2("", "Finishing")
  18.   retval = swApp.ActiveDoc.AddCustomInfo3("", "Finishing", swCustomInfoText, fin)
  19.   MsgBox "Done!"
  20. End Sub
复制代码



作者: 幻想柏拉图    时间: 2017-6-30 09:09
gt.adan 发表于 2017-6-29 13:06
不用跪,喜歡拿去~~

真的很感谢啊!!!!!!





欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3