Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  VBA Strukturanzeige

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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



Sehen Sie sich das Profil von TestMitglied an!   Senden Sie eine Private Message an TestMitglied  Schreiben Sie einen Gästebucheintrag für TestMitglied

Beiträge: 82
Registriert: 15.06.2005

Nur so zum Test

erstellt am: 31. Jan. 2023 17:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Strukturanzeige01.jpg


Strukturanzeige02.jpg


Strukturanzeige03-soll.jpg

 
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


Sehen Sie sich das Profil von HenryV an!   Senden Sie eine Private Message an HenryV  Schreiben Sie einen Gästebucheintrag für HenryV

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für TestMitglied 10 Unities + Antwort hilfreich

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



Sehen Sie sich das Profil von TestMitglied an!   Senden Sie eine Private Message an TestMitglied  Schreiben Sie einen Gästebucheintrag für TestMitglied

Beiträge: 82
Registriert: 15.06.2005

Nur so zum Test

erstellt am: 01. Feb. 2023 10:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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 >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz