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

溝を作るために固体立方体のプロジェクト ライン

  • Thread starter Thread starter lalla
  • Start date Start date
la stessa cosa puoi farla anche in maniera diversa
crei dei piani facendo un offset del piano di tuo interesse
e poi fai un intersezione tra i piani e la superficie
( joint + extract) del solido di tuo interesse..
per ottenere delle buone curve
potresti alla fine lisciare le curve-
al

in che senso lisciare le curve?
 
in che senso lisciare le curve?

ciao goccia
anche se la lisciatura di curve e superfici e' un processo "un po'" diverso, credo alpole intenda il comando smooth ( vicino a join/unione).

http://catiadoc.free.fr/online/sdgug_c2/images/dbcurvesmoothnls.gif

in genere si utilizza per poter semplificare le curve .

in particolare:
1) deviation dovrebbe essere almeno 0.001 se richiedi che la curva lisciata stia in prossimita' della curva ( e quindi tutte le geometrie) che l'hanno generata.
meglio 0.0008 o simile.
2) continuity dovrebbe essere in curvatura per poter eliminare alcuni punti di discontinuita' della curva.
3) topology semplification flagged

utilizzare la geometria di supporto puo' servire se parliamo di un piano. se, invece , utilizzi una superficie con "mille bordi" , il risultato sara' , grossomodo, come la curva dalla quale sei partito.

a mio parere, pero' , tra mille comandi e automazioni , che possono tornare utili una volta definito bene cosa si vuole , abbiamo perso ( o almeno io avevo perso ) d'occhio l'oggetto che si sta realizzando.
ossia:
1) che funzione devono avere queste "incisioni" sulla superficie ? devono, per esempio, accogliere un o-ring o un trafilato di gomma circolare , oppure hanno "solo" funzione estetica?
2) come viene stampato/prodotto?

una volta definiti i punti 1) e 2) allora , almeno personalmente, parlerei di superfici e poi di automazione.

ps: a livello estetico, qualcuno ha provato a vedere cosa succede all'intersezione tra sweep circolare e superficie "base" quando si "passa" sui fillet ?
 
lalla gianni ed amici ,
come promesso , approfittando di vari ritagli di tempo , vi posto questo esempio ,
applicato al nostro cubo che, tratta di una "automatizzazione ", effettuata
tramite una (udf) , alcuni script ( knowlwdge pattern ) una( regola) una (lista)ed un (loop) knowledge advisor ,
tutto allo scopo di realizzare un "numero" editabile di sottrazioni di volume -

per poter aprire il file quindi dovreste essere in possesso dei due mod.
knowledge pattern e knowledge advisor , e della versione v5 21 di catia-

premetto che la note di accompagnamento per una parziale comprensione sono un po pesanti e lunghe.....
non vorrei annoiare nessuno.........

1- ho creato in un gruppo geom. una sweep ( centro e raggio )mod. gsd ,
gli input di costruzione sono un cerchio ed un raggio ;

2-ho solidificato in un body la superfice, ho creato un nuovo body , e tramite
(assembla) l'ho posto in quest'ultimo-

3-ho creato un "udf "chiamandola " subvoludf "
gli input sono cerchio = curve
ed il valore del raggio pubblicato 4 mm = radius

4- salvato ed aggiornato la" udf " ,ho , poi , creato in un gruppo geom. una linea
normale alla faccia del cubo tagliato che lo attraversasse interamente ; un
estrazione delle facce del cubo( joint); un parametro guida (integer) chiamandolo "npt"
( equivalente alle ripetizioni variabili)
e tre nuovi gruppi geometrici , nei quali verranno istanziate le variabili , punti,piani,ed intersezioni ,
che serviramnno per il loop dell'"udf"

5- sono passato quindi al modulo knowledge pattern per creare lo script
che , tramite l'apposita sintassi ha lo scopo finale di creare un numero variabile di curve di intersezione
nel nostro cubo-
alla fine dell'operazione posssiamo vedere , nei nodi knowledge sotto/ relazioni/ le liste create ;
e nei gruppi geometri i dati raggruppati appartenti a queste ultime-

6- ottenuta l'ultima lista di intersezioni , ho dovuto creare una nuova lista( knowledge advisor)
e tramite una regola( knowledge advisor) ho dovuto attribuire a queste intersezioni il " tipo"
curve ( simile al "tipo" dell' input della "udf")

7- con loop ( knowledge advisor) ho creato l'ultimo script ,e mediante
l' apposita sintassi ho dichiarato gli input, le variabili, ed i contesti dell'instanziazione-

8- il risultato è che nel body dichiarato nello script avrò raggruppate le mie" udf"

9- alla fine con un semplice remove di questo body da quello contenente la geometria iniziale
avro il risultato cercato -

nb- per aprire il file nel vostro computer e necessario che modifichiate una parte della prima linea dello
script del loop- (eliminare tutto quello racchiuso tra i simboli " ")subito dopo import,poi
fare tasto destro apparirà (fly-out) cliccare su" file path" riassegnare il nuovo percorso (cliccando cioè l'esatta cartella
del file , nel vostro computer)-
potreste tranquillamente aprire il file andare sul nodo loop ( tasto dx ( disattiva) eseguire il cambio ,sopra descritto,
ed una volta terminato riattivare il loop....
nella definizione sono a vs disposizione una varieta di input da variare , n°ripartizioni , raggi delle sweep , etc. etc .

buona fortuna......

da ultimo , va detto che , la ripartizione che ho usato è punti su curva( ratio) ma puo essere usato anche qualsiasi
altro modo ad es. punti su curva (length) , logicamente variando i parametri guida-
inoltre ,esiste anche una possibile espansione della definizione postata ,cioè creare una power copy che contenga l'intero loop,
e che ne permetta l'instanziazione anche su contesti diversi dall originale , ma credo che , per ora, sia già abbastanza questo....
comunque , su vostra richiesta , non immediatamente , sempre per problemi di tempo ,
potrei inviare anche questa ulteriore definizione se volete -


al

SubVolUDF-Loop-1.jpg
SubVolUDF-Loop-2.jpg
SubVolUDF-Loop-3.jpg
 

Attachments

innanzitutto grazie per la soluzione proposta!

voler condividere un'automazione di questo tipo, composta da udf, script e regole knowledge, aumenta il (già alto) know how del forum, quindi di nuovo complimenti!

per incompatibilità di versione, non riesco ad aprire il file, ma la tua descrizione è così accurata che tenterò di rifare i vari passaggi e (se ci riesco), posterò il tutto in r19 (anche per lalla).

l'ulteriore definizione, male non fa, naturalmente quando hai hai tempo!

buon fine settimana.

ciao

gianni
 
ciao al,

mi sono bloccato al loop: tra immissioni, nome, contesto, da - a, e poi l'editor, sono in difficoltà a compilare i campi.

ti mando immagine di dove sono incagliato, quando puoi mandarmi immagine del tuo loop.

grazie
 

Attachments

  • Capture_014.jpg
    Capture_014.jpg
    184.2 KB · Views: 6
gianni ecco gli screenshot
1-KnowPattern.jpg
2-Rule.jpg
3-Loop.jpg
spero ti siano utili....
se hai bisogno di altro a disposizione
al
 
ciao al,

a forza di remare mi stanno venendo muscoli enormi, ma non vado avanti...

a parte il fatto che sto facendo tutto "a pappagallo", capendoci ben poco (il linguaggio di programmazione senza le basi, un elenco di funzioni e le regole di sintassi, è arduo), ora mi sono incagliato nella pattern list che non mi vede i punti (0 elements),
poi nella riga for i while i<= `npt` che mi da errore.

quello che viene tra le graffe, immagino si debba selezionare e inserire nell'editor, ma non so come, e che si riferisca a programmare gli elementi che vanno presi dalle liste e/o dai gruppi geometrici, ma la nebbia è spessa!

ciao
 

Attachments

  • 1.jpg
    1.jpg
    219.3 KB · Views: 4
gianni , so che non è facile ma non ti scoraggiare...
vedo da un immagine allegata che hai creato le
liste nel nodo parametri...
non so come , credo selezionando le curve ed i punti
raggruppati nei vari gruppi geometrici... è così ???
la procedura del ktp prevede che le liste ed gli output che ne
risultano vengano generati con uno script...
vedi la mia prima immagine
a seguire la regola per associare wire a curve
e da ultimo il loop per instanziare la udf-
le associazione nella tabella loop .. come puoi vedere dall' immagine postata sono poche

1-devi richiamare la lista ,quella che avrai generato sotto il nodo ktp , che raggruppa le cure
e rinominarla , come vuoi..
2-devi dichiarare il contesto , ovvero dove vuoi che vengano inserite
le udf ( body o gsd)
3- devi associare nel secondo il numero delle ricorrenze da 1 a ... aggiungendo inserisci formula nel campo vuoto , e selezionare
size() della lista prima selezionata, quella che raggruppa le curve-
4- il resto lo vedi nell'immagine allegata
attenzione ------ devi esattamente inserire i nomi degli input così come li hai nominati
nella creazione della udf

al
 
ciao al,

no, non mi scoraggio affatto!

l'esercizio mi stimola e mi interessa anche se (per il momento) non riesco a trovarvi applicazioni pratiche nella mia tipologia di lavoro, dove le power copy (o il banale copia e incolla di una serie di features) di solito basta.

grazie delle indicazioni, ma "tiro giù la serranda" per 2 settimane, per cui le riprenderò al rientro dalla vacanza.

ciao

gianni
 
grazie mille alpole, perdonami ma non ho più ricevuto notifiche della discussione e non ho avuto modo di rispondere per tempo. il sistema che proponi sembra proprio ben fatto (per quanto devo mettermici, è molto ingegneristico per le mie capacità, devo provare a capirlo) per altro sentire che gianni fa fatica non mi incoraggia!ahahahah
grazie davvero per il tempo che ci hai dedicato!
 
ciao alpole,

rientrato dalla vacanza, ho tentato ancora qualche approccio (negativo) alla tua udf, allora ho approfittato di un conoscente che ha la r21 ma aperto il tuo file, ma non sono riuscito neppure a gestire un cambiamento di input o dei parametri...

qualche suggerimento?

grazie

ciao

gianni
 
gianni , bentornato al "chiodo"

i parametri su cui puoi agire sono :
1-
(npt)-( integer) sotto il nodo parametri
variando questo numero varierai i punti creati sulla curva,
i piani, e quindi il n° delle curve guida delle sweept....

2-
il parametro "radius" attualmente impostato a mm4 se non erro
che ti restituisce poi lo spessore se cosi vogliamo chiamarlo delle
scanalature...
ora se vuoi cambiarli tutti devi andare direttamente nello script del loop
e modificare il valore , es 3 - 5- 7 mm etc. etc. ,
altrimenti potresti andare sotto il nodo dove sono stati instanziate le udf
ed agire su ogni singolo (udf) modificandone solo alcuni , se espandi l'udf
troverai il valore editabile del radius e , vicino ,vedrai un altro nodo ( booleano) true/false
modificando quest'ultimo e come se disattivassi la feature eliminando temporaneamente il risultato
buon approfondimento
al
 
grazie al,

ora ci tento, intanto ti mando una prova che sto facendo riguardo al problema di ccz, quello delle linee normali alla curva...

credo ci sia un errore nella sintassi: mi crea gli udf in sequenza ma sono un loop dello stesso punto sulla curva.

riesci a capire cosa ho combinato?

grazie

ciao

gianni
 

Attachments

ciao al,

ho trovato dov'è il problema: nel loop avevo scambiato il nome position come fosse un'istruzione, invece è il nome del punto da cui parte il loop.

grazie

ciao

gianni
 

Attachments

ciao al,

con le tue istruzioni sono riuscito a modificare i parametri.

ora il loop mi è chiaro, mentre c'è ancora del fumo su:

regola (come funziona?)

knowledge pattern (come funziona?)

e come mai i tuoi elenchi non sono editabili?

grazie

ciao
 
ok gianni , le liste non sono editabili
perché sono create all'interno del nodo knowledge..
se apri il nodo vedrai la lista che punta direttamente
al gsd dove sono raccolti gli elementi (datum)-
la maniera corretta per poter editare le liste ,
e di variare il parametro da cui dipendono , in qu esto caso "npt" se non erro-

la regola creata mi è servita per convertire i dati
in una nuova lista che convertisse questi ultimi
in curve ( simile al "tipo" dell' input della "udf")
 

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