Hallo
Ik ben net overgestapt naar SW2023 (voorheen 2020). En ik heb deze macro om de beschrijving weer te geven in functiebeheer:

Maar ik zou graag de secundaire beschrijving in deze macro willen verwijderen:

Enig idee om deze macro te voltooien?
Bedankt
Hallo;
Bewerk je lijn:
SWfeature. ShowComponentDescriptions=Waar
in
SWfeature. ShowComponentDescriptions=Onwaar
Solidworks biedt het volgende aan (om de typen aan te passen die op componenten moeten worden weergegeven (feautreTree):
Waar => Zichtbaar
Onwaar =>verborgen
https://help.solidworks.com/2023/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IFeatureManager_members.html
1 like
Hallo
SWfeature. ShowComponentDescriptions is de beschrijving van de component op primair niveau. Wat ik graag zou willen is de componentbeschrijving op het secundaire niveau uitschakelen en de beschrijving op het primaire niveau tonen.
Bedankt.
Hallo
Kijk in plaats daarvan naar deze kant om in te grijpen op de tweede identifier: SetComponentIdentifiers Method (IFeatureManager) - 2023 - SOLIDWORKS API Help
1 like
Hallo Cyril,
Bedankt, maar ik kan er niets uit halen.
Hallo
Nou, het lijkt een bug te hebben.
Kortom, als een parameter eenmaal via de set is toegepast, is het bijna onmogelijk om deze door te geven aan false.
Wat ik heb getest dat in jouw geval zou kunnen werken, is dit:
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
Uiteraard bekend probleem in de versie van 2022:
https://ww3.cad.de/foren/ubb/Forum2/HTML/034314.shtml
er is een SPR aangemaakt in sw2022SP5, vertaling van het 2e bericht:
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 like
Zoals gewoonlijk, hebben geen haast 
De SPR houdt zich alleen met dit punt bezig swFeatMgr.HideComponentSingleConfigurationOrDisplayStateNames = False
Wat me ook opviel aan de 2023, maar het is iets algemener over de rest.
De andere opties zijn ook onmogelijk te remmen.
Maar met uw @Cyril_f oplossing is het inderdaad mogelijk om de bug te omzeilen en de 2 primaire vakjes aan te vinken door de secundaire beschrijving uit te vinken:
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
Na de macro:

1 like
Hallo
Bedankt voor je pogingen, maar thuis stopt de macro op deze regel met " Runtime error 449: Non-optional argument"
Hallo
Geen probleem van mijn kant.
Er is geen gebrek aan argumenten op deze lijn.