Beschreibung im Feature-Manager

Hallo

Ich bin gerade auf SW2023 (ehemals 2020) umgestiegen. Und ich habe dieses Makro, um die Beschreibung im Feature-Manager anzuzeigen:

2024-06-28_15h39_05

Aber ich möchte die sekundäre Beschreibung in diesem Makro entfernen:

2024-06-28_15h41_20

Haben Sie eine Idee, um dieses Makro zu vervollständigen?

Vielen Dank

Hallo;
Bearbeiten Sie Ihre Zeile:
sw-Funktion verwenden. ShowComponentDescriptions=Wahr
in
sw-Funktion verwenden. ShowComponentDescriptions=Falsch

Solidworks bietet dies an (um die Typen anzupassen, die auf Komponenten angezeigt werden sollen (feautreTree):
True => Sichtbar
False =>Versteckt

https://help.solidworks.com/2023/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IFeatureManager_members.html

1 „Gefällt mir“

Hallo

sw-Funktion verwenden. ShowComponentDescriptions ist die Beschreibung der Komponente auf der primären Ebene. Was ich möchte, ist, die Komponentenbeschreibung auf der sekundären Ebene zu deaktivieren und die Beschreibung auf der primären Ebene anzuzeigen.

Vielen Dank.

Hallo

Schauen Sie sich stattdessen diese Seite an, um in den zweiten Bezeichner einzugreifen: SetComponentIdentifiers-Methode (IFeatureManager) - 2023 - SOLIDWORKS API-Hilfe

1 „Gefällt mir“

Hallo Cyril,

Danke, aber ich kann nichts daraus machen.

Hallo
Nun, es scheint einen Fehler zu haben.
Grundsätzlich ist es fast unmöglich, einen Parameter, sobald er über die Menge angewendet wurde, an false zu übergeben.
Was ich getestet habe, das in Ihrem Fall funktionieren könnte, ist Folgendes:

Dim swApp As SldWorks.SldWorks
Dim SelMgr As SldWorks.SelectionMgr
Dim swFeatMgr As SldWorks.FeatureManager
Dim Part As SldWorks.ModelDoc2
Dim compIdentifierRet As Long
 
Sub Main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set swFeatMgr = Part.FeatureManager
compIdentifierRet = swFeatMgr.SetComponentIdentifiers(swComponentIdentifier_ComponentDescription, 0, 0)  'Bascule la valeur primaire sur Description du composant afin de vider la sélection dans la valeur secondaire
compIdentifierRet = swFeatMgr.SetComponentIdentifiers(swComponentIdentifier_ComponentName, 0, 0)  'Rebascule la valeur primaire sur Nom du composant
End sub

Offensichtlich bekanntes Problem in der Version 2022:
https://ww3.cad.de/foren/ubb/Forum2/HTML/034314.shtml
In sw2022SP5 wurde eine SPR erstellt, die Übersetzung der 2. Nachricht:

Après un bref test, j'ai remarqué que les options sont activées, mais ne peuvent plus être désactivées par macro.
Il existe aussi un SPR à ce sujet SPR1237147
1 „Gefällt mir“

Wie üblich haben Sie es nicht eilig :smiley:

Die SPR befasst sich nur mit diesem Punkt swFeatMgr.HideComponentSingleConfigurationOrDisplayStateNames = False
Was mir auch beim 2023 aufgefallen ist, aber beim Rest ist es etwas allgemeiner.
Auch die anderen Optionen sind unmöglich zu hemmen.

Aber mit Ihrer @Cyril.f-Lösung ist es tatsächlich möglich, den Fehler zu umgehen und die 2 primären Kontrollkästchen zu aktivieren, indem Sie die sekundäre Beschreibung deaktivieren:

Dim swApp As SldWorks.SldWorks
Dim SelMgr As SldWorks.SelectionMgr
Dim swFeatMgr As SldWorks.FeatureManager
Dim Part As SldWorks.ModelDoc2
Dim compIdentifierRet As Long
 
Sub Main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set swFeatMgr = Part.FeatureManager
compIdentifierRet = swFeatMgr.SetComponentIdentifiers(swComponentIdentifier_ComponentDescription, 0, 0)  'Bascule la valeur primaire sur Description du composant afin de vider la sélection dans la valeur secondaire
compIdentifierRet = swFeatMgr.SetComponentIdentifiers(swComponentIdentifier_ComponentName, 0, 0)  'Rebascule la valeur primaire sur Nom du composant


    ' Show Component Descriptions is set to true
    swFeatMgr.ShowComponentDescriptions = True

    ' Show Component Configuration Names is set to false
    swFeatMgr.ShowComponentConfigurationNames = True
     ' Show Component Configuration Descriptions is set to false
    swFeatMgr.ShowComponentConfigurationDescriptions = False
    ' Show Component Names
    swFeatMgr.ShowComponentNames = True
End Sub

Nach dem Makro:
image

1 „Gefällt mir“

Hallo

Vielen Dank für Ihre Versuche, aber zu Hause stoppt das Makro in dieser Zeile mit " Laufzeitfehler 449: Nicht optionales Argument"

Hallo
Kein Problem auf meiner Seite.
An Argumenten mangelt es in dieser Richtung nicht.