Macro voor het bevestigen van assemblageonderdelen en subniveaus

Hallo

we zijn verplicht om te werken aan assemblages die zijn geëxtraheerd uit STEP- of IGES-bestanden.

Onderdelen, samenstellingen en subniveaus zijn standaard gratis.

Kent u of weet u een snelle manier om alle onderdelen van de hoofdassemblage te bevestigen.

Bedankt.

Mijnlamp

Hallo

Probeer het volgende:

Optie Expliciete
Dim swApp als SldWorks.SldWorks
Dim swModel als SldWorks.ModelDoc2
dim swAssy als SldWorks.AssemblyDoc
dim swModelDocExt als SldWorks.ModelDocExtension
dim swComp als SldWorks.Component2
dim swSelMgr als SldWorks.SelectionMgr
Dim fouten zo lang
Dim waarschuwingen zo lang
Dim status als Booleaanse
Sub hoofd()
    Stel swApp = Application.SldWorks
    in Stel swModel = swApp in.ActiveDoc
    Set swAssy = swModel
    Set swModelDocExt = swModel.Uitbreidingsset
    swSelMgr = swModel.SelectieManager
    
    ' Los alle fouten met lichtgewicht componenten
    op = swAssy.ResolveAllLightWeightComponents(True)
    Debug.Print ("Alle lichtgewicht componenten opgelost (0 = Alle componenten opgelost)? " & fouten)
    
    ' Fix de status van de geselecteerde component
    = swModelDocExt.SelectByID2("Pad_1-1@key pad_1", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
    swAssy.FixComponent-status
    = swModelDocExt.SelectByID2("Pad_1-1@key pad_1", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
    Set swComp = swSelMgr.GetSelectedObjectsComponent3(1, -1)
    Debug.Print ("Geselecteerd onderdeel opgelost?" " & swComp.IsFixed)
    
Einde Sub

 

Bronnen: http://help.solidworks.com/2015/english/api/sldworksapi/resolve_all_components_fix_a_component_example_vb.htm

Edit: Ik voeg het txt-bestand toe omdat de presentatie automatisch wordt verwijderd

 

 


macro_resoud_et_fixe_les_composants.txt
2 likes

Hallo

Is het mogelijk als een bijgevoegd document, met de rechtermuisknop en "fixeer" alle elementen!?


capture.png
1 like

Bedankt herinnering, ik zal het proberen.

Het probleem, tekening6, is dat deze manipulatie ons niet in staat stelt de subniveaus vast te stellen. Maar toch bedankt!

Mijnlamp

1 like

Herinnering,

Ik kan de macro die je me hebt gestuurd niet implementeren.

Heeft u nog aanvullende informatie om mij te verstrekken, alstublieft.

Bedankt.

Hallo

Alle componenten van het samenstel moeten worden doorkruist, zoals weergegeven in deze macro:

http://help.solidworks.com/2012/english/api/sldworksapi/traverse_assembly_at_component_level_example_vb.htm

Corrigeer ze vervolgens allemaal zoals aangegeven in een van deze twee links:

http://help.solidworks.com/2014/English/api/sldworksapi/Resolve_All_Components_Fix_A_Component_Example_VB.htm

http://help.solidworks.com/2016/English/api/sldworksapi/Temporarily_Fix_and_Group_Components_Example_VB.htm

 

2 likes

Nu, eerlijk gezegd, ben ik overweldigd.

Ik kan de voorbeelden die u geeft niet rijmen met de zaak waar ik mee te maken heb.

 

Een collega heeft een werkende macro gevonden, maar deze is vergrendeld en ik heb het wachtwoord niet.

Het belangrijkste is dat het werkt.

Ik deel, voor het geval anderen dezelfde behoeften hebben.

Dank u allen voor uw antwoorden.

@+ op het forum.

Mijnlamp


fixer_ensembles_et_sous_ensembles.swp
3 likes

Hallo

- De 1e link stelt u in staat om alle onderdelen van een assemblage één voor één op te sommen en eraan te werken (traverse assembly). Dit zou het eerste stukje code zijn dat in een macro wordt geïmplementeerd: het creëert de lus. Op het eerste gezicht wordt alleen de eerste sub gebruikt

- De 2e link sluit zich aan bij de @remrem link: het bevat de commando's om het onderdeel waaraan je werkt te repareren en het deel "repareer het geselecteerde onderdeel" om in het midden van de lus in te voegen (op het niveau van debug.print)

- De 3e link moet een macro zijn die de vorige bewerkingen uitvoert, maar onder SW2016: Ik kan de FixGroup-functie niet vinden onder 2015

 

 

3 likes

Bedankt voor deze glaffont precisie!

Het is altijd goed om te nemen.

Je had dus niet mijn antwoord als het beste moeten kiezen! Omdat ik daardoor niet veel deed.

Ik was aan het sleutelen aan de code om het te laten werken. Maar je hebt eerder geantwoord.

Bedankt voor het plaatsen van de macro.

Ik zal het gebruiken. :-)

2 likes

Ik kon mijn antwoord met de macro niet als oplossing stellen.

Dus je antwoord komt voor mij het dichtst in de buurt.

U bent van harte welkom voor de macro. Toch zou ik nog steeds nieuwsgierig zijn om het te kunnen publiceren.

1 like

Als een goede beloning is hier het bestand zonder wachtwoord.

Dus het stelde me in staat om mijn fout in te zien.

:-)


fixer_ensembles_et_sous_ensembles.swp
1 like

@remrem, dank je wel!

Is dat jouw macro? Of je hebt de mdp...

Het is belangrijk om te weten dat het wachtwoord van een macro geen erg effectieve bescherming is.

U kunt de beveiliging opheffen met een eenvoudige hexadecimale lezer.

4 likes

Super! Dank je wel herinnering!

Het is echter onmogelijk om het te downloaden.

Hallo @davy,

Er is een bug op Lynkoa die betekent dat wanneer u de bijlage van een antwoord downloadt, u de bestandsextensie opnieuw moet invoeren in plaats van ".htm" zoals voorgesteld in het dialoogvenster. In uw geval moet u ".swp" schrijven voor het laatste @remrem bestand.

De kans is groot dat uw downloadprobleem hier vandaan komt.

(ook op te merken, maar ik denk dat je weet, dat .swp-bestanden niet rechtstreeks vanuit een verkenner starten, je moet naar Tools/Macro/Run gaan)

1 like

Ik heb geen problemen.

Ik gebruik Firefox en W7.

1 like

Bedankt voor de informatie Benoit!