• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Leggi altro.

Macro interessanti per SolidWorks

Pastorman75

Utente Standard
Professione: Ingegnere progettista
Software: Solidworks - Inventor - Cosmos - Ansys
Regione: Toscana
#41
Buongiorno a tutti,
qualcuno sa se esiste una macro che consenta in automatico di creare un .DWG (megli versione 2000) partendo da una tavola SW nominando il file creato come:

nomefile_indice di revisione

L'indice di revisione è tra le proprietà del modello nella tavola

ESEMPIO:

modello 3D: cassa123.sldprt con indice di revisione B
tavola 2D_SW: cassa123.slddrw (unica e sempre collegata al modello 3D)
tavola 2D_dwg: cassa123_B.dwg (disegni molteplici collegati alla revisione)

Sarebbe bello avere una macro che salva in .dwg e rinomina in questo modo sovrascrivendo se l'indice di revisione non è cambiato.

Grazie a tutti anticipatamente.
 

-Mc-

Utente Standard
Professione: Progettista
Software: Solid Edge / Solid Works
Regione: Emilia Romagna
#42
trasformazione tavola tecnica in .DXF o .DWG
e
trasformazione parte/ assieme in .STEP o .IGS;
avete una macro?
 

Pablo

Utente Standard
Professione: Progettista
Software: Solidworks
Regione: Piemonte
#43
Qualcuno sa di una macro che selezioni tutti gli assiemi contenuti in un assieme e li renda flessiili o rigidi? a mano sono riuscito a farlo, ma ogni volta che inserisco nuovi assiemi bisogna ri-registrare la macro.....

grazie
 

Gabryn

Utente Junior
Professione: Tiralinee
Software: Acad2012,Me10,Swx18
Regione: Bs
#44
trasformazione tavola tecnica in .DXF o .DWG
e
trasformazione parte/ assieme in .STEP o .IGS;
avete una macro?

Allego la macro scaricata tempo fà dal sito solidworks e poi discretamente modificata.
Aprendo un disegno ed eseguendo la macro apparirà una interfaccia
con la possibilità di esportare nei seguenti formati:
-pdf
-dxf
-pdf e dxf
-pdf e dxf e step


Ciao
Gabriele
 

Allegati

Zara87

Utente poco attivo
Professione: Ingegnere Elettrico
Software: Solidworks 2014
Regione: Veneto
#45
Ciao a tutti

Volevo chiedervi se avete una guida per chi parte da zero con la costruzione di una macro?

Per rendere meglio l'idea, quello che voglio fare è leggere da un file excel una serie di valori e a partire da questi disegnare gli oggetti.
Come partenza vorrei capire come far disegnare a sw un semplice cerchio ed estrudere, tracciare un rettangolo ed estrudere, ruotare un oggetto e spostarlo in una specifica posizione.

Grazie
 

teseo

Utente Standard
Professione: Cantinaro
Software: solidworks2017 sp2.0, autocad2013, pochino solidedge st7, draftsight
Regione: Lombardia
#46
Allego la macro scaricata tempo fà dal sito solidworks e poi discretamente modificata.
Aprendo un disegno ed eseguendo la macro apparirà una interfaccia
con la possibilità di esportare nei seguenti formati:
-pdf
-dxf
-pdf e dxf
-pdf e dxf e step


Ciao
Gabriele
ciao a tutti ho preso e scaricato questa macro molto comoda per il lavoro che faccio ma non riesco a cambiare la cartella di salvataggio o meglio riesco a metterala ovunque tranne che sul desktop come mai non mi accetta questa directory


grazie ciao
 

Gabryn

Utente Junior
Professione: Tiralinee
Software: Acad2012,Me10,Swx18
Regione: Bs
#47
ciao a tutti ho preso e scaricato questa macro molto comoda per il lavoro che faccio ma non riesco a cambiare la cartella di salvataggio o meglio riesco a metterala ovunque tranne che sul desktop come mai non mi accetta questa directory
grazie ciao
Prova a modificare il codice in questo modo:

.......
If Response = vbNo Then
filename = CreateObject("WScript.Shell").specialfolders("Desktop") & "\" & Right(filename, Len(filename) - Len(WorkDir))
ElseIf Response = vbCancel Then
.......


Io ho provato e funziona (Swx 2012 sp.4 su Win7 64bit)
Ciao.
 

teseo

Utente Standard
Professione: Cantinaro
Software: solidworks2017 sp2.0, autocad2013, pochino solidedge st7, draftsight
Regione: Lombardia
#48
grande grazie!!!!!!!

un piccolo appunto c'è un errore nella riga "desk top" invece è desktop

ciao
 

teseo

Utente Standard
Professione: Cantinaro
Software: solidworks2017 sp2.0, autocad2013, pochino solidedge st7, draftsight
Regione: Lombardia
#49
stesso problema con questo codice ho provato in questo modo ma non fa nulla.....ho provato solo nella cartella utenti ma niente la cartella del desktop è protetta per caso?

Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc

sPathName = Part.GetPathName
SREV = Part.CustomInfo("Revisione")
ELENCO_REV = "ABCDEFGHILMNOPQRSTUVZ"
K = 0
W = ""
For X = 1 To Len(sPathName)
Y = Mid(sPathName, X, 1)
If Y = "." Then GoTo EX
W = W + Y
If Y = "\" Then
K = K + 1
W = ""
End If
Next X
EX:
A = "C:\utenti\ufftecnico2\desktop" + W + ".STEP"
B = W + ".X_T"
longstatus = Part.SaveAs3(A, 0, 0)
longstatus = Part.SaveAs3(B, 0, 0)
End Sub
 

Gabryn

Utente Junior
Professione: Tiralinee
Software: Acad2012,Me10,Swx18
Regione: Bs
#50
grande grazie!!!!!!!

un piccolo appunto c'è un errore nella riga "desk top" invece è desktop

ciao
Prego. :rolleyes:
Non sò perchè ma nell'incollare il codice in questo forum la scritta desktop è stata autocorretta in desk top :confused:


Relativamente l'ultimo post penso che il problema sia:
"utenti" è da cambiare in "users" anche se si usa Windows in italiano.
.....\desktop" manca lo slash finale: .....\desktop\"


Ciao.
 

teseo

Utente Standard
Professione: Cantinaro
Software: solidworks2017 sp2.0, autocad2013, pochino solidedge st7, draftsight
Regione: Lombardia
#51
grandissimooooooo

grazie

ciao
 

CIARLY

Utente Standard
Professione: Disegnatore
Software: SolidWorks 2014 sp4
Regione: Piemonte
#52
Prego. :rolleyes:
Non sò perchè ma nell'incollare il codice in questo forum la scritta desktop è stata autocorretta in desk top :confused:


Relativamente l'ultimo post penso che il problema sia:
"utenti" è da cambiare in "users" anche se si usa Windows in italiano.
.....\desktop" manca lo slash finale: .....\desktop\"


Ciao.
Come da titolo "Macro MOLTO interessante"

Grazie mille
 

marcof

Utente Senior
Professione: appiccico francobolli con lo schiacciasassi
Software: solidworks 2013 SP 5.0
Regione: Modena
#53

tekno

Utente Standard
Professione: progettista
Software: solidworks
Regione: lombardia
#54
Prova a modificare il codice in questo modo:

.......
If Response = vbNo Then
filename = CreateObject("WScript.Shell").specialfolders("Desktop") & "\" & Right(filename, Len(filename) - Len(WorkDir))
ElseIf Response = vbCancel Then
.......


Io ho provato e funziona (Swx 2012 sp.4 su Win7 64bit)
Ciao.
Macro utilissima, vorrei un aiuto per modificarla.
Un primo passo l'ho già fatto cambiando il salvataggio dei Dxf in dwg, noi usiamo quelli, ora vorrei modificare la directory di salvataggio, ovvero:
Io i salvataggi li faccio sempre in una sub directory "\PDF + DWG", dove la dorectory principale cambia a secondo della commessa.
Quindi come posso fare per ottenere la posizione automatica "Z:\xxxxxx\PDF + DWG".
Spero di essere stato chiaro.
Grazie e complimenti per questa macro.
 

tekno

Utente Standard
Professione: progettista
Software: solidworks
Regione: lombardia
#55
Ciao, sto ancora provando, l'ho modificata in questo modo:
WorkDir = swApp.GetCurrentWorkingDirectory & ("PDF + DWG") & "\" 'get current directory
Nel message box mi mostra il percorso corretto ma i file me li salva sempre nella directory di lavoro.
Dove sbaglio?
Ciao.
 

Gabryn

Utente Junior
Professione: Tiralinee
Software: Acad2012,Me10,Swx18
Regione: Bs
#56
Ciao, sto ancora provando, l'ho modificata in questo modo:
WorkDir = swApp.GetCurrentWorkingDirectory & ("PDF + DWG") & "\" 'get current directory
Nel message box mi mostra il percorso corretto ma i file me li salva sempre nella directory di lavoro.
Dove sbaglio?
Ciao.
Ho modificato la macro nella zona ...WorkDir = swApp.... e nella definizione file relativo il codice per lo 'step'.
Allego macro.


Ciao
Gabriele
 

Allegati

Ivano

Utente poco attivo
Professione: Disegnatore
Software: Solidworks
Regione: Piemonte
#59
Ciao a tutti, avrei bisogno di aiuto per modificare questa macro in maniera da salvare il file pdf in un latra directory. Qualcuno saprebbe gentilmente aiutarmi? Grazie mille.
La macro è la seguente.
' © *Mg
' METAAL INDUSTRIE UDEN BV
' www.metaalindustrieudenbv.nl
' martin@metaalindustrieudenbv.nl

Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Locatie As String
Dim Locatie_aangepast As String
Dim OpenDoc As Object
Dim Extensie_nieuw As String
Dim Extensie_oud As String
Dim retval As String
Dim Naam As String
Dim Naam_aangepast As String




Sub main()

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

Extensie_oud = ".SLDDRW"
Extensie_nieuw = ".pdf"
Locatie = OpenDoc.GetPathName
Locatie_aangepast = Left(Locatie, Len(Locatie) - 7)
retval = Dir$(Locatie_aangepast & Extensie_oud)
Naam = Dir$(Locatie)
Naam_aangepast = Left(Naam, Len(Naam) - 7)
Titel = OpenDoc.GetTitle
Titel = Left(Titel, (Len(Titel)))


If retval = Naam Then
nRetval = swApp.SendMsgToUser2(Naam_aangepast & " wordt geupdate!", swMbWarning, swMbOk)
End If


Set Part = swApp.ActiveDoc
longstatus = Part.SaveAs3(Naam_aangepast & Extensie_nieuw, 0, 0)
swApp.CloseDoc Titel
End Sub
 

clark85

Utente Junior
Professione: Ingegnere
Software: Solidworks
Regione: Emilia Romagna
#60
Salve,

nei miei disegni voglio sempre utilizzare unità di misure personalizzate: in particolare parto da "MMGS (millimetro,grammo,secondo)" poi passo a "personalizzate" e cambio il grammo con il chilogrammo.
Nei file nuovi non ho problemi (ho creato un template apposito) ma per i file vecchi mi tocca cambiarlo uno ad uno e la procedura è decisamente lenta.

Conoscete una macro in cui è possibile velocizzare questa operazione di cambio unità di misura? magari si settano certe unità e con un semplice PLAY le mette a posto:


aiutatemi...grazie!!!