Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Measurement tool / Ruler #3651

Closed
ModischFabrications opened this issue Feb 12, 2020 · 91 comments
Closed

[Feature] Measurement tool / Ruler #3651

ModischFabrications opened this issue Feb 12, 2020 · 91 comments

Comments

@ModischFabrications
Copy link

Behavior

  • Describe the problem

I need to validate a few sizes whenever I print a design made by somebody else, e.g. hole diameters.
Right now I need to start Meshmixer to make measurements, which makes iterations cumbersome, especially if I need to scale something (based on these measurements).

I feel like a simple ruler or measurements tool would allow users to switch less between programs.
My most used measurement types in Meshmixer are:

  1. (click) point normals in (measure wall thickness)
  2. point normals out (measure diameters and fits)
  3. generic point to point (fallback if 1 & 2 fail)

This could also lead to a "scale until dimension is X mm", but I don't want to get greedy, measurements are already a big step.

Is this a new feature request? Yes

@ModischFabrications
Copy link
Author

Looks like someone has thought of a similar idea #1655. I didn't find it due to the typo, but I feel like this one has a more extensive description.

@danielkorczak
Copy link

I see both issues are closed and refer to each other. While I understand meshmixer is a good resource for this, my workflow would benefit from only needing one piece of software. Currently I only use meshmixer as a ruler 😁

Can we continue the discussion on the merits of having a measurement tool?

@pedjas
Copy link

pedjas commented May 11, 2020

I second this proposal. PrusaSlicer only shows total dimensions of an object. There is need to be able to measure specific part of the object to make size adjustments.

@adam-wood
Copy link

Seconding this. Especially when scaling objects, it gets cumbersome having to measure elsewhere, then fiddle with scale calculation across two programs.

@foreachthing
Copy link

@ModischFabrications : I got a question for you:
HOW do you measure a diameter that is actually no diameter? It's all triangles... It's not like a CAD where you can measure a diameter. So, how accurate do you expect your measurement to be?
Would it not suffice to display a scale on screen (like ANSYS does) to guesstimate the size of an object/feature?
See the scale (which changes according to camera-distance (zoom factor)) at the bottom of the model view.
image

And then again, how about you make your bed-shape svg like a millimetre-paper?

@pedjas
Copy link

pedjas commented May 30, 2020

Almost each time I need to rescale object it was based on some feature on the object that has to match exact size, not dimensions on whole object.

@foreachthing
Copy link

.. I need to rescale object it was based on some feature on the object that has to match exact size, not dimensions on whole object.

For this, I use Blender with the 3D-Print addon.... Scale, click export, F5 in PS. Done.

@pedjas
Copy link

pedjas commented May 30, 2020

I believe this is about PrusaSlicer, not Blender.

@foreachthing
Copy link

I know. But why should someone reinvent something that already exists and works...? Next thing, someone wants to model directly in PS. This is just my opinion!! ;-)

@ModischFabrications
Copy link
Author

Sorry, late to the discussion, I was on vacation.

@foreachthing I would propose to measure diameters similar to the way meshmixer handles it with "Normal to face -> next intersection". I don't think that the precision "lost" due to the mesh is that important, everything is better than guessing by eye.

I like your idea to show a millimetre-grid on the bed, but I think that is outside of the scope of this discussion.

I agree that it's easy to overload a tool, I feel the same way about a lot of tools, but this case I would disagree with you. I feel like measurements are a core feature that is part of the workflow of many users. Sure, it's possible to do this blender or meshmixer, but something used that closely to the slicer feels fair to be included into it.

Let's not start a big discussion about the "need" for this feature until the development team has voiced their opinion, they are the ones that will decide if it's worth it or not.

@pedjas
Copy link

pedjas commented Jun 8, 2020

I agree that application should not be overloaded with options but this is something what is needed. I believe this is necessary option in PrusaSlicer.

Common work path is download STL from somewhere, load it in PrusaSlicer, slice and print. It is often needed to adjust print size and having just outer dimensions of the object is not enough.

It would be gret if user could set one or more measurement lines on object and that would update values as user changes object dimensions.

Ideally, user would be able to enter new value for dimension line and have whole object resized to match that.

@peros550
Copy link

+1 this is extremely needed

@git-jonathankinney
Copy link

I arrived here after searching for this feature, assuming I was missing something that already existed. I would vote for this as well. In memory objects have coordinates, that translate to dimensions in mm, that is how we know external object extent width, so it does not sound too far out of the scope of a slicer. Its one step away from printing, where often it is not your model, and the description is lacking about inner diameter or some such dimension. A measure tool seems like a reasonable request, not outside of scope for a slicer. Like everything, this is a request for a feature, it requires someone to dedicate time and effort to make it happen, who knows what they are doing in this context, and currently that is not me.

@Stroop14
Copy link

Stroop14 commented Aug 18, 2020

I agree that we need a quick basic measurement tool within prusaslicer to measure between two points for more efficient resizing.

@pedjas
Copy link

pedjas commented Sep 5, 2020

I just had situation where i needed measurement tool. I run slice on object with very small artifacts. So small that it could not match extrusion line width, so artifacts ended up smaller or larger than expected after slicing.

If there is measurement tool in slicer I could check it before print.

@lachlancresswell
Copy link

lachlancresswell commented Sep 8, 2020

It's cumbersome to have to open a model from Thingiverse in a CAD program just to measure and scale in PrusaSlicer rather than just measuring and scaling in the slicer.

@LongDono
Copy link

LongDono commented Sep 8, 2020

Came here via Google Search. It seems odd that you can adjust the scale of an item, with have the software know ing precisely the details of every part of the object, but you need to download another piece of software to measure between two points in order to get the scaling right. PrusaSlicer is by far a great tool that we know and love; this ability is just more of what you would expect from a Prusa product.

@ssvenn
Copy link

ssvenn commented Oct 7, 2020

I think one feature that would be extremely useful is the ability to measure the distance between two points, even if it's just on a 2d plane, and then have the ability to automatically calculate a new scale-by percentage simply by adjusting the measured distance to your desired distance. It would be great for quickly tweaking an existing object to fit your custom need.

@willbelr
Copy link

willbelr commented Nov 7, 2020

I use FreeCAD solely for this feature.. It would be so useful to do simple measurements directly in PrusaSlicer

@smallouki
Copy link

Simple measurement between two points would be awesome indeed. Quick adjustments within STL are often required and it's most cumbersome to leave the slicer to do this.

@jonnyhifi
Copy link

Developers time is limited. I would like a simple measurement tool that measures between the last two points clicked on, we as users can then use that data in many ways. (Ie not get bogged down with inferring wall thickness hole diameters etc).

The solidworks evaluate measure tool would be a good model - once measurement mode is selected (eg a button in the stack on the phd side of the screen "lay on base" "rotate object" etc), highlight the first point in the workspace highlighted with a mouse click, then it displays lines along x, y and z primary axis jointing the two points now highlighted, being measured on the model in the gui- with the distance for each primary axis dimension, and lastly a line for "direct distance" between the two point being labelled. Easy to implement as those different flavours of the same info can be so illuminating. (Sometimes one just wants to know "x width" as it were for example ... if one wants to check if holes or features are offset along x correctly for example)

Solidworks measuring tool also decides how to handle what is clicked on from context - so such a measuring interface - easy to implement to start could be extended later if there was an inclination without rejigging the initial interface (eg it thinking ... "oh" it's a circle I display diameter here ... "oh two planes ... I display angle between them" etc but I stress These complications I think would be lovely but very low priority as clearly non trivial with stl (rather than parametrised solid model) files to implement) so
Please don't discount this idea on the basis of the benefit / time taken for the advanced version isn't worth it but do please give us the basic version, with x,y,z and "as the crow flies" distance between two points.

@QUAKEULUS
Copy link

How about a simple texture for the 'build plate' texture? instead of unmarked black lines on grey, have a ruler from the origin/center? as we zoom in numbers grow in precision on the build plate? This won't require any meshing

@Zewwy
Copy link

Zewwy commented Nov 29, 2020

How about a simple texture for the 'build plate' texture? instead of unmarked black lines on grey, have a ruler from the origin/center? as we zoom in numbers grow in precision on the build plate? This won't require any meshing

What a great n simple idea for now, def beats adding complexity.

@QUAKEULUS
Copy link

Where is the "bed" texture file in the directory?

@foreachthing
Copy link

Where is the "bed" texture file in the directory?

Check your "printer".ini file in your profile folder. There's a var called "bed_custom_texture". Or, create your own texture and place it in your profile folder, then access it from the printer-settings page.

@QUAKEULUS
Copy link

Where is the "bed" texture file in the directory?

Check your "printer".ini file in your profile folder. There's a var called "bed_custom_texture". Or, create your own texture and place it in your profile folder, then access it from the printer-settings page.

Thanks! There's still a problem:

"If the texture size doesn't match the bed size, the texture will be stretched to perfectly fit the bed. It is not currently possible for the texture to have elements outside of the print area."

This means each bed size must have a custom texture.
An easy solution would be a checkbox to "center texture at origin"
and then have a larger square texture that would be centered on any print area, and just cropped by any custom print bed size.
Maybe I should make a separate thread for that as a feature request?

@foreachthing
Copy link

Off topic:

This means each bed size must have a custom texture.

Yes. But that is not a problem.
Here you can find graph paper in svg format: https://freesvg.org/graph-paper-sheet

An easy solution would be a checkbox to "center texture at origin"
and then have a larger square texture that would be centered on any print area, and just cropped by any custom print bed size.

I would not want that. Since my printer's zero is in the bottom left corner (my svg would need to be 4 times as big as the bed and would waste memory and resources). You'd need an offset (x, y) parameter to move the texture to the correct location and/or an option not to scale the texture at all.

Maybe I should make a separate thread for that as a feature request?

Yes, that would be best.

@devfoo-one
Copy link

devfoo-one commented Jul 15, 2022

👍 Would also love to have this in the PrusaSlicer ❤️

@Dummy1234567891
Copy link

There must be a reason they haven't added it yet..maybe because it won't increase sales so not worth doing or something...

@stepikovo
Copy link

@Dummy1234567891 PrusaSlicer is for free :)

As already mentioned, we are working on that tool, might be in 2.6.0, no need to "vote" for it anymore

@ygoe
Copy link

ygoe commented Jul 24, 2022

Any workarounds or other tools for this? I downloaded a model and need to measure its diameter to verify if it's of any use for me. The publisher didn't care to describe the technical details of the model.

@haarp
Copy link

haarp commented Jul 24, 2022

Any workarounds or other tools for this? I downloaded a model and need to measure its diameter to verify if it's of any use for me. The publisher didn't care to describe the technical details of the model.

You can create a modifier which you then scale/move until it fits precisely into the feature you want to measure, then read its dimensions from the sidebar. It's tiresome, but it does work.

@arekm
Copy link

arekm commented Jul 24, 2022

Load in fusion360, freecad or other cad program and use measure tool there.

@rkarlsba
Copy link

f360 for this is perhaps a bit overkill, and f360 isn't free, so I use Meshlab for this.

@stepikovo
Copy link

f360 isn't free

They actually still offer a free version

@Hologos
Copy link

Hologos commented Jul 24, 2022

Guys, this isn't forum or stackoverflow. Please stop spaming us who want to be notified when this issue is closed. Thank you

@rkarlsba

This comment was marked as off-topic.

@wdgeek
Copy link

wdgeek commented Sep 24, 2022

If I need to measure parts of an STL I use a program called 3D-Tool from the website https://www.3d-tool.com/
They have a free viewer that you can use to measure stl's in different ways.
On the tool bar it's called "Measure Markup".
Works great for me. Still very tedious when making adjustments to get the size correct because I resize in Prusa Slicer, then export and check the size in 3D-Tool. Sometimes I have to do this many times to get it exactly right, but it works for me.
So until a measurement tool is incorporated into Prusa Slicer I'll continue using this tool.

@rkarlsba
Copy link

@wdgeek this thread is about the suggestion for an extension in PrusaSlicer, not for advice on other software.

Also, plese don't suggest commercial software for this. 3d-tool is probably nice, but it's not free and it's only available for windows. Meshlab is free and comes in downloadable packages for windows, mac and linux and since it's open source, probably also works on BSDs and similar. Since it's licensed under GPL 3.0, it's completely free, like PrusaSlicer (licensed under AGPL 3.0), and will stay open.

@wdgeek
Copy link

wdgeek commented Sep 24, 2022

Yes, you are correct that its only available on Windows, but they DO have a free version so you don't have to pay for the free version. I only suggested it because Prusa said they are "working" on a measurement tool but its not currently available. I was just suggesting a NO COST alternative in the same way you are suggesting Meshlab.
image

@Zogar89
Copy link

Zogar89 commented Sep 27, 2022

We need that like Cura has it!

@Sqeaky
Copy link

Sqeaky commented Sep 27, 2022

@wdgeek Spamming is grossly inappropriate. This is not a place for plugging other tools. This is for discussion of this feature and nothing else.

@cryoglobe
Copy link

@wdgeek Spamming is grossly inappropriate. This is not a place for plugging other tools. This is for discussion of this feature and nothing else.

I agree with you , but I can understand the comment of Zogar89 ... when you have some plugin capabilities in a software , the community behind makes some functions fast to be delivered . Ok it can also bring some mess in the Soft :)

@gabriele-cannizzaro
Copy link

They showed off a new measurement tool available in v2.6.0!

@julie777
Copy link

I think that a simple measurement that just showed the max x dimension size, and the maximum y dimension size for the current layer would serve most purposes well. The max Z size is already available in the cut tool, so it is easy to display.

While I realize that this is a simplification of a general measurement tool, such as the Inspect/Measure in Fusion 360, I believe it would handle at least 95% of the use cases.

By dragging the slice view and/or rotating the object, I can measure most dimensions, which allows checking size and scaling to a size.

@julie777
Copy link

They showed off a new measurement tool available in v2.6.0!

Is there a pre-release candidate for v2.6?

@5axes
Copy link

5axes commented Jan 31, 2023

Love It ! It take times but it's realy nice ! Thanks Prusa
image

@fogarasia
Copy link

Yeah, great to see it.

@lukasmatena
Copy link
Collaborator

Implemented in 2.6.0-alpha2. Closing.

@WizardUli
Copy link

Implemented in 2.6.0-alpha2. Closing.

May I ask what library / algorithm do you use for finding faces, straight edges and curves in meshes?

@lukasmatena
Copy link
Collaborator

@WizardUli The source code is open, see for yourself. No dedicated library or high-tech algorithm was used, I just iterate over the triangles, use their normals to identify planes, then walk around their borders and use some heuristics to extract the edges/circles. It is not that complicated, but it also has its limitations.

@julie777
Copy link

I just tried 2.6a and I Love it!

@fscheps
Copy link

fscheps commented Jul 2, 2023

Hi guys, I am using version 2.6 and I find the ruler too diffuclt to use, why not simply selecting a piece and get all measurements?

@jonnyhifi
Copy link

Fscheps - because of the combinatorics explosion In Potential measurements with a real model - order “n squared” for n vertices-(Il in fact n squared minus n) and you might want to check a diagonal measurement across a model etc , so just for 100 vertices - we already have 100x 100 -100 measurements to list - ie 10,000 most of which you would t be interested in! . Most stls I make and import have 10s of thousands of vertices. I asked for this feature literally years back - and am delighted it’s arrived. I realise it’s somewhat difficult to use but am delighted with the breadth of capability - even if I’ve yet to fully learn it In It’s richness !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests