FIRST THOUGHTS …
1. Can be done by editing the voxel definition, and scaling down the geometry about the center.
2. Can be done (as mentioned above) or with existing component replacer extensions.
3. Don’t know offhand. (Have not read the code in years.)
3 is possible, no problem using
return unless UI.messagebox('Do you want to proceed?',MB_YESNO||15) == IDYES
4(b). Progress Bar interface has not been implemented in the API’s
UI module. (We have asked for one like … forever.) They are rather difficult to hack. Often we just show a series of pipe symbols on the status bar but if the user moves the mouse they disappear.
4(c). abort on keystroke or mouse click would require implementing a tool interface which is kind of weird as this is an automated process and tools usual wait for user input and interact with the model.
5(a). The user can get a volume amount in the Entity Info inspector panel even before the voxelizing. Select the manifold group or instance. (The plugin could easily store this value for later display.)
@volume = grp.volume
5(b). the number of instances of a given component definition is trivial to get …
num = comp_def.instances.count
… or …
num = comp_def.count_instances
… or …
num = comp_def.count_used_instances