Left/right is indeed dependend on lineorientation.
But weither you consider it left/right is also a matter of anglesize; in wich quadrant does a line lie.
If ofsetter seems to offset both sides, then some lines are in different the quadrants.
You can check this if you have a label placed, label will be upside down.
Offsetter always places offset correctly to one side, if so chosen.
You can extrant the angles and check in wich quadrant they are. Reverse if nescessary. This way you can synchronise their orientation to have offsets to appear at the same side (tho technicilay it is then that they actually are on opposed sides)
Hi François,
As far as I know, the OffsetCurveGenerator always decides left/right correctly based on the original line orientation. If you found a case where the transformer cannot decide the direction correctly, I say it's a bug. I would recommend you to contact Safe support.
Takashi
Hi Gio and Takashi,
Many thanks for taking time to answer my question.
I also thought the OffsetCurveGenerator generates the line based on the source line direction (direction from the first to the last vertex coordinates)... Maybe I'm wrong?
I contacted the Safe support and sent them my workbench and data to clear this out. I will keep you updated.
Best regards,
François
It does do that correctly.
Maybe explode your polylines and reorient them? Check their validity?
This is transformer from a workspace i made, called zerostrokeoffsetter.
Affiner_2 2Affiner]
x' = 1x + 0y + @Evaluate($(Offsetside)*$(dist)*($(E_y)-$(S_y))/$(Length))
y' = 0x + 1y + @Evaluate(-$(Offsetside)*$(dist)*($(E_x)-$(S_x))/$(Length))
E and S are end and start point of linepiece and length its length.
Offsetside is 1 or -1.
dist is offsetdistance.
No horizontal lines, these u need to process seperately.