Macro - Een bestand verplaatsen

Hallo

 

Ik ben op zoek naar een manier om onderdelen- en samenstellingsbestanden te verplaatsen door de positie van de onderdelen in de assemblagebestanden via een macro bij te werken.

Het ideaal voor mij zou zijn om solidworks explorer te kunnen gebruiken via een macro.

Het doel is om mijn onderdelen en samenstellingen automatisch te kunnen archiveren.

Heeft u ideeën om zo'n taak uit te voeren?

 

Bedankt.

 

Hallo, we hebben wat meer details nodig.

Heb je enige kennis van VBA-programmering?

SolidWorks Explorer kan geen macro's starten, u moet via SolidWorks gaan.

Om te beginnen kunt u een macro maken door een "opslaan als"-gedeelte in SolidWorks te leren om de code te zien. Als de assemblage open is, wordt het onderdeel in de assemblage vervangen als het is geregistreerd.

Moeten alle onderdelen van een bepaalde assemblage naar dezelfde map worden verplaatst?

Dank u voor het antwoord.

Dus ja, ik heb een aantal noties van VBA, ik weet hoe ik solidworks-macro's moet schrijven die werken en ik gebruik de opnametechniek eigenlijk om nieuwe commando's te leren.

Niet alle onderdelen van een assemblage en de assemblage zelf komen op dezelfde plek in mijn archief te staan.

Als ik begrijp wat je voorstelt, is het, met een macro:

1) Ik verplaats al mijn onderdelen en samenstellingen naar waar ik wil in mijn archiefmappen

2) Ik open alle documenten die ik zojuist in mijn archieven heb gestopt.

3) Ik open mijn assembly en solidworks maakt alle links zelf opnieuw.

4) Ik neem mijn montage op en dat is alles.

Ja, ik heb het gevoel dat het allemaal kan werken, en het is haalbaar voor mij. Het lijkt me alleen een beetje zwaar als methode voor grote assemblages. Daarom zou ik de voorkeur geven aan een methode als solidworks explorer in macromodus. 

Het is een oplossing, maar het is inderdaad omslachtig, en ik dacht meer aan het openen van de assemblage met de onderdelen op de oude locaties, vervolgens het starten van de macro om automatisch op te slaan op de nieuwe locaties en vervolgens de assemblage up-to-date op te slaan.

 

De vraag is, hoe weet je welk stuk in welke map gaat?

Heeft u een markering zoals een aangepaste eigenschap of een deel van de bestandsnaam om u te vertellen?

Anders is het niet mogelijk...

En zoals ik hierboven al zei, voor zover ik weet , kan SolidWorks Explorer geen macro's starten, je zult via SolidWorks moeten gaan.

1 like

Ja, ik zal proberen je methode te programmeren en kijken wat er gebeurt.

Ik heb wel een persoonlijke eigenschap voor elk van de onderdelen die me vertelt waar ik het onderdeel moet archiveren. Weten waar ik het onderdeel moet archiveren is het makkelijkste deel van het werk:)

Heel erg bedankt in ieder geval voor het advies

Dus nog een paar aanknopingspunten:

1) Zorg voor een open vergadering,

2) Doorloop alle onderdelen ervan, zie deze link:

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

3) Open elk van de stukken (één voor één met een lus),

3) Controleer de aangepaste eigenschap, bijvoorbeeld voor de eigenschap "pad":

PATH = SWmoddoc.GetCustomInfoValue("", "pad")

 

4) Sla op onder je stuk (met de leermacro die je hebt gemaakt) of deze link:

http://help.solidworks.com/2012/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IModelDocExtension~SaveAs.html

 

5) Werk uw aangepaste eigenschap bij die aangeeft waar de kamer moet worden geregistreerd?

6) Sluit de kamer.

7) Sla het geheel op.


PS: 8) kies dit antwoord als het beste als dit algoritme bij je past ;-)

Ik kom na de strijd... En eerlijk gezegd vroeg ik me af hoe u het dossier zou aanwijzen voor de ontvangst van de documenten. Blijkbaar is het opgelost met een persoonlijk eigendom.

 

Nou aan de andere kant, domme vraag. In plaats van het zo te bewaren en alle kamers te openen, waarom kiest u niet voor een samenstelling om mee naar huis te nemen?

Je kunt stuk voor stuk het registratiebestand aanwijzen, de nieuwe naam en de link niet verliezen (zelfs de 2D's bijvoegen, maar het is een beetje zwaarder)

Aangezien het acceptatiedossier voor elke entiteit al is gedefinieerd, moet het dus eenvoudig op te zetten zijn.

 

Nou, dat zeg ik, maar ik heb het nog nooit geprobeerd. Ik weet niet eens of het mogelijk is om te programmeren. Gewoon een pad dat langs ;) loopt

1 like
Kunt u met de take-away-samenstelling ook het pad van de onderdelen veranderen als u de assemblage niet verandert? Als dat zo is, lijkt het mij dat het niet automatiseerbaar is, omdat je met een macro de vakjes in het compositievenster voor thuisgebruik niet kunt aan- of uitvinken...
1 like

Om je vraag te beantwoorden, ja. Je kunt het pad van de onderdelen alleen veranderen als je de assemblage niet verandert. voor alle stukken of alleen voor sommige. Namen wijzigen, enz. Kortom, het is best cool (en nee, ik ben er geen fan van!)

 

Aan de andere kant is het inderdaad de angst dat ik het aan- en uitvinken van de vakjes had.

Dus ik dacht eraan om hem te omzeilen door hem te vertellen er niet overheen op te nemen (of vice versa) Maar het is niet erg schoon, je hebt gelijk.

1 like

Ja, ik heb net de take-home compositing truc geprobeerd, en zoals jullie beiden zeggen lijkt het niet mogelijk met een macro.

1 like