Hello,
I am new to 3D-Coat and want to create some scripts to execute some basic operations which I normally would have to execute manually.
What I try to do is:
--
i) Import Object(s) from STL
ii) Convert "Surface" to "Voxel" with a distinct resolution (depends on object)
iii) Subtract Voxel-Object(s) from each other
iv) Export result to STL
What I have done so far is something like this:
void main(){
// next command is optional, just to keep control of execution in modal message boxes (see description of ModalDialogCallback below), if you are new you may delete or ignore next line
//SetModalDialogCallback("ModalDialogCallback");
if(ModalDialogOkCancel("Create new project and import files?"," "))
{
SetModalDialogCallback("ModalDialogCallbackDontSave");
cmd("$CLEARSCENE");
ToRoom("Sculpt");
string wMeshOne, wMeshTwo;
if ( OpenDialog("*.stl",wMeshOne) )
{
SetFileForFileDialogs(wMeshOne);
cmd("$ImportForVoxelizing");
//cmd("$MERGEOBJ");
SetModalDialogCallback("ModalDialogCallbackKeepScale");
SetBoolField("Import w/o Voxelization",true);
//SetBoolField("$RegularGizmo::MoveOnlyGizmo",true);
apply();
cmd("$[Page4]Smooth");//select smooth just for testing
}
}
}
void ModalDialogCallbackDontSave()
{
cmd("$DialogButton#2");
}
void ModalDialogCallbackKeepScale()
{
cmd("Yes");// or "$DialogButton#2"
}
Finally my concrete questions:
* Which command should be used to import STLs as Surfaces?
* How to programmatically convert them to Voxel with a certain resolution?
* How to access the converted Voxel-objects and subtract them from each other
* How to export the result to STL?
A lot of questions, I know - I don't expect a ready-to-run script just some hints into the right direction.
Regards, Reiner