A Somewhat Useful App/Tool


#1

I wrote a Java App 10yrs ago and recently needed to update it for Java 1.8. While doing it, I tweaked it a bit so it’s more useful for my Fritzing work and am posting it here.

I did not polish it - thought I’d wait to see feedback. It works as-is but, could use work. Think ‘beta’ version… If it becomes a useful app, I’ll add Help and Bells & Whistles down-the-road (maybe…).

What does it do? First, the Fritzing font used to display the cursor position is soooo tiny, it’s useless for my 70yr old eyes.
This App determines the Coord’s and Distance’s (between Two points on the screen - not on a PCB or Part).

It’s useful for those of us making 3D parts and needing to know locations of, say a ‘Button’ so as to make a lid on an enclosure…

But, with a little understanding, you can get the actual dimensions…

Basically, you determine/setup a scale and use it to calculate dimensions based on Pixels of the Screen.

I appear to have a Mouse problem (perhaps it’s my machine or Java). The Mouse pointer I’m using is a Graphic_Overlay so, I suspect it…
Hence, the Video shows multiple clicks because cursor isn’t placed just where the receiving element wants it…

The Video is crude but gets the point across…

It’s a .jar file so, delete the .fzz extension.
Place the woof.jar in a convenient location as it Writes a file with the Data (saved via ‘Save’ button).
Double-Click the woof.jar to open/run it. Yes, you need JRE 1.8.

============================
GUI
“Set Origin” sets current Top-Left corner (Red Arrow Tip) as New Origin.
“Data” button collects the current Data-Point.
“Save” writes the data to a file in location where the App lives.
“Drag Me” is a Drag-Handle to position it.

Determining PPI (Points Per Inch)

Since the App measures Distances on the Screen, anything not displayed at the Actual Size, will need to be scaled.

A scaling factor based on a Known (actual) size of displayed Item (such as PCB) is required.

Scaling is determined by displaying the “Actual Size” (in Fritzing’ View’) and measuring it on the screen with a Ruler for confirmation.

Example: Actual (known Width of PCB) = 90mm (= 9cm = 3.54 inch).

  1. Measure the Dist between PCB left and right edges. Let’s say, Dist = “386px” for the 3.54 inch PCB.

Therefore, “Scale Ratio = 3.54in/386px”

  1. Distances between points A and B when Fritzing display is not set to Actual Size… One additional Ref dimension is needed, as follows:

Zoom-in on the PCB (full view) and measure the PCB’s width using the App. Say it’s “957px”

Therefore, 957/386 = 2.48 (sale factor for the Zoomed View).

  1. Now, Use the App and measure the distance between points A and B, Say the Dist = “141px” (the width of the Encoder on the example in video)

There is linearity by Ratio’s, therefore, the Faux(screen) Dist is obtained from:

  Dist(actual result)	   3.54 inch
 -------———————----——  =   ————-----—, Therefore, Dist(faux) = 1.29 inch
     141 px		     386 px

The Actual (Physical) size is (Ratio’d down/up as needed, based on the Zoomed View the 141px came from):

Therefore: 1.29/2.48 = 0.52 inch, = 13.2 mm, which matches the part’s Spec. Bingo!

Woof.jar.fzz (16.2 KB)

mp4


#2

This looks interesting, and fills a lack. When I get some time I’ll see about loading java and trying it out. The ruler in the parts bin would be a good bet for scaling, the inch side is down to the .1 in level.

Peter


#3

Look forward to your comments…

I tweaked it a bit while drinking morning coffee… Moving in the direction of including/adding:

• Transparent arrow background
• Optional color schemes
• Menu bar with Help and Options
• May include a ‘Scale-factor’ value box (for user entry yielding Distance results in mm and inch.
• Tweaks on current issues to include:
• a better mouse/cursor response
• setting dist display to zero when setting new origin

That aside, my how-to-use write-up being confusing, I will improve it.

But, basically, no need to confirm Fritzing’s actual view.

Simplified Use: Take a first distance Distance using a known Dimension on Part or PCB at whatever the zoom/current view is.

Don’t change the View Size, take a second Distance of desired feature and use Scale Ratio to calc actual dim.

Example:

If known PCB width is 100mm and the App measures 1164px, and the App measures the ‘unknown’ feature dist of 127px, then:

           100mm x 127px

Unknown = ————————————— = 11mm

               1164px

#4

Piece-meal updates is not something I plan to do but, while out motorcycle riding on this beautiful Oregon day, I decided to take care of these items mentioned:

• a better mouse/cursor response
• setting dist display to zero when setting new origin

Normally, I wouldn’t use much color but, I left most as-is…

The usefulness of the output file is in it’s columned data. So, Imagine needing 4 dimensions:
Set the Origin, drag to point#1, Click Data, move to point#2, Click Data…etc. Click Save and the data is ready. FYI - When I do it, I have the Finder (Explorer in Windows) open and the “mouseout.txt” file selected. I click Save after every Data Click, the file updates and I can see it update in real-time.

Updated App attached

Woof.jar.zip.fzz (100.8 KB)

looks like this:

07%20PM