2016-03-23 28 views
12

Prima nota Non ho SolidWorks installato sul mio computer, ma uso i file per un progetto.Come ottenere materiali personalizzati da solidworks

Solidworks consente di creare una scheda personalizzata per le proprietà del file. In questa scheda è possibile trovare tutti i tipi di informazioni su un modello (parte) realizzato in SolidWorks.

Ho letto tutte queste informazioni e lo memorizzo in un file .txt vedere l'immagine. All'interno di queste informazioni è possibile trovare il tipo di materiale della parte in cui è presente la domanda. enter image description here

Conosco il tipo di materiale, tuttavia in SolidWorks l'utente può anche assegnare custom materials al materiale definito nelle proprietà personalizzate. Ad esempio il materiale è solo legno normale, ma l'utente desidera che questo legno sia rosa.

È possibile leggere lo custom materials allegato al materiale nelle proprietà personalizzate?

+2

Vorrei suggerire di utilizzare il testo dal file invece di usare un'immagine di esso – Rumbles

+0

@Rumbles, cosa intendi? – Desutoroiya

+0

Hai usato un'immagine di un file di testo nel tuo post, ti suggerirei di utilizzare meglio il testo stesso. – Rumbles

risposta

2

Per leggere le proprietà del materiale prova:

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

Secondo SOLIDWORKS documentation:

valori materiali includono il colore (R, G, valori B), riflettività (ambiente, diffuso, speculare, brillantezza), trasparenza e emissioni.

Il formato dei parametri o valori di ritorno è una serie di doppie come segue: [R, G, B, ambiente, diffuso, speculare, Shininess, trasparenza, emissione]

Tutti gli elementi deve essere compreso tra 0 e 1.

+0

Questa DLL funziona senza SolidWorks installata sul computer? – Desutoroiya

+0

Richiede l'esecuzione di SOLIDWORKS. A meno che non si memorizzino le informazioni sul materiale personalizzato in una proprietà personalizzata (a cui potrebbe accedere l'API del gestore documenti), non sarà possibile accedere a tali informazioni senza l'installazione di SOLIDWORKS. – AndrewK

+0

Quindi, questo non funziona per me. Come ho detto, non ho installato Solidworks sul mio sistema e ho già letto come nella mia domanda le proprietà personalizzate – Desutoroiya

2

Se non si dispone di SolidWorks installato, è possibile utilizzare il document manager (richiede sottoscrizione SOLIDWORKS attiva per ottenere la chiave) per accedere alle proprietà personalizzate:

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