Macro Opslaan verbeteren X_T in een submap?

Naar aanleiding van mijn oude vraag, wil ik mijn macro verbeteren om mijn X_T op te slaan in een submap van de kamerlocatie?

We zouden een onderdeel- of assemblagebestand in een map hebben en in deze map zou een submap met de naam "FILES X_T" of onze macro mijn geëxporteerde bestand opslaan.

Hoe breng je deze veranderingen aan?

 

Huidig programma:

 

Sub Sauvegarde_X_T()

 

   
Dim swApp als object
Deel dimmen als object
Dim boolstatus als Booleaanse
Dim longstatus As Long, longwarnings As Long
Dim Locatie Als String
Dim Locatie_aangepast als snaar
OpenDoc dimmen als object
Dim Extensie_nieuw als snaar
Dim Extensie_oud als snaar
Dim retval als snaar
Dim Naam Als String
Dim Naam_aangepast als snaar

 

Stel swApp = CreateObject("SldWorks.Application") in
Stel swModel = swApp.ActiveDoc in
Stel OpenDoc in = swApp.ActiveDoc()

Extensie_oud = ". SLDASME"
Extensie_nieuw = ". X_T"
Locatie = OpenDoc.GetPathName
Locatie_aangepast = Links(Locatie, Len(Locatie) - 7)
retval = Dir$(Locatie_aangepast & Extensie_oud)
Naam = Dir$(Locatie)
Naam_aangepast = Links(Naam, Len(Naam) - 7)
Titel = OpenDoc.GetTitle
Titel = Links(Titel, (Len(Titel)))


' If retval = Naam Dan
'nRetval = swApp.SendMsgToUser2(Naam_aangepast & " DXF gemaakt !!", swMbWarning, swMbOk)
' Einde als
    
    
Deel instellen = swApp.ActiveDoc
longstatus = Deel.SaveAs3(Naam_aangepast & Extensie_nieuw, 0, 0)

Einde Sub


save_x_t.swp

Probeer te vervangen

longstatus = Deel.SaveAs3(Naam_aangepast & Extensie_nieuw, 0, 0)

Hierdoor:

FilePath = Links(PathName, InStrRev(PathName, "\"))
FileName = Right(PathName, Len(PathName) - InStrRev(PathName, "\"))
longstatus = Part.SaveAs3(FilePath & "\Fichier_XT\" & Extensie_nieuw, 0, 0)

----------------------

Trouwens, maak van de gelegenheid gebruik om te verwijderen:

  ' If retval = Naam Dan
        'nRetval = swApp.SendMsgToUser2(Naam_aangepast & " DXF gemaakt !! ", swMbWarning, swMbOk)
   ' Einde als

 

2 likes

ok, ik zal :) testen Bedankt, ik hou je op de hoogte.

VOORZICHTIG:

Ik heb een vergissing gemaakt!

Dim FilePath als tekenreeks, Bestandsnaam als tekenreeks

FilePath = Links(Locatie, InStrRev(Locatie, "\"))
MsgBox FilePath & "Fichiers_XT" & Naam_aangepast & Extensie_nieuw
longstatus = Part.SaveAs3(FilePath & "Fichiers_XT\" & Naam_aangepast & Extensie_nieuw, 0, 0)

1 like

ok, ik kijk vanavond of morgen toch...

Ik heb het net geprobeerd, het is perfect, behalve de naam van mijn map die ik heb genoemd: "X_T FILES"

Dit geeft:

 

Sub Sauvegarde_X_T()


Dim swApp als object
Deel dimmen als object
Dim boolstatus als Booleaanse
Dim longstatus As Long, longwarnings As Long
Dim Locatie Als String
Dim Locatie_aangepast als snaar
OpenDoc dimmen als object
Dim Extensie_nieuw als snaar
Dim Extensie_oud als snaar
Dim retval als snaar
Dim Naam Als String
Dim Naam_aangepast als snaar

 

Stel swApp = CreateObject("SldWorks.Application") in
Stel swModel = swApp.ActiveDoc in
Stel OpenDoc in = swApp.ActiveDoc()

Extensie_oud = ". SLDASME"
Extensie_nieuw = ". X_T"
Locatie = OpenDoc.GetPathName
Locatie_aangepast = Links(Locatie, Len(Locatie) - 7)
retval = Dir$(Locatie_aangepast & Extensie_oud)
Naam = Dir$(Locatie)
Naam_aangepast = Links(Naam, Len(Naam) - 7)
Titel = OpenDoc.GetTitle
Titel = Links(Titel, (Len(Titel)))


    
Deel instellen = swApp.ActiveDoc

Dim FilePath als tekenreeks, Bestandsnaam als tekenreeks

FilePath = Links(Locatie, InStrRev(Locatie, "\"))
MsgBox FilePath & "X_T FILES" & Naam_aangepast & Extensie_nieuw
longstatus = Part.SaveAs3(FilePath & "FILES X_T\" & Naam_aangepast & Extensie_nieuw, 0, 0)

Einde Sub


save_x_t_-_fichiers_x_t.zip

Kom op, als ik wil dat wanneer de map "X_T FILES" niet bestaat, deze kan worden gemaakt om het geëxporteerde bestand erin in te voegen, hoe moeten we dat dan programmeren?

Het maken van mappen of submappen is goed in auto, het is beter

het enige probleem naar mijn mening is dat in je onderdelen bestanden als je eindigt met X onder mappen

Parasolid, iges, sat etc.....

De manipulatie zal minder gemakkelijk zijn, denk ik, om te weten of je dit of dat bestand hebt geconverteerd

U wordt gedwongen deze genoemde submappen te openen om te weten of ze er al dan niet zijn en overeenkomen met uw onderdeel of assemblage

Automatisme is goed, maar kan naar mijn mening gevaarlijk zijn om ze te controleren  , dus uiteindelijk tijdverspilling

@+;-))

Ik werk al zo met mijn pdf en dxf voor mijn plannen en het past heel goed bij mij. Hoe dan ook, het is net als BatchConverter, behalve door naar de datum te kijken en als het is gemaakt, is er geen echte manier om te zien of het in orde is.

Dus als iemand een voorstel heeft?

1 like

Aan de andere kant denk ik dat niets je ervan weerhoudt om de verschillende versies in de onderdelenbestanden op te slaan

En om hiervan in een apart mapje (goed voor FAB of andere) op verschillende manieren  een kopie te maken

Extensies: één bestand per extensie en per doel

@+ ;-))

Een nieuwe vraag?

Nou, het doel is om dat in auto te doen met een macro.

Ik zie het probleem niet echt...

Ik werk al zo voor 2D-plannen. Ik heb nog nooit een probleem gehad, ik controleer in ieder geval heel regelmatig wat ik doe.

Iedereen heeft immers zijn eigen werkwijze. Ik ben van mij:)

Dus als iemand een voorstel heeft?

1 like