Macro Document Sjabloon

Hallo

In mijn bedrijf hebben we een documentsjabloon, voor onderdelendossiers.

Ik wil graag een macro in dit model opnemen. Het doel is dat iedereen die het model gebruikt, toegang heeft tot de macro.

Ik heb geen oplossing gevonden om dit te doen. Weet je of er iets is of dat elke persoon een nieuwe knop moet toevoegen met de link naar de macro?

Bedankt

Hallo

Wat is het doel van deze macro??? Mogelijk kunt u het als een notitie toevoegen aan uw sjabloon.

Het is een macro die een schets maakt op het zwaartepunt (wij gebruiken Solidworks 2012).

Als ik het als een notitie aan mijn sjabloon toevoeg, kan ik de link naar de macro plaatsen, maar ik weet niet hoe ik het moet starten. En als ik een notitie toevoeg, verdwijnt de annotatie elke keer dat ik de weergave draai.

Als een gebruiker de documentsjabloon opent, verschijnt er in het ideale geval een knop om de macro te starten zonder dat de knop met de link eerst handmatig aan de macro hoeft te worden toegevoegd.

We creëren het zwaartepunt als het onderdeel klaar is, want als je de schets maakt volgens het zwaartepunt, zal het niet langer alleen zijn als je een gat of een lipje en of een vouw toevoegt...

Hier is het macrozwaartepunt:

Dim swApp als object

Deel dimmen als object
Dim boolstatus als Booleaanse
Dim longstatus As Long, longwarnings As Long

Sub hoofd()

Stel swApp in = _
Toepassing.SldWorks

Deel instellen = swApp.ActiveDoc
Dim CenterOfMass als object
Stel CenterOfMass in = Deel.FeatureManager.InsertCenterOfMass()
Einde Sub


centre_der_masse.jpg
1 like

Hallo

Nee, het is bij mijn weten niet mogelijk om een macroknop toe te voegen aan een documentsjabloon.

We zouden dezelfde instellingen voor iedereen kunnen gebruiken met de wizard om de instellingen te kopiëren, waarbij we ervoor zorgen dat de macroknop eerder is geïntegreerd, zodat iedereen deze knop heeft:

http://help.solidworks.com/2012/French/SolidWorks/sldworks/Copy_Options_Wizard.htm

 

2 likes

Het is mogelijk om een knop in een kamer te maken. Maar je moet de macro in Excel maken met een knop en dan ga je naar de kamer en doe je:

invoegen==>object==>maak van een bestand en daar  selecteer je je bestand met de knop.

Zodra het bestand in de kamer is, moet u erop dubbelklikken, waarna de knop toegankelijk is om het te starten...


bouton_ou_case.jpg

Waarom een macro in het model? Ik denk net als @PL dat het niet mogelijk is.

Kan deze macro anders niet werken met een knop die voor dit doel is gemaakt en in de menu's wordt geplaatst?

Hoi allemaal

Dank u voor uw antwoorden.

@ac cobra 427 kan ik met de macro die ik heb gedownload het zwaartepunt op elk moment invoegen, omdat het elke keer wordt bijgewerkt wanneer het onderdeel of de assemblage verandert. Aan de andere kant is de code veel langer en ingewikkelder dan degene die u in uw antwoord voorstelt. Dus ik zal zien om de jouwe te gebruiken, maar zoals ik het begrijp, wordt er alleen rekening gehouden met de onderdelen en niet met de assemblages, toch?

Edit: de code werkt niet, het crasht op de regel Set CenterOfMass = Part.FeatureManager.InsertCenterOfMass()

Een andere vraag, hoe voeg je het in het menu "Referentiegeometrie" in?

Wat betreft het idee om de macro in Excel te maken en deze vervolgens te importeren, het is goed, maar ik denk dat gebruikers de voorkeur geven aan een "klassieke" knop.

 

@.PL, dat dacht ik, maar ik stelde de vraag om te bevestigen. Voor de instellingen hebben we (normaal gesproken) al hetzelfde, dus iedereen zal de knop aan zijn menu moeten toevoegen.

 

@alain. ERP, het doel van het integreren van de macro in het model is om te voorkomen dat elke gebruiker de knop aan het menu moet toevoegen, maar ik denk dat we dat uiteindelijk gaan doen. Als je het hebt over een knop in de menu's, is het mogelijk om te kiezen waar de knop komt te staan of moet deze noodzakelijkerwijs in de taakbalk staan?

 

Fijne dag.

1 like

In feite komt de code van de macrorecorder, ik startte de opname en deed de manipulatie door het middelpunt van de massa te creëren, toen stopte ik het en dat is de code die ik kreeg....

Als ik heb geholpen, bedankt dat je mijn antwoord als het beste hebt gemarkeerd.