Skip to main content
Solved

How to preserve line angles when buffered?

  • February 5, 2016
  • 7 replies
  • 90 views

ngstoke
Contributor
Forum|alt.badge.img+1

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

Best answer by erik_jan

The only way I can imagine this is:

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

7 replies

erik_jan
Contributor
Forum|alt.badge.img+23
  • Contributor
  • Best Answer
  • February 5, 2016

The only way I can imagine this is:


jdh
Contributor
Forum|alt.badge.img+40
  • Contributor
  • February 5, 2016

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.


ngstoke
Contributor
Forum|alt.badge.img+1
  • Author
  • Contributor
  • February 5, 2016

The only way I can imagine this is:

Thank you for your help.


ngstoke
Contributor
Forum|alt.badge.img+1
  • Author
  • Contributor
  • February 5, 2016

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!


gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • February 8, 2016

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.


gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • February 8, 2016

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

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


gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • February 9, 2016

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)