Yes, exactly, that was my point…
-Pascal
Yes, exactly, that was my point…
-Pascal
For a Boolean intersection operation between a surface and a solid the first interpretation result is:
For a Boolean intersection operation between a surface and a solid the second interpretation result is:
@Pascal Similar to your requested TrimInside command, a command which would follow the first interpretation could be very useful.
TrimOutside?
-Pascal
Sounds reasonable.
I love above example regarding boolean operations and open polysurfaces:
_booleanDifference
from black polysurface, subtract with violett polysurface
4 different combination of normals and therefor results…
_trim
and _split
for open (poly)surfaces and to use boolean operations only on closed (Poly)SurfacesUse BooelanTwoObjects
to cycle through the possible results.
-Pascal
what was the point? to communicate your situation unclear or to have open geometry?
i can not grasp if you are trying to be funny or are trying to communicate as ambiguously as possible or if you are trying to communicate something and its just not coming over.
to be sure, when you have open geometry why would i close it with boolean difference, the other way when i have closed geometry why would i open it? simple logic.
TrimOutside?
Well, if something like this is going to happen, it would probably be good if there was an option inside/outside, or two different commands. If only one of the two is implemented, I’m sure someone will ask for the other right away…
If somebody uses booleanIntersect and booleanSplit on a combination of open and closed Breps - please give a use-case and explanation
99.9% of my use of BooleanSplit is splitting closed objects with an open surface - to keep the results closed, obviously. Then I can just decide which part to throw away, if any. I use this procedure very often. I also use Wirecut the same way, always with KeepAll and then choosing which part to delete.
Boolean difference between a self intersecting pipe and open surfaces:
Not much time nowadays but wanted to test an idea: If this was a curve drawn by hand, the curve would go over the already drawn curve at an intersection. The definition below uses pipes instead of offset. Since the larger diameter pipes are open surfaces they only subtract geometry from the initial pipe where they intersect and not where they are “co-axial” with the pipe. [image] [image] [image] offset_curve_with_gaps.gh (14.2 KB)
Thee selected pipes on the second screenshot are open surfaces. They only get subtracted from the part of the other pipe which intersects.
@pascal thinking about it once more and to further clear up the thoughts →
boolean difference should not add any surface but only subtract.
what it currently does on a single open surface is similar to what the command boss does where the result is intentionally, using boolean difference i can not say that adding more surface is in anyone’s interest.
Well, if something like this is going to happen, it would probably be good if there was an option inside/outside, or two different commands. If only one of the two is implemented, I’m sure someone will ask for the other right away…
why not call it boolean trim then. or hey make it easy keep it simple, call it boolean difference, in the software i used above the options on closed, open, single or whatever surfaces you throw at, are the following
TrimOutside is not, I think, a huge advantage over plain old Trim, (right?) it’s the inside way that can be awkward. I suppose DelteCutters=Yes/No might be in the mix as well, or is deletion assumed?
-Pascal
TrimOutside is not, I think, a huge advantage over plain old Trim, (right?)
Well, I was imagining multiple surfaces being cut with multiple cutters…
Well, I was imagining multiple surfaces being cut with multiple cutters…
Or simply multiple surfaces being cut with a single cutter.
I suppose DelteCutters=Yes/No might be in the mix as well, or is deletion assumed?
Yes, DeleteCutters should be in the mix.
more inconsistency with booleans:
nr 1 does the trick, but it leaves the rest marked grey behind. both surfaces are open so why would it not work like in case nr 2 where two closed polysurfaces interact?
CurveBoolean just works without complaining, though the process is a bit more involving due to having to select which parts, which in this case is usually an advantage but one could argue if the result shown below is wished that it should not also just work like a boolean difference.
i wonder how good old George would think about all that…
Sometimes seeing things differently does not mean one person is correct and the other person is incorrect.
i certainly agree though it also has a lot to do with which thoughts one associates with it, something which progressively can equalise the view of everybody i assume, also it makes great sense to discuss what the usual function should look like, expecting results which are intuitive and consistent while ideally not necessarily having 5 different commands doing similar to same jobs.
The rules for how booleans work on open objects are pretty clear and simple, you just need to be aware of the normal directions. Trying to add a bunch more rules to their behavior is not going to make them more predictable.
As the other jim is always saying, booleans are just shortcuts for splitting and trimming. If the results seem ambiguous, don’t use them, who cares?
Trying to add a bunch more rules to their behavior is not going to make them more predictable.
i would say its the other way around. rather trying to simplify the logic.
As the other jim is always saying, booleans are just shortcuts for splitting and trimming. If the results seem ambiguous, don’t use them, who cares?
well yeah… good idea. why not skip using computers all together, and hey lets not use internet, all that textual communication is way too ambiguous
CurveBoolean just works without complaining, though the process is a bit more involving due to having to select which parts, which in this case is usually an advantage but one could argue that if the result shown below is wished if it should not also just work like a boolean difference.
You might want to check out PlanarUnion, PlanarDifference and PlanarIntersection.
You might want to check out PlanarUnion, PlanarDifference and PlanarIntersection.
Thank you. I did not know these commands existed.
New thread started with request to disable Boolean commands working with coplanar surfaces as only input. Coplanar surfaces: Boolean vs Planar for union, difference and intersect