Lo scripting SpaceClaim/Discovery in Ansys prevede l’uso di script per automatizzare e personalizzare le operazioni geometriche in Ansys SpaceClaim/Discovery, che sono software di modellazione 3D e di editing di geometrie. Consente agli utenti di creare, modificare e manipolare la geometria in modo più efficiente e robusto. Questi script possono essere combinati con Ansys Mechanical per migliorare la solidità complessiva del progetto, semplificando il processo di preparazione della geometria e garantendo una generazione del modello coerente e senza errori. Una volta generato il modello, può essere facilmente collegato a un flusso di lavoro Mechanical esistente per contribuire a rendere il suo modello più robusto!
Si noti che SpaceClaim e Discovery sono due strumenti CAD diversi offerti da Ansys. Discovery è lo strumento più recente e utilizza tutte le stesse funzionalità di SpaceClaim. Queste funzionalità di scripting sono state sviluppate originariamente per SpaceClaim, ma sono state integrate anche in Discovery.
Ecco come lo scripting di SpaceClaim/Discovery contribuisce alla gestione robusta della geometria e come integra Ansys Mechanical:
- Automazione e ripetizione: Lo scripting di SpaceClaim/Discovery automatizza le attività ripetitive e le operazioni geometriche, riducendo il potenziale di errori manuali che possono verificarsi durante la creazione o la modifica della geometria. Questa automazione garantisce coerenza e robustezza nel processo di generazione della geometria.
- Personalizzazione: Gli script possono essere adattati a requisiti specifici del progetto, consentendo agli utenti di creare strumenti e flussi di lavoro personalizzati per la manipolazione della geometria. Questa personalizzazione consente agli ingegneri di affrontare sfide geometriche complesse in modo più efficace.
- Parametrizzazione: Lo scripting di SpaceClaim/Discovery può essere usato per parametrizzare le caratteristiche geometriche, rendendo più facile adattare e regolare il modello per diversi scenari di progettazione. Questa parametrizzazione aumenta la flessibilità e la robustezza del progetto, consentendo modifiche rapide della geometria.
- Controllo di qualità: Utilizzando gli script, può imporre controlli di qualità sulla geometria. Ad esempio, si può garantire che vengano rispettati vincoli o tolleranze di progettazione specifici, il che contribuisce alla robustezza del processo di progettazione.
- Integrazione con Ansys Mechanical: Lo scripting di SpaceClaim/Discovery può essere perfettamente integrato con Ansys Mechanical. Questa integrazione consente la generazione automatica di geometrie complesse e ottimizzate, pronte per le analisi strutturali, termiche o di altro tipo. Automatizzando la fase di preparazione della geometria, si riducono le possibilità di errori o discrepanze quando si trasferisce la geometria ad Ansys Mechanical.
- Studi parametrici: Lo scripting di SpaceClaim/Discovery, combinato con Ansys Mechanical, facilita gli studi parametrici, consentendo la modifica rapida della geometria e la valutazione di varie alternative di progettazione. Questa capacità è preziosa per ottimizzare i progetti e garantire prestazioni robuste in condizioni diverse.
È importante sapere che lo scripting di SpaceClaim/Discovery si basa su IronPython. Pertanto, è compatibile con i moduli di IronPython. Tuttavia, non è necessario essere esperti di Python prima di iniziare a utilizzare lo scripting di SpaceClaim/Discovery! Ciò è dovuto alla funzione “record” all’interno dello strumento di scripting. La funzione “record” consente di registrare determinate azioni che vengono completate dall’interno dell’interfaccia grafica. Ad esempio, se si abbozza e si estrude un rettangolo sul piano XY, il registratore, se attivato, scriverà automaticamente i comandi per queste azioni nell’editor! Questo è utile per capire cose come la logica di selezione, le operazioni ecc. Questi comandi registrati possono anche essere modificati per aiutare a rendere il suo script più robusto. Prima di modificare lo script registrato, si consiglia di rivedere le basi di Python per aiutarla a capire il flusso di lavoro. Alcune delle nozioni di base sono elencate nelle immagini sottostanti, ma alla fine di questo blog verrà fornito altro materiale di riferimento per aiutarla a iniziare!
Ci sono 3 modi per selezionare le entità nello scripting di SpaceClaim/Discovery.
- Variabile intelligente (predefinita)
- Combina gli altri metodi per far sì che le selezioni persistano meglio durante la riproduzione di script.
- Memorizza più informazioni di qualsiasi altro tipo ed è molto più robusto nel far corrispondere l’entità selezionata durante le modifiche della geometria.
- Per utilizzare le variabili smart, lo script deve essere salvato come file .scscript (non come file .py). Le variabili smart sono oggetti creati in background e contengono molti metadati sull’elemento selezionato. Questi dati vengono salvati nel file .scscript, ma si perdono in un file .py.
- Esempio: Selection.Create(Face1)
- Indice (Earchia Corpo/Figli) -> Opzione preferita
- L’indice interno di ciascuna entità selezionata.
- Esempio: Selection.Create(GetRootPart().Bodies[0].Facce[3])
- Ray (basato sulla posizione)
- Il punto di fuoco interno del raggio e la direzione. Può essere vantaggioso quando lavora con i file STL.
- Esempio: Selection.Create(RayFire.Fire(Point.Create(MM(230),MM(260),MM(407)),Direction.Create(-0.4,-0.5,-0.75), 0.0001,0.0005([1])
Tutti gli esempi precedenti sono utilizzati per selezionare la superficie semplice qui sotto.
Una volta generato il modello CAD utilizzando lo script, dovrà importarlo in Mechanical. In questo caso, molte delle condizioni al contorno e dei controlli della mesh potrebbero diventare non validi quando la geometria cambia. Per evitare questo problema, possiamo utilizzare il potere delle selezioni con nome. Per chi non lo sapesse, una selezione con nome è un raggruppamento definito dall’utente di entità (come nodi, elementi o superfici) all’interno di un modello a elementi finiti, a cui viene assegnato un nome specifico per facilitare il riferimento e l’applicazione di condizioni al contorno o carichi. In Mechanical, possono essere definiti in 2 modi: Selezionando manualmente le entità per le quali desidera creare una selezione con nome, oppure utilizzando la funzione Foglio di lavoro. Per utilizzare il Foglio di lavoro, inserisca una selezione con nome e cambi il ‘Metodo di selezione’ nei dettagli da ‘Geometria’ a ‘Foglio di lavoro’.
Una volta cambiata l’opzione in Foglio di lavoro, dovrà andare alla sezione Foglio di lavoro per inserire i criteri di selezione. I criteri di selezione possono essere utilizzati per determinare quale entità desidera selezionare (Facce, Corpi, Bordi, ecc.). Queste entità possono essere filtrate per dimensione, posizione, distanza e altri criteri. Può anche combinare diversi criteri per includere (o escludere) altre entità. Nell’esempio qui sotto, ho utilizzato un criterio di dimensione per selezionare la superficie superiore del cilindro, come mostrato di seguito. Tuttavia, il criterio di dimensione da solo selezionerà sia la parte superiore che quella inferiore, poiché sono entrambe della stessa dimensione. Per rimuovere la superficie inferiore dalla selezione, ho anche incluso una funzione “Rimuovi” nel foglio di lavoro per rimuovere tutte le facce al di sotto di Y=1 mm (si noti che la superficie inferiore del cilindro si trova su Y=0 mm). Con entrambi questi criteri definiti, sono in grado di affinare la mia selezione solo sulla superficie superiore, come mostrato di seguito. L’idea è che, se ci si aspetta che le diverse caratteristiche rientrino in un intervallo specifico di dimensioni e forme, possiamo tenerne conto nella nostra definizione di selezione. In questo modo, quando il nostro modello viene regolato con il nostro script SpaceClaim/Discovery, le stesse entità saranno selezionate ad ogni iterazione.
Una volta generate tutte le mie selezioni nominative, posso utilizzarle per definire le condizioni al contorno e i controlli della mesh, invece di utilizzare i criteri di selezione manuale. Per fare questo, può navigare nel “Metodo di selezione” per le condizioni al contorno o i controlli della mesh e cambiarli in “Selezione con nome”. Quindi, deve scegliere quale selezione nominativa applicare a ciascuna condizione al contorno. Poiché le nostre selezioni nominative sono state impostate per tenere conto di tutte le diverse dimensioni e forme del nostro modello, verranno aggiornate automaticamente ogni volta in base ai criteri che abbiamo definito. Una volta aggiornate, queste selezioni nominative saranno applicate automaticamente anche alle nostre condizioni al contorno! Ciò significa che non dobbiamo perdere tempo a riselezionare tutto ogni volta che regoliamo la nostra geometria. Una volta che il modello è stato aggiornato, dovrà semplicemente assicurarsi che la definizione del materiale del suo modello CAD sia corretta, quindi eseguire!
Un esempio più dettagliato di questo processo è disponibile sul nostro canale YouTube (vedere sotto).
http://www.python.org/
– Python scarica tutti i formati
– Tutorial e documentazione
https://github.com/IronLanguages/iron…
– IronPython studio è un SDK gratuito di Microsoft che le consente di gestire i suoi progetti e di sviluppare utilizzando moduli nativi di Windows.
http://www.tutorialspoint.com/python/…
Libro gratuito – http://greenteapress.com/thinkpython/…
Libri consigliati
– Imparare Python di Mark Lutz e David Ascher
– Python Pocket Reference di Mark Lutz
– IronPython in Action di Michael J.Ford e Christian Muirhead – Per chi vuole usare Iron Python per sfruttare il framework .NET