Sbabba
Guest
salve a tutti.
per la tesi sto lavorando su un assemblaggio automatico di una serie di componenti standard in configurazioni differenti.
ho scritto un programma in c# che permette la selezione di questi componenti e comanda due cad, solid works e solid edge, per l'assemblaggio dei modelli di tali componenti secondo la configurazione scelta.
per quanto riguarda solid works non ho avuto alcun problema. ho inserito due piani tra loro ortogonali ed un asse sull'estremità di ciascun pezzo, in modo da accoppiarli tra loro tramite due comandi di complanarità ed uno di coassialità; questa procedura di accoppiamento viene iterata per ciascuna coppia di componenti fino a creare l'assembly finale, in quanto i piani e gli assi hanno sempre lo stesso nome e sw seleziona piani ed assi con una sintassi del tipo "nome_piano@nome_parte@nome_assembly".
per la precisione i comandi utilizzati sono:
selectbyid2() per la selezione dei piani ed assi con cui eseguire l'accoppiamento;
addmate3() per l'aggiunta dell'accoppiamento planare ed assiale.
ora sto cercando di fare la stessa cosa con solid edge, però ho delle difficoltà.
innanzitutto ho trovato i comandi axialrelation3d() e planarrelation3d() per eseguire gli accoppiamenti, ma ho parecchi dubbi su come possa fare. l'sdk della st4 dice (qui) che è possibile usare il comando planarrelation3d() per rendere parallele due facce di due parti differenti: anziché due facce, sarebbe possibile usare due piani da me creati, nominati in un ben preciso modo, in modo da applicare lo stesso comando iterativamente per i vari componenti?
per quanto riguarda la coassialità mi sembra di capire che non sia possibile, perchè il comando axialrelation3d() rende colineari due assi di due parti cilindriche, ma nel mio caso non ho solamente parti cilindriche; d'altronde se non permette, a differenza di sw, di inserire assi a piacere. potrei facilmente risolvere il problema usando un terzo piano e una terza complanarità, però volevo accertarmi di questa cosa.
purtroppo online si trovano pochissime informazioni per quanto riguarda l'uso dell'api di solid edge con gli assembly, e l'sdk di se è estremamente scarno se paragonato a quello di sw, quindi brancolo un po' nel buio.
ringrazio in anticipo chiunque possa darmi anche solo il più piccolo aiuto!!e sull'estremit
per la tesi sto lavorando su un assemblaggio automatico di una serie di componenti standard in configurazioni differenti.
ho scritto un programma in c# che permette la selezione di questi componenti e comanda due cad, solid works e solid edge, per l'assemblaggio dei modelli di tali componenti secondo la configurazione scelta.
per quanto riguarda solid works non ho avuto alcun problema. ho inserito due piani tra loro ortogonali ed un asse sull'estremità di ciascun pezzo, in modo da accoppiarli tra loro tramite due comandi di complanarità ed uno di coassialità; questa procedura di accoppiamento viene iterata per ciascuna coppia di componenti fino a creare l'assembly finale, in quanto i piani e gli assi hanno sempre lo stesso nome e sw seleziona piani ed assi con una sintassi del tipo "nome_piano@nome_parte@nome_assembly".
per la precisione i comandi utilizzati sono:
selectbyid2() per la selezione dei piani ed assi con cui eseguire l'accoppiamento;
addmate3() per l'aggiunta dell'accoppiamento planare ed assiale.
ora sto cercando di fare la stessa cosa con solid edge, però ho delle difficoltà.
innanzitutto ho trovato i comandi axialrelation3d() e planarrelation3d() per eseguire gli accoppiamenti, ma ho parecchi dubbi su come possa fare. l'sdk della st4 dice (qui) che è possibile usare il comando planarrelation3d() per rendere parallele due facce di due parti differenti: anziché due facce, sarebbe possibile usare due piani da me creati, nominati in un ben preciso modo, in modo da applicare lo stesso comando iterativamente per i vari componenti?
per quanto riguarda la coassialità mi sembra di capire che non sia possibile, perchè il comando axialrelation3d() rende colineari due assi di due parti cilindriche, ma nel mio caso non ho solamente parti cilindriche; d'altronde se non permette, a differenza di sw, di inserire assi a piacere. potrei facilmente risolvere il problema usando un terzo piano e una terza complanarità, però volevo accertarmi di questa cosa.
purtroppo online si trovano pochissime informazioni per quanto riguarda l'uso dell'api di solid edge con gli assembly, e l'sdk di se è estremamente scarno se paragonato a quello di sw, quindi brancolo un po' nel buio.
ringrazio in anticipo chiunque possa darmi anche solo il più piccolo aiuto!!e sull'estremit