2016-03-23 102 views
12

第一條注意事項我沒有在我的計算機上安裝solidworks,但使用這些文件作爲項目。從solidworks獲取定製材料

Solidworks能夠爲文件屬性製作自定義選項卡。在此選項卡中,您可以找到有關在solidworks中製作的模型(零件)的所有信息。

我讀出所有這些信息,並將其存儲在.txt文件中查看圖片。在此信息中,您可以找到零件的材料類型,其中出現問題的位置。enter image description here

我知道材料類型,但在solidworks中,用戶也可以將custom materials分配給定製屬性中定義的材料。例如,材料只是普通的木材,但用戶希望這種木材是粉紅色的。

是否可以讀出附加到自定義屬性中材料的custom materials

+2

我會建議使用文件中的文本而不是使用它的圖像 – Rumbles

+0

@Rumbles,你是什麼意思? – Desutoroiya

+0

你已經在你的文章中使用了一個文本文件的圖像,我建議使用文本本身更好 – Rumbles

回答

2

要閱讀的材料性質嘗試:

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

根據SOLIDWORKS documentation

的材料的值包括色彩(R,G,B值),反射率(環境,漫反射,鏡面反射,反光),透明度和排放。

參數的格式或返回值是double數組如下: [R,G,B,環境,漫反射,鏡面,反光度,透明度,發射]

所有元素必須在範圍0到1

+0

這個DLL沒有在計算機上安裝SolidWorks時是否工作? – Desutoroiya

+0

它需要SOLIDWORKS運行。除非您將自定義材料信息存儲在自定義屬性中(可以通過文檔管理器API訪問),否則未安裝SOLIDWORKS就無法訪問該信息。 – AndrewK

+0

然後,這不適合我。就像我說過的,我的系統中沒有安裝Solidworks,並且已經在我的問題中得到了自定義屬性 – Desutoroiya

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);