Arch offset documentation
Features:
1side offset left, 2sided offset right
(from left to right) 1side nested offset, 2sided nested offset, 2sided nested offset + “delete nested 2s out” enabled
Used for cases the curve is complicated (curves like spirals) where the curve normals hits the “backface” of another curve segment.
complicated curves examples (from left to right) 1s offset, 2s offset, closed offset:
this is the offset using always the limit offset distance per curve or nested ID
this node group is just the example showing how to use the node group output parameters:
Settings:
>offset settings
- estimated iterations - set the amount of the iterations to ID point count
- manual iterations - you can set the amount of the iterations manually, works only when estimated iterations disabled
- compute at origin - during the computation all curve medians are moved to origin (this might help with the precision)
- dissolve angle - this value is epsilon to delete points whose angles are equal to straight(180) and sharp(0)
- merge/proximity dist - you can try to increase this value slightly in case there are some errors
- closed offset delta - this value is used for closed offsets, it is the thickness (or offset) of the first starting curve before computation
>original curve settings
these settings handle the original curve before the computation starts
- curve resolution - keep lowest possible
- merge by distance - get rid of the points close to each other
- 180 angle dissolve - this value is epsilon to delete points whose angles are equal to straight(180)
how it works:
-1. The curve is converted to poly, for the bezier curves you should keep the resolution lowest possible (the computation can become heavy for curves with many vertices). Ensure the curve is 2D (flat, Z of all points having the same value – but does not have to be 0) and the scale is applied.
-2. The limit offset is computed and executed = one iteration and the result is split to new curves made ready for new upcoming iteration. This step has the biggest performance hit.
first limit iteration on left and all iterations on the right:
-3. After all limit iterations are created the offsets are interpolated in desired offset distance and amount.
offset 100cm on the left and 50cm on the right (both 20ms):
As all limit offsets are already computed the performance impact of this task is very small, so you can have 100 or 1000 offsets very fast.
performance examples in miliseconds (150cm offset 15duplicates 66ms left, 5cm offset 500duplicates 72ms right):
performance examples in miliseconds (curve resolution 2, 188ms top, curve resolution 6, 614ms bottom) in case the curve resolution is too high the computation might fail due to many steps where limits are very close to zero: