Ask Your Question

In Draw, how can I join two lines of given length with angle of 95.9 degrees?

asked 2020-07-31 21:11:07 +0200

shysm gravatar image

To me, this ought to be very simple but I'm finding it impossible.

I've used a straight connector for each line, which are of the required lengths, and rotated one of them so it's at 95.9 degrees to the other.

However, if I want to join the two lines, it seems I have to drag a connecting point for one line to the connecting point of the other. In doing so the length and angle of the first line gets changed. I can't then change the line's properties to get the length and angle right again (Draw just ignores entries I make for its properties).

How do I solve this?

edit retag flag offensive close merge delete



Thanks all. I've tried to upvote everyone (all answers were useful) but don't have enough karma. EDIT: my karma's jumped (don't know why), so now upvoted.

Whether I will continue to use Draw for this, I don't know. I'm doing a floor plans, with maybe some elevations, for my house which is quite old and with a large number of non-right angles, indentations, some curves and so on.

shysm gravatar imageshysm ( 2020-08-02 18:55:33 +0200 )edit

This is not a solution to your problem. It belongs to a comment. Please, use the more link (only you can see it) to repost as comment.

For floor plans, I'd rather suggest a CAD application. I'm personally satisfied with FreeCAD which has an Architecture module, making it easy to in fact "build" in 3D.

ajlittoz gravatar imageajlittoz ( 2020-08-02 20:14:39 +0200 )edit

Thank you for that, downloading now.

shysm gravatar imageshysm ( 2020-08-02 20:45:17 +0200 )edit

@shysm, Just below your answer there is a "more" button. Please, touch it and select "repost as a question comment". Thanks.

LeroyG gravatar imageLeroyG ( 2020-08-03 21:40:44 +0200 )edit

4 Answers

Sort by » oldest newest most voted

answered 2020-07-31 22:18:26 +0200

ebot gravatar image

I don't know any solution to connect two lines.

Workaround: Draw your two lines. Bring them together visually at the corner point. Use a large zoom level for this. Use Alt + arrow keys for finer positioning. When the lines meet, mark both lines. Right-click on them and select "Group" from the context menu.

image description

edit flag offensive delete link more

answered 2020-08-01 02:35:58 +0200

Earnest Al gravatar image

As ebot and LeroyG have suggested, i would strongly recommend using Lines. Connectors don't remember their previous angle and aren't constrained by by the Shift key.

My usual method would be to draw one line roughly (constrained or not) then right-click on it and select Position and Size (or F4) . Under the tab Position and Size I would enter the appropriate dimensions and select the appropriate Base point position, OK out.

Copy and paste it in position, right-click Position and Size again and enter the appropriate dimensions for the second line, I would then open the Rotation tab and enter the rotation angle of 95.9 degrees (264.1 deg for clockwise) and carefully select the pivot point such that it will pivot at the point that you want the join, OK out. You should have two lines of length you want at the angle you set with the same origin. Select both and Group

edit flag offensive delete link more

answered 2020-07-31 22:32:03 +0200

LeroyG gravatar image

updated 2020-08-03 21:28:43 +0200

Addition 1: Easier solution: Select both lines, choose menu Shape-Align-Left or Right, then choose menu Shape-Align-Bottom or Top.

You can choose menu Shape-Line instead of Connector.

To rotate the line, select the line and choose menu Format-Position and Size… (or just press F4), and in the Rotation tab give a value to Angle:, OK.

Edit 1: To move both end points: Choose menu Edit-Points (or just press F8), select both points of the line (click and shift+click, or drag around both points). Drag one point to join the other line.

Addition 2: No need to select both points, just drag the line to join the other.

To join both lines will be easier if Snap to Object Border or Snap to Object Points are active (to do that choose menu Edit-Snap Guides).

Addition 3: After selecting both lines and choosing menu Shape-Group-Group, you can change individual format of each line. To do that: select the group, press F3 (or choose menu Shape-Group-Enter Group), select one line, make your changes and press Ctrl+F3 (or choose menu Shape-Group-Exit Group).

Addition 4: Selecting both lines and choosing menu Shape-Combine would convert both lines in a polygon. To partialy revert this, choose menu Shape-Split (they will be no more lines, but polygons).

Edit your question if you want to add more information; also can comment an answer (Add Answer is reserved for solutions).

Check the mark (Correct answer mark) to the left of the answer that solves your question.

edit flag offensive delete link more

answered 2020-08-03 00:16:22 +0200

Lupp gravatar image

updated 2020-08-03 00:33:35 +0200

See also:

REM  *****  BASIC  *****

REM There is a conflict: The standard orienatation of the X-Y-axes
REM for a DrawPage in LibreOffice is rightward-downward.
REM The usual standard for geometric drwaings is rightward-upward.
REM Left-turning angles are counted positive in usual geometric drwaings,
REM and should therefore be counted negative in a DrwaPage. 
REM I did NOT accept this consequence, and neededed therefore to apply a ChgSgn
REM to values of the kind Delta-Y. 

Sub drawAngle(Optional pDp as Object, _
              Optional pX0, Optional pY0, _
              Optional pL1, Optional pPhi1, _
              Optional pL2, Optional pAlpha)
If IsMissing(pDp)    Then pDp    = ThisComponent.DrawPages(0)
If IsMissing(pX0)    Then pX0    = 15000
If IsMissing(pY0)    Then pY0    = 25000
If IsMissing(pL1)    Then pL1    = 10000
If IsMissing(pPhi1)  Then pPhi1  = Pi()
If IsMissing(pL2)    Then pL2    = 20000
If IsMissing(pAlpha) Then pAlpha = 95.9 * (Pi() / 180)
REM The default values are arbitrary. For the angle the value 95.6° is taken from the question.
phi2 = pPhi1 - Pi() + pAlpha
polyLsh = ThisComponent.createInstance("")
Dim angleSequence(2) As New 
angleSequence(0).X = pX0
angleSequence(0).Y = pY0
angleSequence(1).X = angleSequence(0).X + pL1 * COS(pPhi1)
angleSequence(1).Y = angleSequence(0).Y - pL1 * SIN(pPhi1)
angleSequence(2).X = angleSequence(1).X + pL2 * COS(phi2)
angleSequence(2).Y = angleSequence(1).Y - pL2 * SIN(phi2)
polyLsh.Polygon = angleSequence
End Sub

Example: C:\fakepath\ask258072angleByPolyLineShape.odg

edit flag offensive delete link more
Login/Signup to Answer

Question Tools

1 follower


Asked: 2020-07-31 21:11:07 +0200

Seen: 60 times

Last updated: Aug 03