• このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

ソリッドワークスの興味深いマクロ

  • Thread starter Thread starter cubalibre00
  • Start date Start date
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.
 
trasformazione tavola tecnica in .dxf o .dwg
e
trasformazione parte/ assieme in .step o .igs;
avete una macro?
 
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
 
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
 

Attachments

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
 
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
 
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.
 
grande grazie!!!!!!!

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

ciao
 
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
 
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.
 
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
 
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.
 
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.
 
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
 

Attachments

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
' [email protected]

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
 
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!!!
 

Forum statistics

Threads
46,674
Messages
380,976
Members
2
Latest member
loop80
このフォーラムは、www.cad3d.it/forum1 - イタリアのデザインコミュニティの機械翻訳です。いくつかの用語は正しく翻訳されていません。

Members online

No members online now.
Back
Top