Ich habe ein kleines Makro erstellt, um alle ausgewählten Teile aus der Nomenklatur auszuschließen. (über den Aufnahmemodus)
Das einzige Problem besteht darin, dass das Makro auf alle anderen Optionen in derselben Gruppe wirkt (Gruppe 5 in Rot unten).
Hier ist der Code (wenn ich mich richtig erinnere, musste ich eine Zeile mit einem Teilenamen löschen)
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.CompConfigProperties5(2, 0, True, True, "Défaut<Brut d'usinage>", True, False)
boolstatus = Part.EditRebuild3()
End Sub
Sie möchten also Teile auswählen und das Makro ausführen, sodass diese Teile aus der Stückliste ausgeschlossen werden?
"Also Frage: Können wir nur handeln, um aus der Nomenklatur auszuschließen? "
-> Möchten Sie wissen, ob Sie die Eigenschaften der Komponente ändern können, ohne die anderen Einstellungen zu ändern?
Wenn dies der Fall ist, schlage ich die folgende Änderung vor, die die Informationen der ausgewählten Entität abruft und diese Informationen der CompConfigProperties-Funktion hinzufügt, um nur den Ausschluss der Nomenklatur zu ändern.
Es liegt an Ihnen zu sehen, ob es so funktioniert, wie Sie es möchten.
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swSelectionMgr As SldWorks.SelectionMgr
Dim swEntity As SldWorks.Entity
Dim swComponent As SldWorks.Component2
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
Set swSelectionMgr = swModel.SelectionManager
Set swEntity = swSelectionMgr.GetSelectedObject6(1, -1)
Set swComponent = swEntity.GetComponent
boolstatus = swModel.CompConfigProperties5(swComponent.GetSuppression, swComponent.Solving, swComponent.Visible, True, swComponent.ReferencedConfiguration, True, swComponent.IsEnvelope)
boolstatus = swModel.EditRebuild3()
End Sub
Logischerweise wäre die 2. Lösung die richtige, um zu sehen, wie man sie im Makro so verwendet, wie sie sein sollte. Auch wenn die 1. eine weitere praktikable Lösung ist.
Nehmen wir an, dass mein aktuelles Makro funktioniert, da 90% meiner Teile auf die gleiche Weise konstruiert sind.
Aber für den Fall, dass ich für die Teile, bei denen ich mehrere Konfigurationen einsetze, es mich in meiner Baugruppe diese Teile in der 1. Konfiguration (Standard) ändert und die Baugruppe plötzlich bricht (einfach die richtige Konfiguration erneut auswählen).
Andernfalls besteht die andere Lösung darin, die Zeilen auszuwählen, die aus der Nomenklaturtabelle ausgeschlossen werden sollen.
Sie können auch ein Programm ausprobieren, das ich in den Tutorials zur Verfügung gestellt habe, es ist HIER, es ist in C # geschrieben, aber es ist auch in VBA machbar und ich verwende die Funktion "ExcludeFromBOM" darin.