从solidworks获取自定义材料

时间:2016-03-23 08:34:50

标签: c# solidworks

首先请注意,我的计算机上没有安装solidworks,但是将这些文件用于项目。

Solidworks能够为文件属性创建自定义选项卡。在此选项卡中,您可以找到有关在solidworks中制作的模型(零件)的所有类型的信息。

我读出所有这些信息并将其存储在.txt文件中,见图片。在此信息中,您可以找到我的问题所在的零件的材料类型。enter image description here

我知道材质类型,但在solidworks中,用户还可以将custom materials指定给自定义属性中定义的材质。例如,材料只是普通木材,但用户希望这种木材是粉红色的。

是否可以读出自定义属性中附加到材料的custom materials

2 个答案:

答案 0 :(得分:2)

要阅读材料属性,请尝试:

ModelDoc2 swModel = (ModelDoc2)swApp.ActiveDoc;
PartDoc swPart = (PartDoc)swModel;
double[] propertyValues = swPart.MaterialPropertyValues;

根据SOLIDWORKS documentation

材料值包括颜色(R,G,B值),反射率(环境,漫反射,镜面反射,光泽度),透明度和发射。

参数或返回值的格式是一个双精度数组,如下所示: [R,G,B,环境,漫反射,高光,光泽,透明度,发射]

所有元素必须在0到1的范围内。

答案 1 :(得分:2)

如果您没有安装SOLIDWORKS,可以使用document manager(需要有效的SOLIDWORKS订阅获取密钥)来访问自定义属性:

String sLicenseKey = "Your key from SOLIDWORKS";
SwDmDocumentOpenError nRetVal = 0;
SwDmCustomInfoType customInfoType;
SwDMClassFactory swClassFact = new SwDMClassFactory();
SwDMApplication swDocMgr = (SwDMApplication)swClassFact.GetApplication(sLicenseKey);
SwDMDocument17 swDoc = (SwDMDocument17)swDocMgr.GetDocument("C:\Filepath", SwDmDocumentType.swDmDocumentPart, false, out nRetVal);
SwDMConfigurationMgr swCfgMgr = swDoc.ConfigurationManager;
SwDMConfiguration14 swCfg = (SwDMConfiguration14)swCfgMgr.GetConfigurationByName("Config Name");
String materialProperty = swCfg.GetCustomProperty2("Property Name", out customInfoType);