Macro Een component invoegen

Hoi allemaal

 

Ik ben bezig met Solidworks 2017.

Ik wil mijn leven een beetje makkelijker maken. Ik steek regelmatig schroeven in mijn assemblages.

Heeft iemand van jullie een macro op voorraad waarmee je een goed gedefinieerd onderdeel in een assemblage kunt invoegen?

Het doel is om mijn schroeven met mijn 3D-muis te kunnen inbrengen zonder mijn standaardmuis te veel te hoeven bewegen.

 

Een grote dank aan u!!

 

Fred

Hallo, als je gewoon een eenvoudige macro wilt die een munt toevoegt: 

 

Dim swApp As SldWorks.SldWorks
Dim swPart As SldWorks.ModelDoc2
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim filePath As String


Sub main()

Set swApp = Application.SldWorks

Set swPart = swApp.ActiveDoc

'------ Entrer le chemin vers la pièce a ajouter -------

filePath = "  "

'--------------------------------------------------------

Dim swInsertedComponent As Component2

Set swInsertedComponent = swPart.AddComponent5(filePath, 0, "", False, "", 0, 0, 0)

End Sub

Edit: Typefout opgelost

1 like

Hallo

Dank u voor die hulp.

Maar omdat ik super slecht ben in macro, denk ik dat ik ergens heb gemist.

 

Dim swApp als SldWorks.SldWorks
Dim swPart As SldWorks.ModelDoc2
Dim boolstatus als Booleaanse
Dim longstatus As Long, longwarnings As Long
Dim filePath als tekenreeks


Sub hoofd()

Stel swApp = Toepassing.SldWorks in

Stel swPart in = swApp.ActiveDoc

filePath = "U:\PLANOTHEQUE\3D (SolidWorks)\Bibliotheek\Bevestigingsmiddelen\Schroeven\Volledig schroefdraad H-schroeven\M12  H-schroeven"

Dim swInsertedComponent als component2

Stel swInsertedComponent = swPart.AddComponent5(filPath, 0, "", False, "", 0, 0, 0) in

Einde Sub
 

 

Ik heb deze code ingevoerd in de macro-editor. Als ik het uitvoer, heb ik wel een onderdeel dat is ingevoegd, maar het is niet het juiste, het is het eerste deel van de montage.

Kunt u mij vertellen waar mijn fout zit?

Ah, het lijkt erop dat ik een typefout heb gemaakt in de volgende regel, ik was een e vergeten:

Set swInsertedComponent = swPart.AddComponent5(filePath, 0, "", False, "", 0, 0, 0)

 

Probeer te zien

1 like

Het werkt niet.

Aan de andere kant heb ik in de macro-editor nu een venster dat verschijnt (zie bijlage)


macro.png

dat is normaal, het vraagt welke functie het moet starten, maar hier hebben we maar één functie (hoofd), dus we klikken gewoon op "Uitvoeren". Het gebeurt alleen in de macro-editor, als je een knop of een snelkoppeling hebt, is er geen probleem.

 

1 like

Als ik het start, gebeurt er niets:( 

Wanneer u uw assemblage open hebt, voert u "Tools -> Macro -> Run... " en je start de macro die niet werkt? Bij mij geen probleem, dus het moet komen van het pad dat je hebt genomen, probeer het met een andere kamer te zien. 

 

Oh trouwens, het onderdeel wordt toegevoegd aan de coördinaten 0,0,0 ten opzichte van het referentiekader van de assemblage. Misschien is het verborgen door de montage.

1 like

We gaan vooruit, het lukt me om een noot te krijgen!

Ik heb gemerkt dat ik vergeten ben de bestandsextensie (.sldprt) toe te voegen.

Aan de andere kant, voor de schroef werkt het nog niet....

Ik ben er eindelijk in geslaagd om mijn macro aan het werk te krijgen voor een schroef, nog niet de juiste, maar ik kom er wel!

 

Heel erg bedankt voor de hulp.

1 like

Dus de fout moet van het pad komen, misschien een personage dat een probleem veroorzaakt, ik weet het niet.

Aan de andere kant denk ik dat er beter is dan een macro om je schroeven toe te voegen. Laat u misschien inspireren door het werkingsprincipe van de gereedschapskist, met schuifschroeven die in de assemblage zijn geplaatst en die met beperkende referenties zijn geplaatst. Ik heb er nog nooit een gedaan, maar je zou veel tijd moeten besparen als het correct is ingesteld. 

Enkele onderzoeksrichtingen: 

http://help.solidworks.com/2013/french/solidworks/sldworks/c_Smart_Components.htm

https://www.youtube.com/watch?v=tkVG3dEWGQk

https://www.youtube.com/watch?v=zNM0_UUdN_M&t=3813s (de interessante functie is vanaf 44:50)

 

 

 

 

http://help.solidworks.com/2012/french/SolidWorks/sldworks/HIDD_DVE_POS_GROUP.htm?id=560a118e0a564df19e9f25d4bad8836b

http://help.solidworks.com/2016/french/solidworks/sldworks/c_example_mate_reference_multiple_entities.htm