Ctrl +q kende alle onderdelen van mijn asm

Hallo;

Ik doe een beroep op u omdat ik een probleem heb met het herbouwen van mijn onderdelen, leg ik uit. J

Ik heb een assemblage die bestaat uit x onderdelen. Een deel van de waarde van deze munten wordt gecontroleerd door het eigendomsbord.

Dus sinds de montage kan ik op elk onderdeel ingrijpen om de waarden te wijzigen.

Mijn zorg is om rekening te houden met de nieuwe waarden, ik ben gedwongen om elk stuk een voor een te openen, een ctrl + q  te doen en vervolgens dit bestand op te slaan, het is niet cool.

Is er een oplossing om de Ctrl+Q op alle onderdelen van mijn ASM te automatiseren.

Bedankt.

Moge de kracht met je zijn.

 

Hallo OBI WAN;

Heeft u geprobeerd CTRL+SHIFT+Q? Het wordt verondersteld om herbouwingen in alle configuraties te forceren....
Wees voorzichtig, in de beschrijving van deze sluiproute waarschuwt Solidworks zelf, i site, voor "de aanzienlijke tijd" die deze reconstructies in beslag kunnen nemen.

Heb je geprobeerd je assembly over te schakelen naar de Lite-modus en vervolgens terug te zetten naar de opgeloste modus?

Als dat nog niet genoeg is, denk ik dat we naar een macro moeten gaan.

Vriendelijke groeten

Let op: zou je niet toevallig dubbel hebben gepost?....

3 likes

 @Maclane

Dank u voor uw interventie , maar het werkt niet  sniif.

mogelijk dat het 2 keer is gepost, maar toen het bericht werd gemaakt, verscheen het niet in de nieuwsfeed, dus ik heb een tweede bericht gemaakt en vreemd genoeg zie ik er maar één, het is raar.

Moge de kracht met je zijn.

Ik heb een macro gevonden in de solidworks API-hulp om alle elementen van een assembly te schakelen tussen de Lightweight-modus en de Resolved-modus;
Ik lever het zoals het is: (wees voorzichtig, de verwerking is erg lang voor grote assemblages).
Om te proberen.....

'-----------------------------------------------
' Preconditions:
' 1. Open an assembly.
' 2. Open the Immediate window.
'
' Postconditions:
' 1. Sets all assembly components to either
'    lightweight or fully resolved.
' 2. Examine the FeatureManager design tree
'    and Immediate window.
'----------------------------------------------
Option Explicit

Sub ProcessComponent(swApp As SldWorks.SldWorks, swModel As SldWorks.ModelDoc2, swComp As SldWorks.Component2, swComponentSuppressionState As swComponentSuppressionState_e, sPadStr As String)

    Dim vChildCompArr As Variant
    Dim vChildComp As Variant
    Dim swChildComp As SldWorks.Component2
    Dim nRetVal As Long

    vChildCompArr = swComp.GetChildren
    For Each vChildComp In vChildCompArr
        Set swChildComp = vChildComp
        nRetVal = swChildComp.SetSuppression2(swComponentSuppressionState)
        Debug.Print sPadStr & swChildComp.Name2 & " <" & swChildComp.ReferencedConfiguration & "> --> " & swChildComp.GetPathName
        ProcessComponent swApp, swModel, swChildComp, swComponentSuppressionState, sPadStr + "  "
    Next vChildComp

 End Sub

Sub main()

    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swFeatMgr As SldWorks.FeatureManager
    Dim swConfigMgr As SldWorks.ConfigurationManager
    Dim swConfig As SldWorks.Configuration
    Dim swRootComp As SldWorks.Component2
    Dim bRet As Boolean
    Dim nSuppressState As Long
    Dim nResponse As Long

    nResponse = MsgBox("Set all components to lightweight or resolved (Yes = Lightweight; No = Resolved)?", vbYesNo)
    If nResponse = vbYes Then
        nSuppressState = swComponentLightweight
    Else
        nSuppressState = swComponentFullyResolved
    End If

    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swFeatMgr = swModel.FeatureManager
    Set swConfigMgr = swModel.ConfigurationManager
    Set swConfig = swConfigMgr.ActiveConfiguration
    Set swRootComp = swConfig.GetRootComponent3(True)
    swFeatMgr.EnableFeatureTree = False

    Debug.Print "File = " & swModel.GetPathName

    ProcessComponent swApp, swModel, swRootComp, nSuppressState, "  "

    swFeatMgr.EnableFeatureTree = True

End Sub

Bron: https://help.solidworks.com/2020/set_all_assembly_components_lightweight_or_resolved_example_vb.htm
Ik wed dat onze vrienden die gespecialiseerd zijn in macro "blij" zullen zijn om het aan uw behoeften aan te passen ....

Vriendelijke groeten.

2 likes

Kijk of deze SW2013 Macro nog steeds werkt, want het lijkt zijn werk te doen.

https://www.3dcontentcentral.com/macros/Macro.aspx?id=191419


herbouwennsaveallparts.swp
3 likes

 @sbadenis

Nikkel, de macrotoner werkt, het doet zijn werk, het is precies wat  ik nodig had.

Een mysterie opgelost.

Dank aan de deelnemers , dank u forum.

Moge de kracht met je zijn.

 

1 like

Hallo 

Ik probeer te volgen, de eigenschappenmatrix is het vergelijkingsgereedschap, nee! :S

1 like

@ Lynk

Hallo

Niet de vergelijkingen, ik heb het over de reeks eigenschappen.

Kijk naar de tutorial van onze vriend @a.Leblanc  , het is interessant.

https://www.lynkoa.com/contenu/piloter-des-dimensions-avec-les-propri%C3%A9t%C3%A9s-personnalis%C3%A9es-de-pi%C3%A8ces-0

Moge de kracht met je zijn.

 

 

2 likes

@OBI WAN denk ik dat @Lynk gelijk heb, zelfs als je de eigenschappen doorneemt, maakt het een vergelijking zodra je het =-symbool in een heuvel zet.

Kijk maar naar het einde van de eerder geciteerde tutorial van @a.leblanc, wanneer hij de verwijdering toevoegt, opent hij het vergelijkingsvenster en vinden we de verschillende waarden die eerder zijn toegevoegd.

1 like

 @sbadenis

Ja inderdaad  niet verkeerd,  ik bedoelde dat mijn waarden ik typ ze in de reeks eigenschappen die eigenlijk gerelateerd zijn aan de vergelijkingen.

Ik gebruik deze manier van doen omdat we de vellen nummeren om de montage te vergemakkelijken. de 1 voor de 1 ect...

Het invoeren van de nummers van de montage is dus veel eenvoudiger en sneller.

Moge de kracht met je zijn.

 

2 likes

Hallo @.

Ik wist niet dat je het eigendomsformulier op zo'n manier kon gebruiken, bedankt voor de info. 

3 likes