Witam
Bez narzędzi MyCAD (w przeciwnym razie jest to zbyt łatwe!!) Chciałbym wiedzieć, czy istnieje możliwość zbiorczego wyodrębnienia jednej lub więcej niestandardowych właściwości z części SolidWorks.
Witam
Bez narzędzi MyCAD (w przeciwnym razie jest to zbyt łatwe!!) Chciałbym wiedzieć, czy istnieje możliwość zbiorczego wyodrębnienia jednej lub więcej niestandardowych właściwości z części SolidWorks.
Tak, pod VB.Net, jeśli wiesz, mogę dać ci kilka kodów, które kiedyś :)
Tak, chcę, byłoby miło.
Dziękuję
Witam
W tym celu dostępny był samouczek dotyczący kodu VBA.
http://www.lynkoa.com/tutos/import-export-formats-neutres/macro-solidworks-exporter-les-propri%C3%A9t%C3%A9s-personnalis%C3%A9e-vers-exce
To rzeczywiście jest to makro, ale nie przetwarza plików zbiorczych i jestem zmuszony otworzyć SolidWorks.
Żałuję, że nie mogę tego zrobić bez otwierania SolidWorks.
Nie używam już tego kodu, ale w czasie, gdy działał, informował mnie na bieżąco
''' <summary>
''' Renvoi la propriete selectionner dans un fichier Solidworks Donnée
''' swSumInfoTitle = 0
''' swSumInfoSubject = 1
''' swSumInfoAuthor = 2
''' swSumInfoKeywords = 3
''' swSumInfoComment = 4
''' swSumInfoSavedBy = 5
''' swSumInfoCreateDate = 6
''' swSumInfoSaveDate = 7
''' swSumInfoCreateDate2 = 8
''' swSumInfoSaveDate2 = 9
''' </summary>
''' <param name="File">Fichier a controller</param>
''' <param name="PropNumber">Type d'info a recupere</param>
''' <returns></returns>
''' <remarks></remarks>
Function ReadProperties(File As String, PropNumber As Integer) As String
If File = Nothing Or PropNumber = Nothing Then Return Nothing
Dim swDocSpecification As SldWorks.DocumentSpecification = swApp.GetOpenDocSpec(File)
swDocSpecification.Silent = True : swDocSpecification.ReadOnly = True : swApp.OpenDoc7(swDocSpecification)
Dim swModel As ModelDoc2 = swApp.ActiveDoc
Dim Properties As String = swModel.SummaryInfo(PropNumber)
swApp.CloseDoc(File) 'Fermeture de la piece
If Not Properties = Nothing Then Return Properties Else Return Nothing
End Function
''' <summary>
''' Inscrit la propriete selectionner dans un fichier Solidworks Donnée
''' swSumInfoTitle = 0
''' swSumInfoSubject = 1
''' swSumInfoAuthor = 2
''' swSumInfoKeywords = 3
''' swSumInfoComment = 4
''' </summary>
''' <param name="File">Fichier a éditer</param>
''' <param name="PropNumber">Type d'info a renseigner</param>
''' <param name="PropValue">Info a renseigner</param>
''' <returns></returns>
''' <remarks></remarks>
Function WriteProperties(File As String, PropNumber As Integer, PropValue As String) ' As String
Dim swDocSpecification As SldWorks.DocumentSpecification = swApp.GetOpenDocSpec(File)
swDocSpecification.Silent = True : swDocSpecification.ReadOnly = False : swApp.OpenDoc7(swDocSpecification)
Dim swModel As ModelDoc2 = swApp.ActiveDoc
swModel.SummaryInfo(PropNumber) = PropValue
Dim fileerror, filewarning As Integer
swModel.Save3(SwConst.swSaveAsOptions_e.swSaveAsOptions_Silent, fileerror, filewarning)
swApp.CloseDoc(File) 'Fermeture de la piece
Return Nothing
'If ReadProperties(File, PropNumber) = PropValue Then Return PropValue Else Return Nothing
End Function
Delegate Sub dEditDrawingProperties(DrawingToEdit As String)
Function EditDrawingProperties(DrawingToEdit As String)
Dim swDmDoc As SwDocumentMgr.ISwDMDocument18 = swDmGetDocument(DrawingToEdit, False) 'Ouverture du document
'MAJ propriété général
swDmSetCustomProperty(swDmDoc, "LBM_DWG", Regex.Match(DrawingToEdit, "N°([0-9]+)-0.SLDDRW", RegexOptions.IgnoreCase).Groups(1).Value, SwDocumentMgr.SwDmCustomInfoType.swDmCustomInfoText)
swDmSetCustomProperty(swDmDoc, "LBM_REV", "0", SwDocumentMgr.SwDmCustomInfoType.swDmCustomInfoText)
swDmSetCustomProperty(swDmDoc, "LBM_REV1", "0", SwDocumentMgr.SwDmCustomInfoType.swDmCustomInfoText)
swDmSetCustomProperty(swDmDoc, "LBM_DATE1", Dateddmmyy, SwDocumentMgr.SwDmCustomInfoType.swDmCustomInfoText)
swDmSetCustomProperty(swDmDoc, "LBM_MEMO1", "First Issue", SwDocumentMgr.SwDmCustomInfoType.swDmCustomInfoText)
swDmSetCustomProperty(swDmDoc, "LBM_ISSUED1", User(), SwDocumentMgr.SwDmCustomInfoType.swDmCustomInfoText)
swDmSetCustomProperty(swDmDoc, "LBM_PROJECT", DrawingToEdit.Split(New Char() {"\"c})(5), SwDocumentMgr.SwDmCustomInfoType.swDmCustomInfoText)
swDmDoc.Save() : swDmDoc.CloseDoc() 'Sauvegarde du document'Fermeture du document
Return Nothing
End Function
W przeciwnym razie spójrz na swDocMgr http://help.solidworks.com/2016/english/api/swdocmgrapi/get_configuration_information_example_vbnet.htm
Cześć flegendre,
Aby uzyskać dostęp do właściwości plików oprogramowania bez ich otwierania, należy użyć interfejsu API Menedżera dokumentów.
Jak wspomniano w pomocy, musisz ubiegać się o bezpłatną licencję, logując się do swojej strefy klienta SW.
Następnie w "My Support" kliknij "API Assistance". Następnie na " Żądanie klucza menedżera dokumentów "
Zostaniesz poproszony o podanie informacji o swojej firmie i w jakim celu chcesz korzystać z tej licencji.
Są deszczowe poziomy dostępu. Korzystamy z funkcji Podstawowej i Zapoznawczej. Co jest więcej niż wystarczające.
Otrzymasz wiadomość e-mail z numerem licencji, który należy zintegrować z kodem. Będziesz musiał składać to żądanie co roku, aby uzyskać dostęp do plików oprogramowania w nowej wersji, a tym samym zmodyfikować klucz w swoim kodzie.
Czy kiedykolwiek kodowałeś w Vb.Net?
Czy korzystasz już z EDI?
Co chcesz zrobić w szczegółach?
Miłego dnia
Osobiście nie programuję, ale mój kolega inżynier wie, jak kodować w VBA.
Co to jest EDI?
To, co chcę dokładnie zrobić, to:
Chciałbym móc zrobić 2 rzeczy (bez otwierania SoloidWorks):
IDE to "zintegrowane środowisko programistyczne".
Osobiście korzystam z Visual Studio. Ale jest też wiele innych. Dzięki temu możesz utworzyć małą aplikację, która następnie instaluje się jak każda inna aplikacja.
Czy chcesz wyświetlić listę wszystkich właściwości każdego pliku, czy znasz już nazwy właściwości, które chcesz odczytać?
Chcesz zapoznać się z właściwościami plików .sldprt, sldasm i slddw?
Bądź ostrożny, Vb.net nadal bardzo różni się od VBA.
"Chcesz przeczytać właściwości .sldprt, sldasm i slddrw?"
Chcę tylko odczytać właściwości części SLDPRT
"Czy chcesz wyświetlić listę wszystkich właściwości każdego pliku, czy znasz już nazwy właściwości, które chcesz odczytać?"
W przypadku nr 1 chcę "głupio" wymienić wszystkie właściwości każdej części.
Przykład: Chcę wyświetlić listę wszystkich części z wartością FUNVISIO w jednej z właściwości.
W przypadku nr 2 znam nazwy właściwości i chcę szybko wyróżnić tę ze znaną wartością.
Przykład: Chcę wyświetlić listę wszystkich elementów z właściwością Material = Alu