| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | Ihr Fabriklayout mit 3DEXPERIENCE DELMIA |
Autor
|
Thema: VBA Strukturanzeige (499 mal gelesen)
|
TestMitglied Mitglied
Beiträge: 82 Registriert: 15.06.2005 Nur so zum Test
|
erstellt am: 31. Jan. 2023 17:23 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, wie man leicht sieht, komme ich nicht weiter. Ich will bei "alten" Baugruppen die Strukturanzeige ändern - geht laut API-Hilfe seit 2022SP01 Leider läuft (bei mir 2022SP5) nicht mal das Beispiel aus der API-Hilfe richtig: Code: ' ' Beispiel aus der Hilfe ' https://help.solidworks.com/2022/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.ifeaturemanager~setcomponentidentifiers.html ''VBA '------------------------------------------------------- ' Preconditions: ' 1. Open public_documents\SOLIDWORKS\SOLIDWORKS 2022\samples\tutorial\smartcomponents\pillow_block.sldasm. ' 2. Widen the FeatureManager design tree. ' ' Postconditions: Inspect the FeatureManager design tree and press F5 after each Stop. ' ' Notes: Because the model is used elsewhere, do not save changes. '------------------------------------------------------- Option Explicit Dim swApp As SldWorks.SldWorks Dim Part As SldWorks.ModelDoc2 Dim swFeatMgr As SldWorks.FeatureManager Dim compIdentifierRet As Long Sub main() Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc Set swFeatMgr = Part.FeatureManager ' Vorhandene Werte auslesen Dim Prim As Integer Dim Sec As Integer Dim Ter As Integer Prim = swFeatMgr.ComponentPrimaryIdentifier Sec = swFeatMgr.ComponentSecondaryIdentifier Ter = swFeatMgr.ComponentTertiaryIdentifier Debug.Print Prim Debug.Print Sec Debug.Print Ter ' Do show configuration or display state name if only one exists swFeatMgr.HideComponentSingleConfigurationOrDisplayStateNames = False ' Set primary identifier compIdentifierRet = swFeatMgr.SetComponentIdentifiers(swComponentIdentifier_ComponentName, 0, 0) Stop compIdentifierRet = swFeatMgr.SetComponentIdentifiers(swComponentIdentifier_ComponentDescription, 0, 0) Stop ' Set primary and secondary identifiers compIdentifierRet = swFeatMgr.SetComponentIdentifiers(swComponentIdentifier_ComponentName, swComponentIdentifier_ConfigurationName, 0) Stop compIdentifierRet = swFeatMgr.SetComponentIdentifiers(swComponentIdentifier_ComponentName, swComponentIdentifier_ConfigurationDescription, 0) Stop compIdentifierRet = swFeatMgr.SetComponentIdentifiers(swComponentIdentifier_ComponentName, swComponentIdentifier_ComponentDescription, 0) Stop 'Set primary, secondary, and tertiary identifiers compIdentifierRet = swFeatMgr.SetComponentIdentifiers(swComponentIdentifier_ComponentName, swComponentIdentifier_ConfigurationName + swComponentIdentifier_ConfigurationDescription + swComponentIdentifier_ComponentDescription, swComponentIdentifier_DisplayStateName) Stop ' Gewünschte Werte setzen compIdentifierRet = swFeatMgr.SetComponentIdentifiers(2, 4, 0) swFeatMgr.HideComponentSingleConfigurationOrDisplayStateNames = False Prim = swFeatMgr.ComponentPrimaryIdentifier Sec = swFeatMgr.ComponentSecondaryIdentifier Ter = swFeatMgr.ComponentTertiaryIdentifier Debug.Print Prim Debug.Print Sec Debug.Print Ter Debug.Print compIdentifierRet End Sub
Am Ende bekomme ich weder die gewünschten Werte für Prim, Sec oder Ter noch ändert sich HideComponentSingleConfigurationOrDisplayStateNames. Dafür aber bei compIdentifierRet eine 4. Hier wäre mir einen "0" lieber Kann mir jemand helfen? Danke schon mal im voraus ------------------
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 31. Jan. 2023 18:02 <-- editieren / zitieren --> Unities abgeben: Nur für TestMitglied
Nach kurzem Test hab ich bemerkt, dass die Optionen zwar aktiviert werden, aber per Makro nicht mehr deaktiviert werden können. Gibt auch ein SPR dazu SPR1237147 ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TestMitglied Mitglied
Beiträge: 82 Registriert: 15.06.2005 Nur so zum Test
|
erstellt am: 01. Feb. 2023 10:58 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von HenryV: Nach kurzem Test hab ich bemerkt, dass die Optionen zwar aktiviert werden, aber per Makro nicht mehr deaktiviert werden können. Gibt auch ein SPR dazu SPR1237147
Herzlichen Dank Hab garnicht dran gedacht in der KB zu schauen Auch für HideComponentSingleConfigurationOrDisplayStateNames gibt es ein SPR: SPR1237152 Für SolidWorks2022 wird's dafür wahrscheinlich keine Lösung mehr geben... Hab mich mal auf die Benachrichtigungsliste gesetzt ------------------
[Diese Nachricht wurde von TestMitglied am 01. Feb. 2023 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|