第3个回答 2018-06-09
If ThisDrawing.Document.ActiveSheet.DrawingViews.Count>0 Then
View1=ThisDrawing.Document.ActiveSheet.DrawingViews(1)
ModelName=IO.Path.GetFileName(ActiveSheet.View(View1.Name).ModelDocument.FullFileName)
iProperties.Value(ModelName,"Custom", "比例")=View1.ScaleString
'为模型写入自定义项:比例,数值为当前图纸第一个视图比例。
'ThisDrawing.Document.ActiveSheet.Name=Mid(ModelName,1)
'此行将图纸名称改为"文件名称"
'ThisDrawing.Document.ActiveSheet.Name=iProperties.Value(ModelName,"Project", "Part Number")+" "+iProperties.Value(ModelName,"Project", "Description")
'命名选项①此行将图纸名称改为"零件代号"+"零件名称格式"
'ThisDrawing.Document.ActiveSheet.Name=iProperties.Value(ModelName,"Project", "Part Number")
'命名选项②此行将图纸名称改为"零件代号"
ThisDrawing.Document.ActiveSheet.Name=iProperties.Value(ModelName,"Project", "Part Number")+" "+iProperties.Value(ModelName,"Project", "Description")+" "+iProperties.Value(ModelName,"Summary","Comments")
'命名选项③此行将图纸名称改为"零件代号"+"零件名称格式"+"注释",注释填写(仿形)或者(焊后加工)
If String.Compare(Right(ModelName,3),"ipt")<>0 Then
iProperties.Value(ModelName,"Custom", "质量")=CStr(Round(iProperties.Mass(ModelName),1))
'为模型写入自定义项:质量。
Else
iProperties.Value(ModelName,"Custom", "质量")=CStr(Round(iProperties.Mass(ModelName),3))
End If
Else
ThisDrawing.Document.ActiveSheet.Name="BOM"
End If
'代码功能:
'1、在工程图对应的模型文件中新建自定义属性"比例",并在其中自动填写第一个视图的比例;
'2、在工程图对应的模型文件中新建自定义属性"质量",并在其中自动填写零部件质量(若对应模型是零件,则保留两位小数,否则仅保留一位小数);
'3、若该图纸未有对应的模型文件,则默认的图纸名为"BOM"。
'4、事件触发器选择"保存前"。
'5、引用说明:零件数量---"成本中心",制造令---"项目",零件名称---"描述",加工方式---"种类",表面处理---"关键词"