Midpoint Extension

Continuing the discussion from Line From Center Extension:

1 Like

It’s still available via the SketchUcation plugin store:

Parallel lines are of necessity coplanar.

But you might want a line that runs from the midpoint between one end of each line and the nearest end of the other, to the midpoint between the other ends.

Like this, drawn with the Midpoint extension and the CLineTool plugin.

Can I still make the extension for the SUWE then?

Indeed. I guess I meant axial.

I suppose one might but I wouldn’t!

KISS principle here, I feel.

I’m not sure in what way two lines are ‘axial’. What does that mean?

If you can get accredited as a Developer for EW, I don’t see why not. But if you were to copy any of the code from the Midpoint Extension, you’d have to read the author’s copyright notice and licence to see if that is allowed by his terms. And his plugin (it isn’t an extension) in turn is adapted from @Last software’s linetool.rb, which used to be included as an example of a plugin with earlier versions of SU.

Sounds good, I am already a SUEW certified vendor.
I am going to get coding right now for you guys.
Let me know if you have any more suggestions for it.

John, we’re going off at a bit of tangent here. What I meant is best described by an example.

Let us say I have a founding line along the ground plane. If the other line is on the same ground plane, the midway line would be too. This, for me, is the most usual scenario.

But it is possible that your second line is above or below the ground plane. If you were working in Top View and Parallel Projection, you wouldn’t know that your second line was not on the ground plane.

I accept that my use of the terms coplanar and axial may not be right. And maybe you don’t need to determine whether the two lines are on a ground plane (would that actually be biaxial??). So it’s a slight red herring!

Given your starting use case, you probably want the lines to be coplanar, but I would say not necessarily parallel or of the same length.

The most general solution would be the one I suggested above, a construction line between the midpoints of two pairs of ends. But it might be useful to warn if they aren’t coplanar, and/or parallel, and allow an override to say ‘but still go ahead a draw it’.

Oh man! You’re going to be inundated!

FWIW the one linked to in the first post of that thread appears to throw a load error.
Screenshot - 4_27_2021 , 10_56_56 AM

Yes, I suspected it no longer worked for me.

Interesting. I have a plugin called midpoint.rb installed in SU2021 and it works fine - I just used it to draw the line above.

I’ll try again with the Ruby console open.

When I reload it I see just this:

> load "midpoint.rb"

FWIW, here’s mine, zipped and renamed to .rbz
midpoint.rbz (1.9 KB)

Maybe you have the one from Rick Wilson at Smustard.

It is indeed by Rick Wilson. I’d forgotten where I got it from, and just copied it forward from older versions of SU.

Thanks, Dave, for spotting that. I didn’t try the one from SketchUcation as I thought it was the one I had.

Can I throw in another refinement?

A common use for establishing a midpoint is to place something like a window between two points/lines.

If you already have a suitable line drawn between the points, SU’s inferencing engine does the job just fine. But there is no equivalent for two points in space.

I don’t know if it can be done, but if the extension could produce a virtual line between two selected points for the purposes of inferencing, you might not need a temporary midpoint at all.

I now see what you mean, I think - parallel to an axis?

If so, it was a correct use, I just didn’t ‘get it’ first time.

Co-planar just means ‘in the same plane’ so that’s correct too, and parallel lines are (as I said earlier) always in the same plane.

One of my habits, which is sometimes useful and sometimes just annoying - to me and to others - is to try to generalise a proposed problem so that a proposed solution can have a wider application.

Perfectly sensible. Threads like this help to refine a crude initial idea and hopefully help any developer to produce a really useful extension.