Programma SOLMESH
Download programma SOLMESH per Windows (98/2000/ME/NT)
Downolad programma Lisp m2s (Mesh to Solid) (Il programma Lisp esegue le stesse operazioni di SOLMESH: per ottenere un solido con spessore verticale uniforme copiare la mesh, traslarla lungo Z in corrispondenza dell'intradosso, 'solidificare' la mesh superiore e l'inferiore e sottrarre l'inferiore dalla superiore. Da decomprimere e copiare nella cartella SUPPORT di AutoCAD: per caricare il programma in AutoCAD eseguire APPLOAD).
Per la generazione del
modello solido a partire da facce triangolari è stato messo a punto un programma che opera seguendo i
passi:
- Ciascuna superficie
(definita da insiemi di 3Dfacce a quattro vertici, nessuna delle quali
appartenente ad un piano) è ruotata (comando ruota3D o rotate3D)
in modo che tre dei quattro punti generatori siano posti sul piano XY (figura 1).
- La superficie è esportata nel formato 3DS (comando 3dsout), importata nuovamente
(comando 3dsin) ed esplosa. Si sono così ottenute facce definite da tre
punti, anziché quattro. In tal modo ciascuna faccia risulta piana (come è noto
un piano è definito univocamente da tre punti non coincidenti né allineati).
- L’insieme delle
facce che definiscono la singola superficie è esportato nel formato DXF
(comando dxfout, con selezione del formato AutoCAD 12).
- Il programma,
appositamente predisposto, legge il file DXF ricavando le coordinate X, Y, Z di
ciascuno dei tre punti che definiscono ciascuna singola faccia della superficie.
- Lo stesso programma
genera un file di script, nel quale, per ciascuna tripletta di punti, scrive i
seguenti comandi, che verranno poi attuati da AutoCAD:
1)
Generazione di una polilinea 2D chiusa usando le coordinate X, Y dei tre
punti (la Z è posta convenzionalmente ad una quota minima fornita dall'utente,
inferiore alla quota minima dell'intera mesh).
2)
Estrusione verticale della polilinea, con un’altezza pari alla quota
minima più
l’altezza massima dei tre punti: in tal modo si ottiene un prisma a base
triangolare sovrapposto, in pianta, alla faccia interessata (figura 2).
3)
Esecuzione di una sezione del prisma (trancia o slice),
usando l’opzione per tre punti (i tre punti della faccia originaria). Viene
mantenuta la parte inferiore del prisma.
4)
Esecuzione di una seconda sezione del prisma, abbassando il piano di
sezione di N unità del disegno (lo spessore delle pareti), specificate
nell'esecuzione del programma SOLMESH. In questo
caso viene mantenuta la parte superiore del solido.
|
|
Figura 1 |
Figura
|
- Eseguendo il file di
script in AutoCAD (comando script), si generano così tanti solidi quante
sono le facce di ciascuna superficie. I singoli solidi così ottenuti saranno
caratterizzati da facce adiacenti.
- Applicando il comando
di unione (unione o union) all’insieme dei solidi così ottenuti
si genera un unico solido per ciascuna superficie.
- La superficie è
eventualmente contro-ruotata (usando lo stesso angolo con segno invertito) per riportarla
nella posizione originaria.
Operativamente,
sulla scorta dell'esempio proposto:
- Si genera il file DXF in AutoCAD (contenente solo 3Dfacce e nel formato
AutoCAD 12: ad esempio, mesh.dxf).
- Si esegue il programma SOLMESH inserendo:
-- il nome completo del file DXF di ingresso (mesh.dxf);
-- il nome completo del file di script di uscita (mesh.scr);
-- una altezza (coordinata Z) certamente più bassa della più bassa coordinata
Z della mesh (ad esempio -20, poiché la Z minore della mesh è
zero);
-- lo spessore finale dei solidi (ad esempio 1: immettendo 0 [zero] si ottengono
solidi con base posta alla quota minima inserita).
Il programma SOLMESH produrrà un file di script (mesh.scr), il quale, inserito in un nuovo disegno AutoCAD per mezzo del comando SCRIPT, genererà i solidi richiesti (disattivare gli OSNAP e inquadrare tutta l'area che sarà occupata dai solidi [l'opzione 'last', infatti, individua solo oggetti rappresentati sul video]).
Esempio di creazione di un solido (dal file mesh.scr):
Coordinate
della 3DFACE:
Punto 1: 8.3333, 5.0000, 2.0833
Punto 2: 8.3333, 6.6667, 2.7435
Punto 3: 6.6667, 6.6667, 2.1948
Punto 4: stesse coordinate del punto 3 (ignorato)
_PLINE |
Crea una polilinea orizzontale posta ad una altezza -20 (dato fornito dall'utente): proiezione della faccia su di un piano parallelo al piano XY con quota -20 |
8.3333,5.0000,-20.0000 |
Primo punto della polilinea (stesse coordinate XY del primo punto della faccia) |
8.3333,6.6667 |
Secondo punto della polilinea (stesse coordinate XY del secondo punto della faccia) |
6.6667,6.6667 |
Terzo punto della polilinea (stesse coordinate XY del terzo punto della faccia) |
c |
Chiude la polilinea |
_EXTRUDE |
Estrude verticalmente la polilinea |
l |
Seleziona l'ultima polilinea creata (l per 'last', valido dunque solo per la versione inglese di AutoCAD. Per la versione italiana è necessario sostituire tutte le elle minuscole con una u [per 'ultimo']. In tal caso è anche opportuno sostituire la 'c' minuscola di 'close' con ch per 'chiude'.) |
Chiude la selezione (la linea vuota equivale ad un Invio) | |
23.7435 |
Altezza di estrusione pari a -20+2.7435 (altezza massima dei tre punti)+1 (per avere la certezza che il prisma a base triangolare contenga certamente l'intera faccia) |
Inclinazione facce laterali del prisma pari a zero: estrusione verticale (valore di default <0>: è dunque sufficiente un Invio, riprodotto dalla linea vuota) | |
_SLICE |
Sezione del prisma (opzione di default: piano per tre punti non allineati né coincidenti). |
l |
Seleziona l'ultimo solido creato |
Chiude la selezione | |
8.3333,5.0000,2.0833 |
Primo punto che definisce il piano di sezione (coincidente con il primo punto della faccia) |
8.3333,6.6667,2.7435 |
Secondo punto che definisce il piano di sezione (coincidente con il secondo punto della faccia) |
6.6667,6.6667,2.1948 |
Terzo punto che definisce il piano di sezione (coincidente con il terzo punto della faccia) |
6.6667,6.6667,-20.0000 |
Punto con le stesse coordinate X, Y del terzo e con coordinata Z certamente posta sotto la Z minima (per mantenere la parte inferiore del prisma) |
_SLICE |
Seconda sezione per ottenere lo spessore del solido (calcolato lungo l'asse Z) |
l |
Seleziona l'ultimo solido creato |
Chiude la selezione | |
8.3333,5.0000,1.0833 |
Punti aventi le stesse coordinate XY dei tre punti precedenti e coordinate Z diminuite dell'altezza imposta (nell'esempio: 1) |
8.3333,6.6667,1.7435 |
|
6.6667,6.6667,1.1948 |
|
6.6667,6.6667,3.7435 |
Punto con le stesse coordinate X, Y del terzo e con coordinata Z certamente posta sopra la Z massima (per mantenere la parte superiore del solido: 1.7435 (Z massima)+2) |