2016-03-23 10 views
12

Pierwsza uwaga Nie mam zainstalowanych solidworks na moim komputerze, ale używam plików dla projektu.Uzyskiwanie materiałów niestandardowych z solidworks

Solidworks ma możliwość utworzenia niestandardowej karty we właściwościach pliku. W tej zakładce można znaleźć wszelkiego rodzaju informacje o modelu (części) wykonanym w solidworks.

Odczytuję wszystkie te informacje i przechowuję je w pliku .txt patrz zdjęcie. W tej informacji można znaleźć typ materiału części, w której pojawia się moje pytanie. enter image description here

Znam rodzaj materiału, jednak w solidworks użytkownik może również przypisać custom materials do materiału zdefiniowanego we właściwościach niestandardowych. Na przykład materiał jest zwykłym drewnem, ale użytkownik chce, aby to drewno było różowe.

Czy można odczytać custom materials, które są dołączone do materiału w niestandardowych właściwościach?

+2

Proponuję użyć tekstu z pliku zamiast użyć jego obrazu. – Rumbles

+0

@Rumbles, co masz na myśli? – Desutoroiya

+0

Użyłeś obrazka pliku tekstowego w poście, sugerowałbym, aby sam tekst był lepszy – Rumbles

Odpowiedz

2

Aby odczytać właściwości materiału próby:

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

Według SOLIDWORKS documentation:

Wartości materiałów obejmują koloru (r, g, wartości b), współczynnik odbicia (otoczenia, rozlany, lustrzane, lśnienie), przejrzystości i emisji.

Format parametrów lub wartości zwracane jest tablicą podwaja się następująco: [R, G, B, otoczenia, rozlany, Połysk, połysk, przezroczystość Emisji]

Wszystkie elementy musi mieścić się w przedziale od 0 do 1.

+0

Czy ta biblioteka DLL działa bez solidów zainstalowanych na komputerze? – Desutoroiya

+0

Wymaga uruchomienia SOLIDWORKS. Jeśli nie przechowujesz swoich niestandardowych informacji o materiałach w niestandardowej właściwości (do której dostęp może uzyskać api menedżera dokumentów), nie będzie można uzyskać dostępu do tych informacji bez zainstalowanego SOLIDWORKS. – AndrewK

+0

To nie działa dla mnie. Tak jak powiedziałem, nie mam zainstalowanego SolidWorks na moim systemie i już przeczytałem jak w moim pytaniu właściwości niestandardowe – Desutoroiya

2

Jeśli nie masz zainstalowanego SolidWorks, można użyć document manager (wymaga aktywnego subskrypcji SolidWorks, aby uzyskać klucz), aby uzyskać dostęp do właściwości niestandardowe:

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); 
Powiązane problemy