New Member roar Posted October 13, 2017 New Member Share Posted October 13, 2017 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 Quote Link to comment Share on other sites More sharing options...
Carlosan Posted October 13, 2017 Share Posted October 13, 2017 Hello, Hope this docs help. https://docs.google.com/document/d/17cwZAOxv6Hbt86-ktPv5uJBLJ4-7TdWFIjJUc_FV7_s/edit Quote Link to comment Share on other sites More sharing options...
New Member roar Posted October 16, 2017 Author New Member Share Posted October 16, 2017 Yes and no I have already studied this document and tried out different code-snippets from it, but not all were working as expected. So my concrete question (based on the docs): the following code-snipped should load an STL in Surface-Format - correct? //Import model cmd("$ImportForVoxelizing");/*Import mesh for "non-voxelizing"*/ //This is intended to press OK when user will be asked if scale should be kept SetModalDialogCallback("ModalDialogCallbackOk"); //ensure that model won't be voxelized SetBoolField("$VoxelSculptTool::MergeWithoutVoxelizing",true); //press apply button apply(); Thanks! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.