Jump to content
AutoDesSys Forums
RobertH

Enhanced Boolean TOOLS

Recommended Posts

Description:


The Boolean Tools are powerful and incredibly useful for creating new objects. Results of the Boolean Union Tool is readily apparent. But some Boolean Tools don't live up to their full potential as design tools. Particularly the Boolean Intersection Tool (and to a lesser extent the Difference Tool). It is possible to create some very unique objects with these tools, and while the results are precise, getting to them is rather hap hazard. More trial and error than interactive design. Making a few small changes could make these tools sing. Here is a proposal for an Enhanced Boolean Intersection Tool.


 


Proposal:


The Boolean Intersection Tool would work as it currently does until after it is finished executing, when the objects that make up the Intersection object, go into a result buffer mode. Then:


  1. The original objects become transparent, instead of ghosted and
  2. The Intersection of the objects is totally opaque (like the current result) and
  3. Clicking on any of the original, now transparent, objects
    1. Turns the tool into a Transform like tool for that object that
    2. Allows the manipulation of that object (move, rotate, scale), while
    3. Updating the resulting opaque Intersection in real time until
    4. A commit button is pushed.

 


Benefits:


Interactive manipulation with a real time preview of the resulting object would make this a killer enhancement to an already powerful tool.


 


Implementation:


All the tools to make this happen already exist in formZ with the exception of the intersection of objects display of two or more transparent objects making an opaque object. However the Clipping Planes tool is fairly close, with a little tweaking.


 


Additionally:


The same method can be used with the Boolean Difference Tool except only the cutter object(s) would be transparent, so that the resulting cut can be precisely controlled.


 


Alternate Approach:


A new tool could be created which would make any object that it touches transparent. When two or more of these objects intersect, the intersection would be opaque. These objects can be moved, rotated and scaled, like any normal object. A radio button would determine what type of Boolean operation, Intersection or Difference would occur. And a commit button would apply that Boolean operation. (Could this be done with a plug-in?)


 


Screen Shots:


Here a Cube and Sphere intersect and are shown at 90% transparency. There is no doubt about what the new object will look like, unlike the guessing required with the current tool. Move, rotate and scale of the transparent objects would update the intersection in real time.



 


post-9819-0-18995400-1435157955_thumb.jpg


post-9819-0-93702000-1435157980_thumb.jpg


 


Share this post


Link to post
Share on other sites

Thanks for responding John...

 

I was just watching a video of the MeshFusion toolset in Modo and it gives a dynamic look at what this Boolean Intersection Tool would look like in action. The bit from times 3:00 - 5:00 gives a flavor of what's possible:

 

 

 

It's interesting, even in the formZ manual, the first two pictures of how the tool works, shows the intersection using transparency. Looking at the first picture it's not at all clear of the result that you get in the second picture.

 

http://www.formz.com/manuals/formZ8/formZ_Pro/!SSL!/WebHelp/formzpro.php?url_str=11420_Boolean_Split.html

 

I hope AutoDesSys seriously considers this, it could be amazing...

 

 

 

Share this post


Link to post
Share on other sites

Just add one tool: "Activate as boolean". Any normal (faces out) solid is a pluss. Any inverted solid (faces in) is a negative.

Pluss and pluss ads, plus and minus subtact and minus and minus is pluss (intersection).

 

This way we can save the file, and move any active boolean around to change the result. Live booleans!!

Perhaps a possibility to "keep split object" as in the current split tool, when two positives overlap

Convert object tool can kill it.

 

As for surfaces: covered are plus and uncovered are minus, If they are "active boleans"

/Petter

Share this post


Link to post
Share on other sites

Hi palarsen, I like where you are going with this, but I don't completely understand your suggestion.

 

If you have 3 objects (not touching), a regular cube, an "Activated Boolean" "normal" faced cube and an "Activated Boolean" "inverted" faced cube, what would the "Activated Boolean" cubes look like?

 

If I have a Cube and touch it with the "Activate as boolean" Tool, what would I see? Is there a setting (like a radio button) which determines if this Cube will be become a "normal" or "inverted" faced "Activated Boolean" object?

 

Would only "Activated Boolean" objects interact? What happens when a regular object intersects with an "Activated Boolean" object, for both "normal" faced and "inverted" faced "Activated Boolean"objects?

 

I don't know what you mean by covered and uncovered surfaces.

 

This is a really interesting idea! Just need more information. Thanks!

 

Share this post


Link to post
Share on other sites

Live Boolean Tool:

OK I've been thinking about @palarsen ideas (Thank You palarsen!) and have come up with an alternative: the Live Boolean Tool.

 

Proposal:

The Live Boolean Tool would combine Boolean Intersection, Difference and Union operations. When this tool is selected and an object is:

  1. Left Clicked it would go to 90% transparency with a Red color and becomes a "Cutter/Intersection" Live Boolean object
  2. If Right Clicked it would go to 90% transparency with a Blue color and becomes a "Normal" Live Boolean object
  3. After either of the above operations the tool becomes a Transform type tool to manipulate that object (move, rotate, scale) while updating any intersection with other Live Boolean objects as follows:
    1. If 2 or more Red "Cutter/Intersection" objects intersect, an opaque Boolean Intersect object is created
    2. If a Blue "Normal" object and a Red "Cutter/Intersection" object intersect a Boolean Difference object is created, with the Blue object becoming opaque
    3. If 2 or more Blue "Normal" objects intersect they both become opaque and a Boolean Union object is created. This is not really needed but something useful has to happen when Blue "Normal" objects intersect

The intersection object is updated live in real time until a Cancel or Commit Button in the Tool Options Palette is clicked. The Commit button creates the new Boolean Object and the original objects lose their transparencies and become ghosted.

 

To sum up, the Red "Cutter/Intersection" object becomes a "Cutter" object when intersecting with a Blue "Normal" object and an "Intersection" object when intersecting with another Red object.

 

Screen Shots:

In the first shot a Live Boolean "Cutter/Intersection" Cube and Sphere intersect and are shown at 90% RED transparency and the resulting opaque intersection object.

 

In the second shot a Live Boolean "Red Cutter/Intersection" Sphere and a Blue "Normal" Cube  intersect and are shown at

90% transparency. Note that this would never be shown this way because as soon as they intersect the Blue "Normal" Cube would become opaque as in the third screen shoot.

post-9819-0-12264900-1435292165_thumb.jpg

post-9819-0-69099400-1435292177_thumb.jpg

post-9819-0-52805500-1435292187_thumb.jpg

Share this post


Link to post
Share on other sites

Thinking about this some more, the Live Boolean Union operation makes no sense. Instead of Union change this to Live Boolean Split. So when 2 Blue "Normal" objects intersect they would behave the same way as when 2 Red "Cutter/Intersection" objects intersect, but with an opaque Blue intersection object. This allows you to clearly see the 3 objects that would be split, something that is not the case with the current Boolean Split tool. When pressing the Commit button the 2 transparent object will become opaque, creating 3 separate opaque objects.


post-9819-0-61282600-1435299457_thumb.jpg

Share this post


Link to post
Share on other sites

Making a solid into a Live Boolean could turn on the Show Surface normals (perhaps in special color arrows?)

Reversing a solid would make it a Minus object, negative volume. Arrows pointing in. And object looking reversed

 

For more complex operations with more objects you would need to "kill" them with Convert objects, as you go along.

 

When two Live Booleans interact, the preview could be of the resulting shaded object, and the Live Booleans would be ghosted.

Share this post


Link to post
Share on other sites

MeshFusion has been a real game changer for working with boolean operations on SubD surfaces in Modo. In many ways it brings about the flexibility of working with boolean operations in solids/nurbs based packages such as FormZ (although it must be added with a lot of added complexity too). One of the highlights of MeshFusion is the live previewing and this seems a superb feature request for FormZ to me too.

 

Nicely thought through too Robert. :)

Share this post


Link to post
Share on other sites

I prefer Archicad boolean routines / concept. You can edit elements easily after boolean operation. If you want to make window hole into the wall you just use difference operation and then hide the cutting element (move it to the hidden layer). When the layer is on you can move, rotate, scale or deform the cutting element. So the boolean results are not permanent, they are associative!

 

Otherwise, Archicad is not the best application for freeform concept design. FZ is.

Share this post


Link to post
Share on other sites

I prefer Archicad boolean routines / concept. You can edit elements easily after boolean operation. If you want to make window hole into the wall you just use difference operation and then hide the cutting element (move it to the hidden layer). When the layer is on you can move, rotate, scale or deform the cutting element. So the boolean results are not permanent, they are associative!

 

Otherwise, Archicad is not the best application for freeform concept design. FZ is.

 

Horses for courses really. Archicad is a fantasic BIM focused parametric modeller for Architecture (far better than industry leader Revit IMHO). However as you say it's terrible for freeform direct modelling tasks such as concept design.

 

And if you have to visualise an Archicad model in another CG package to make use of something like V-Ray you'll often have to remodel the thing from scratch as the exported tessellated geometry is a rats nest of the worse possible kind. Exports of tessellated geometry from FormZ are much the same to be honest but at least with FormZ you can export a CAD format such as STEP and make use of the excellent Power Translators plugin to create problem free tessellated geometry in Max/Maya/Modo. The plugins not cheap at $500 but it's far cheaper than remodelling everything from scratch! :)

Share this post


Link to post
Share on other sites

There is a lot that can be done with booleans. I have been using SharkFX alongside FormZ for a good number of years. It is not as fluid as FormZ but has a really nice implementation of edge treatments for boolean operations and working with SubD meshes is very good too. 

https://www.youtube.com/watch?v=XrxhvohwhLE&feature=youtu.be

 

That's very cool indeed! And just the sort of workflow that would fit in perfectly with FormZ (would make the existing SubD implementation far more useful too).

 

Love how the solid maintains its association with the originating SubD mesh.

 

Is the performance as sluggish as it appears in the video? It's a very simple model so you would hope for better performance than what's on display. Probably just a YouTube framerate issue, but thought I'd ask anyway.

Share this post


Link to post
Share on other sites

There are so many varied needs and work flows…  I never need half of the existing NURBS tools, but am thankful for the existing NURBS power.  

 

RE: enhanced previews… What will happen with very complex operations? Do you expect the preview is going to calculate a crude version of the complex boolean operation?  I doubt it can be done to an advantage.

 

In terms of transparency:  If one dedicates to short cut key uses, then transparency setup is fast… This can be done before or after. I admit it took me years to get this shortcut workflow manageable. But i fear we will bog down advanced development if we ask for simplistic tool features.

 

My own  NURBS interests have usually been at the edge of shaded display capability. So that having automatic previews and automatic transparency will likely slow down my NURBS uses.

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

×