Skip to main content

I am attempting to buffer a line and want to preserve the 90 degree angles rather than have them rounded.

The only way I can imagine this is:


If all your angles are 90 degrees, then you can use a Chopper (Max vertices 2), followed by a Bufferer (End Cap Style Square) and then a Dissolver.

 

 

More robustly you can use the Chopper, then two buffers in parallel, one with Square End Cap Style, one with None, both connected to an AreaOnAreaOverlayer, Tester for Overlaps >1 and then a Dissolver.

 

 

This will truncate the exterior side of acute angles as seen below.

If all the angles need to be kept, I have a worklow for polygons that should be adaptable for linears.


The only way I can imagine this is:

Thank you for your help.


If all your angles are 90 degrees, then you can use a Chopper (Max vertices 2), followed by a Bufferer (End Cap Style Square) and then a Dissolver.

 

 

More robustly you can use the Chopper, then two buffers in parallel, one with Square End Cap Style, one with None, both connected to an AreaOnAreaOverlayer, Tester for Overlaps >1 and then a Dissolver.

 

 

This will truncate the exterior side of acute angles as seen below.

If all the angles need to be kept, I have a worklow for polygons that should be adaptable for linears.

Thank you for the help and quick response!


I put up a script a while ago titled zero stroke ofsetter. (search this term)

Does a ACAD style buffering (wich is this topic).

Basicaly it does following:

1.Create line pieces (chopper2)

2.Ofsett them both sides.

3.Relate lines touching eachother.

4.Calculate their line intersection.

5.Cut them at intersection.

6.Join them and build area.

zerostrokeoffsetter-final-2.png

It works in a group by mode as well, as u can see.


..if thats too much ..then you can also use this workbench :

(with little adaptation. Limited to not too large buffersize..)


for bigger buffers you can change the area resolution in the comparisong to

ceil(area*100)/100 .

Warning tho, dont use this on stroked arcs and or splines with fine strokesettings...

The workspacce does away with the simple 90 degrees solution, it can handle all angles. (as long as you don't use aggerated buffersizes)


Reply