Jump to content
3DCoat Forums
Przemas

[noob question] voxel = watertight objects?

Recommended Posts

Ok, I guess this will be obvious for most of you.... For the past couple of days I've been reading about voxels / 3d Coat and it got me thinking - are the models made in 3d Coat using voxel technology watertight?

I mean no holes, joined objects?

I'm asking as I use 3d sculpting tools for manufacturing of sci-fi/fantasy models (toys for big boys :D ) and thus I have a tad different needs than those using the software for animation etc. The common issue with most of the software is that final objects are not joined into single shells and the mesh often has holes. Moreover you can build objects that have no volume (that are basically flat surfaces) - and thus non manufacturable. I have to go through a number of additional tools to fix those and was thinking whether 3d Coat could have an edge in this field.

Heck, I really feel I need to get a book to get familiar with all the terms related to 3d and with technical aspects of the whole thing ;) ...

Share this post


Link to post
Share on other sites

Make sure the mesh is closed in the scene. You can export in STL format, which many manufacturing operators can work with. What I have done in the past is just export the object I may create/sculpt in 3DC, and then trace it with NURBS in an external app. like 3ds Max (using PowerNURBS Pro). From there, I can export it in a format they prefer better (STEP, IGES, etc.)

One step I make to ensure a clean texture baking process or export is to right-click the object layer and click "FILL VOIDS." This removes any hidden "bubbles/voids" within the object.

Share this post


Link to post
Share on other sites

Yeah , but my point was shouldn't voxel model be watertight from the very beggining as they operate on volumes?

It would be really interesting to get info on this.

In the workshop we use Netfabb Pro to fix problematic .stl files . While most of the designs we do ourselves are rather ok, and only minor fixes are needed, the files we receive for 3d printing are often much more troublesome.

@AbnRanger: would you mind sharing your workflow? I understand you change polygon data into nurbs data . I'm really couious on your approach on the matter.

Share this post


Link to post
Share on other sites

The below is talking about creating a voxel model inside 3DCoat not importing a mesh and converting it to voxels. That is another process...

3DCoat's voxels are watertight but the user can create a void in sculpting that he might not have noticed. an example, I craved out a hole, then use the grow tool to bridge over the hole enclosing it. Now I have a void inside the voxel mesh. User created.

Fill voids under the voxtree tab takes care of these user created voids...

It is good just to run it at the end of the sculpting process to be sure there are no user created voids...

Share this post


Link to post
Share on other sites

They should be watertight on export. Just mentioning some things to check in case there was a problem at some point. As for workflow, if a CNC operator tells me he really wants STEP or IGES, as opposed to STL, I could model with NURBS (Solid Surface) in 3ds Max with the plugin "PowerNurbs Pro" or I could build it from scratch in 3D Coat (Voxels), where I don't have to be concerned with topology at all, during the creation process. The reason I prefer to build models in 3DC now is that you can modeling, sculpt and paint right in the same environment.

Actually, the Freeform Primitives and the Freeform Cages available in the Pose Tool is very much like working with NURBS. If you need to do a lathe type operation, you can use the Splines brush in the E-Panel (upper left hand corner of the UI, above the tool panel or hit the "E" Key) > draw a profile or import a vector shape from a file, in the E-Panel > hit ENTER > use the WARP tool to replicate that profile (lathe) around a designated axis.

So, if I build the object in 3DC, I can export as STL or as an OBJ > import it into Max and use PowerNURBS Pro to trace curves onto the model (auto-snapping of the control points enabled) > export file as STEP and/or IGES.

Share this post


Link to post
Share on other sites

@digman: oh, now I get it - something like airpockets in a real clay. Shouldn't be an issue during 3d printing and even if they prove to be problematic they should be easy to remove :) .

@AbnRanger: thx for the info. I'll need to check whether I'll be able to turn mesh object into nurbs myself using the software I use.

Damn, if I could only find a way to quickly identify&remove undercuts on rather complex 3d sculpts I'll be a happy man :)

Share this post


Link to post
Share on other sites

If you have NURBS/Solid Surface capability in your software, and if you needed to deliver the model in a Solid Surface format (STEP, IGES, Catia, etc), then you could export the model you worked on in the Voxel room, and use your NURBS tools to simply RETOPO the model (with NURBS instead of Polygons) there. Use snapping to keep your Curve points constrained to the model, and you are effectively just tracing the model with Curves.

If you do not need to deliver in a Solid Surface format, then you should be able to export straight from the Voxel Room in STL format (which is a faceted/polygonal mesh format)...which most 3D Printers can utilize.

Share this post


Link to post
Share on other sites
..Damn, if I could only find a way to quickly identify&remove undercuts on rather complex 3d sculpts I'll be a happy man :)

Do you have a screen grab to show what you mean (you can go to the HELP menu and select "Upload Screenshot")?

Share this post


Link to post
Share on other sites

Ok, so I'll need to explain a tad what it is needed for.

While manufacturing a piece you create a mould that gets filled with some kind of material (plastic/metal etc). Ok, that's pretty obvious :D . The mould can be either flexible (for example made from rubber) or totally rigid (fe steel).

Flexible moulds allow undercut which can be described as areas that are angled towards parting surface, a sort of recessed surface. Here's a quick pic taken from Wiki :

799px-Undercut_turning.png

It's not the perfect sample as in this alignment you could have a horizontal parting surface through the center.

Here are some better ones:

634px-Ondersnijding.gif

undercut_sample2.png

Steel moulds allow almost no undercut - so there's a need to find those tricky areas and remove them quickly.

While I can avoid those when we're working on a tech design (some sort of weapon for example), but while working on complex organic items it is a real pain. Option to choose a "parting plane" and looking for areas undercut towards it in a software that allows to tweak model easily (3d Coat for example) would be awesome.

undercut_sample1.png

undercut_draftsample1.png

ATM moment I can load a design into Rhino for example and run draft angle analysis to look for those areas then get back to modelling application but it is insanely time consuming (create / save / open / check / make screenshot / open / modify / save / open and so on....). I see a real need to check undercut in modelling app. So far the only solution I found is Sensable Phantom Desktop with FreeForm Plus. But got to admit atm I can hardly justify buying such insanely expensive hardware/software combo (over 30000USD out here) - especially when I see no real advantage (apart from undercut removal and creation of cavities) over 3dCoat/Zbrush with good tablet.

Share this post


Link to post
Share on other sites

You can always use the Pose tool in the Voxel sculpting room to do the bulk of your modeling tasks. I always call it the Swiss Army Knife of the whole toolset. It's so versatile, I was able to model the entire assault rifle (XM8), using it and splines 90% of the time.

http://www.youtube.com/watch?v=kOGIgpIPNTE&feature=BFa&list=PL0614F2A03AD725CD

Share this post


Link to post
Share on other sites

thx AbnRanger - but got to admit I fail to see how pose tool could help me. The main issue is that modelling apps like 3dCoat/Zbrush lack the tools to detect undercuts. If those were available removing undercuts would be pretty straightforward even with fill/smooth.

Note that we're not dealing with simple geometry where you could detect those using your common sense and eyes. Here's a sample of the head (modelled by our inhouse sculptor Kazube) and then 3d printed:

policehelmets_print_onehs.jpg

Without undercut detection in modelling app removing undercut only from this single object would take enormous amount of time. If we had those it would be fast and easy :) .

Later on I'll try to post a sample head that we've used to test whether we're able to do it without such features (by switching between modelling app and CAD app). We've did it (well almost) but the amount of time we had to spend on it does not make it a viable option. I know I'm repeating myself - there's a need to detect undercut in modelling app (even if that would make a separate app, only with undercut detection and some basic brushes).

But looks like we're going slightly off-topic :D .

Anyways I feel slightly convinced that 3d Coat may be a good addition to our workflow as it works on volumes and thus objects made in it should be watertight, thus better for 3d printing and manufacturing in general (that's the main difference between needs for manufacturing and for animation/cg).

Share this post


Link to post
Share on other sites

Przemas, I feel your pain.

Tools like Draft-Angle Analysis and Curvature-Analysis probably could get added relatively quickly.

The analytic foundation definedly is already in place both in 3DCoat and Zbrush. This math only gets used for tasks with comparable direction but yet slighly other focus

(such as drawing just in Cavities or or masking or by geometric continuety in Zbrush).

The problem is that very few people in the userbase of Sculpting-Programs are involved with realworld manufacturing.

So wishes with a mindset of that industry don't come up often. Although they make a lot of sense.

For now you might check out what just came to my mind. It's not cool by any means but could at least help some.

Load your subdivided model into Rhino and run Draft-Angle Ánalysis there.

As Rhino also supports Vertex-Colours I would then try to bake the Analysis-Result into the mesh. Here some scripting certainly was required but it should be doable.

McNeel is super helpful in such matters. Scan and Solve, the Finite-Elements Analysis-Plugin for Rhino also allows to store the Analysis-Result permanenty, although

I believe they write it into a bitmap.

In case that you get the analysis written to vertex-colour you could then bring the model into 3DCoat (merge without voxeling) and with some trickery maybe also to Zbrush.

Then you at least have a precise colour-plot for the areas which need some re-working available in the sculpting-app.

Again, that's pretty shitty, compared with a Draft-Angle-Analysis running in realtime and immediately giving feedback on every brush-stroke.

But it could get you going at least.

One last thing to do is contacting Andrew directly. He's definedly interested in manufacturing concerns and implementing such should not really make him think for long.

I myself imagined the best implementation as a special shader which gives access to its settings. If you address Andrew I would sugest recording a short and precise narrated

clip which describes current limitations and your goal. Anyway, let us know how it goes.

Share this post


Link to post
Share on other sites

Yeah...you got me there. Never had to deal with that sort of dilemma. The closest possible thing I could think of is using a PicMat shader in the Voxel room...but I don't know if that would be of any aid in this or not. It's essentially a cavity map/shader. The 2nd image is just a standard clay shader (to demonstrate the difference).

Share this post


Link to post
Share on other sites

@polyxo: thx mate, nice to see I'm not the only one struggling with those issues :) .

Your tip howto handle those atm is great - will definitely try it. Realtime would be best, but still it's better than switching between apps :D .

Also I'll try contacting Andrew directly. Recording a short video is a cool concept - explaining those matters only by written description is a tad problematic. I have my fingers crossed and hope he'll be interested in implementing those - algorith wise that shouldn't be tricky.

Will surely let you know how it went :) .

@AbnRanger: no worries, I'm rather aware most of the 3d graphic artists on the forums are focused mostly on rendering/animation. But I really see things changing now and I see a growing amount of people using freeform/clay like modelling apps for manufacturing. A couple of years ago there were no hardware options easily available that could translate such complex designs into real objects. Things are way different now - heck, the 3d print above is good proof of it :) .

But lack of such users on the forums is an issue - it's rather hard to get support for such manufacturing related tools because of it. The funny thing is that I propably won't get support from those interested in manufactiring because they don't use such modelling apps and simply do not visit forums like this one. Argh - a starnge circle of things....

Share this post


Link to post
Share on other sites

Your tip howto handle those atm is great - will definitely try it.

I was not sitting in front of my work-computer when writing this. Unfortunately that will not work as Rhino only allows for draft-angle-analysis on

Nurbs-Objects. That's a pity as it effectively works on the Nurbs-Objects Analysis-Mesh. So your best bet will be to contact Andrew I guess.

Share this post


Link to post
Share on other sites

@polyxo: I'm sure it could work.

Draft Angle Analysis in Rhino works on meshes - I'm sure of it as I did it a couple of times :) (in fact I think that's how this algorith works). Curvature analysis might not work though.

Share this post


Link to post
Share on other sites

@polyxo: I'm sure it could work.

Draft Angle Analysis in Rhino works on meshes

I indeed ran curvature-analysis, sorry!

Draft works indeed. Now one needed to extend that command in a way that it gets you the Vertex-Colours.

The regular command is called "ComputeVertexColors" however it currently can not harvest the data from Draft-Angle-Analysis.

The guys from the McNeel Developer-Newsgroup might help though.

Share this post


Link to post
Share on other sites

@Polyxo: I've found a temporary solution. I run "Draft Angle Analysis" in Rhino. Then when it's active I run "ExtractAnalysisMesh" command to get the coloured mesh.

Still undercut detection in modelling app like 3d Coat / Zbrush would be much better, especially if accompanied by other "simple" tools , like the ones you could see in Sensable FreeForm Modelling Plus.

Share this post


Link to post
Share on other sites

Ah - I was not aware that the extracted mesh carries the Vertex-Colour!

Sounds like the best possible workaround to me.

Share this post


Link to post
Share on other sites

Ok, so I'll need to explain a tad what it is needed for.

While manufacturing a piece you create a mould that gets filled with some kind of material (plastic/metal etc). Ok, that's pretty obvious :D . The mould can be either flexible (for example made from rubber) or totally rigid (fe steel).

Flexible moulds allow undercut which can be described as areas that are angled towards parting surface, a sort of recessed surface. Here's a quick pic taken from Wiki :

799px-Undercut_turning.png

It's not the perfect sample as in this alignment you could have a horizontal parting surface through the center.

Here are some better ones:

634px-Ondersnijding.gif

undercut_sample2.png

Steel moulds allow almost no undercut - so there's a need to find those tricky areas and remove them quickly.

While I can avoid those when we're working on a tech design (some sort of weapon for example), but while working on complex organic items it is a real pain. Option to choose a "parting plane" and looking for areas undercut towards it in a software that allows to tweak model easily (3d Coat for example) would be awesome.

undercut_sample1.png

undercut_draftsample1.png

ATM moment I can load a design into Rhino for example and run draft angle analysis to look for those areas then get back to modelling application but it is insanely time consuming (create / save / open / check / make screenshot / open / modify / save / open and so on....). I see a real need to check undercut in modelling app. So far the only solution I found is Sensable Phantom Desktop with FreeForm Plus. But got to admit atm I can hardly justify buying such insanely expensive hardware/software combo (over 30000USD out here) - especially when I see no real advantage (apart from undercut removal and creation of cavities) over 3dCoat/Zbrush with good tablet.

Could you elaborate more on undercuts and why manufacturing process needs them? I don't understand the pictures so far. Looks like the small cylinder just has a recessed area on where its connecting to the bigger cylinder.

I'm interested because I'm doing some 3d prints and thought that any thing that can be 3dprinted could be sent to a manufacturer as is. The only thing I considered is the thickness for 3dprints and that it should be hollow to save material. Haven't heard of undercuts.

Share this post


Link to post
Share on other sites

@geo_n: you're absolutly right you can 3d print almost anything. The issue has nothing to do with it :).

It is related to plastic injection moulding process. Plastic is being injected into rigid metal moulds - they can't flex. So recesses that collide with the direction that the mould opens would prevent the piece from ejecting the mould cavity, would trap it inside.

Share this post


Link to post
Share on other sites

I see. So this detection where parts of the injection molded object would collide when its opened from the master cast is done by software? I can't imagine a human eye do it on a complex object.

Share this post


Link to post
Share on other sites

On technical items you can take that into account during design phase. But it is very difficult to plan such things on organic items - IMO not possible time wise. That's why I hope that modelling apps like 3d Coat will add detection and undercut removal features to their toolbox (especially that algorithms needed for such functionality are already there).

So far such features are available in industrial CAD systems used to design moulds. The issue is that most of them do not handle polygon data well and do not allow freeform modifications on the fly thus making designing mould for complex organic sculpt a real pain.

I'd like to get a moldable model from the sculpting app (3d Coat , Zbrush etc) that I could mold in CAD software (Rhino, Space Claim etc).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×