Automatisch een Solidworks-macro uitvoeren

Hallo

 

Is het mogelijk om automatisch een macro uit te voeren die is gekoppeld aan een onderdeel wanneer het in een Solidworks-assemblage wordt ingevoegd?

 

Bij voorbaat dank!

 

 

Ik heb de post die ik deed in de andere vraag gezet

 

om dit soort automatisering uit te voeren, is het ingewikkelder, je moet een SW-invoegtoepassing maken die de gebeurtenissen van de applicatie beheert. In feite moet je meer programmeren dan een macro, je moet via een ontwikkeltool als Microsoft Visual Studio gaan.

 

Hiervoor is een myCAD-tool genaamd CustomToolBar, waarin het mogelijk is om een macro te activeren met betrekking tot gebeurtenissen (bijvoorbeeld het invoegen van een component)

 

Maar eenvoudiger zonder deze tool is het maken van een macro-snelkoppeling in de werkbalken.

 

Of maak een macro die de invoegfunctie van dit onderdeel start en vervolgens het formaatvenster weergeeft...

5 likes

Hallo

Ik zou in de verleiding komen om te zeggen dat een enkele macro niet genoeg zou zijn, maar met een opeenvolging van macro's zou het het kunnen doen.

Tenzij je meerdere macro's aan elkaar kunt koppelen, maar ik weet er niet genoeg van.

Voor de opening bij het invoegen van een onderdeel in een assemblage hangt het ervan af of u wilt:

 

  • maak het in een bepaalde assemblage (afhankelijk van de naam),
  • doe het voor een bepaald deel,
  • Doe het de hele tijd.

 

Voor het laatste geval is het eenvoudig, je kunt dan de SolidWorks-invoegknop vervangen door een knop voor je macro !

1 like

Concreet zou ik willen dat wanneer ik mijn reling in een assemblage plaats, het maatvenster (en dus de macro die bij de reling hoort) loopt.

Ik zal dan andere standaardelementen voor ons maken (poort, ladder,...) en ik zou graag willen dat het met deze onderdelen hetzelfde is.

 

Ik sta echt open voor alle soorten ideeën, met als einddoel het leven van de eindgebruiker gemakkelijker te maken:D

 

Hallo

 

Waarom gebruikt u hiervoor niet de standaard SolidWorks-functies in plaats van macro's te ontwikkelen die in toekomstige versies van SolidWorks moeten worden bijgewerkt.

Als u een onderdeel of merk wilt invoegen met een dialoogvenster om parameters te beheren, kunt u DriveWorks xpress of de configuratiemanager gebruiken (op het tabblad Configuraties).

 

@+

3 likes

In deze video worden de macro's uitgelegd die in assemblages zijn ingebouwd:

http://www.youtube.com/watch?v=zbvp1v7_bec

 

De oplossing, een beetje ingewikkeld, zou zijn om de macro in uw assemblage te maken, zoals weergegeven in de video.

 

Maak een aangepaste "reling"-eigenschap op 0.

 

Voeg een voorwaarde toe aan de macro: detecteer wanneer het "reling" deel wordt toegevoegd.

 

De macro doet zijn werk en verandert vervolgens de eigenschap "railing" in 1 om de macro niet langer te starten.

 

Probleem: deze macro controleert de aangepaste eigenschap "vangrail" en als je het onderdeel bij elke rebuild invoegt: overbelasting voor de processor!

 

Oordeel: veel werk voor niet veel... Een knop zou echt simpeler zijn!

Andere mogelijkheden voor het starten van macro's:

 

Door een vergelijking, uit de ontwerpmap, uit een functiemacro:

 

http://www.cadsharp.com/blog/4-ways-to-run-solidworks-api-macro-without-run-button/

 

Macro-functie: http://www.youtube.com/watch?v=I-cIGMFSBOg

Coyote

 

Ik heb de DriveWorksXpress-methode getest, door een model te definiëren, door de afmetingen vast te leggen die ik wil variëren, maar ik begrijp niet hoe ik dit configuratievenster kan laten verschijnen wanneer ik het onderdeel daarna in de assemblage plaats?

@jfaradon,

 

Ik ben buggen op uw idee van het maken van een macro om het onderdeel in te voegen en het openen van het venster te genereren.

 

Als je me een aanwijzing kunt geven of het programma:D

Het idee is gewoon om in de macro ta de invoeging van het onderdeel aan het begin toe te voegen!

Met component Toevoegen:

http://help.solidworks.com/2012/English/api/sldworksapi/Add_Components_Example_VB.htm

Re

 

Inderdaad, met DriveWorks Xpress zei ik iets stoms: het venster gaat niet open tijdens het invoegen.

Aan de andere kant, met mijn tweede aangegeven methode, namelijk de configuratiemanager, werkt het als volgt, op het moment van het invoegen van het model verschijnt het configuratievenster in de functiebeheerder.

 

@+

 

Er zijn twee manieren om het invoegen van een component te programmeren, ofwel programmeert u alles (AddComponent)

of u voert de opdracht gewoon uit alsof u op de knop "Componenten invoegen" klikt

 

Om dit te doen, moet u de RunCommnand-methode gebruiken, waarmee u SW-opdrachten kunt uitvoeren

Voorbeeld in uw geval

 

swDoc.Extension.RunCommand(swCommands_e.swCommands_InsertComponents, "")

 

u moet de swCommands-referentie aan het project toevoegen

 

Wees voorzichtig, de opdracht is asynchroon, d.w.z. de code gaat verder zonder te wachten tot de invoegopdracht is voltooid...

 

 

2 likes

 Hallo allemaal.

 

Sorry dat ik de draad niet heb gevolgd, maar ik moest een tijdje weg zijn.

Nou, ik sta nog steeds stil en daar kom ik tegen dat ik echt een beginneling ben;)

 

Nou, als een liefdadige ziel het rechtstreeks op mijn macro kan proberen, zou ik hem voor altijd dank verschuldigd zijn:D

 

Bij voorbaat dank aan allen.


garde-corps.zip