首先请注意,我的计算机上没有安装solidworks,但是将这些文件用于项目。
Solidworks能够为文件属性创建自定义选项卡。在此选项卡中,您可以找到有关在solidworks中制作的模型(零件)的所有类型的信息。
我读出所有这些信息并将其存储在.txt
文件中,见图片。在此信息中,您可以找到我的问题所在的零件的材料类型。
我知道材质类型,但在solidworks中,用户还可以将custom materials
指定给自定义属性中定义的材质。例如,材料只是普通木材,但用户希望这种木材是粉红色的。
是否可以读出自定义属性中附加到材料的custom materials
?
答案 0 :(得分:2)
要阅读材料属性,请尝试:
ModelDoc2 swModel = (ModelDoc2)swApp.ActiveDoc;
PartDoc swPart = (PartDoc)swModel;
double[] propertyValues = swPart.MaterialPropertyValues;
材料值包括颜色(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);