Page MenuHome

3D View: Measure Panel
Closed, InvalidPublic

Description

Project: Blender Extensions
Tracker: Py Scripts Release
Blender: 2.64
Script name: Measure Panel
Homepage: http://gitorious.org/blender-scripts/blender-measure-panel-script
Wiki page: http://wiki.blender.org/index.php/Extensions:2.5/Py/Scripts/3D_interaction/Panel_Measure
Author(s): Martin Bürbaum
Category: 3D View
SVN Download: http://projects.blender.org/scm/viewvc.php/*checkout*/trunk/py/scripts/addons/space_view3d_panel_measure.py?root=bf-extensions
Status: Buggy

Most recent version of the script (0.6.3) from my git repository.

Event Timeline

There are two bugs about this script in the 2.5 tracker:
http://projects.blender.org/tracker/index.php?func=detail&aid=21903&group_id=9&atid=498
http://projects.blender.org/tracker/index.php?func=detail&aid=21895&group_id=9&atid=498

Brendon, how is this supposed to be handled? We can't assign them because extensions developers are not part of the bf-blender project, and there is no tracker here for bugs.

The second bug [#21895] Incorrect calculations for measurement system ...
https://projects.blender.org/tracker/index.php?func=detail&aid=21895&group_id=9&atid=498
... has nothing to do with the measure panel script.
This is Blender's internal edge-length display AFAIK.

I'll have a look into the first bug, though.
[#21903] Measure distance script creates mesh datablocks
https://projects.blender.org/tracker/index.php?func=detail&aid=21903&group_id=9&atid=498
I've encountered the issue of mesh-data duplication before, but could not find a good solution for that yet.
In the long run: Campbell suggested to add a geometry-appending function (or something along this line) in the API at some point.
I think that would solve problems like this right from the beginning.

Regards,
Martin

bug using this script from 2.5 tracker https://projects.blender.org/tracker/index.php?func=detail&aid=22963&group_id=9&atid=498

I am getting what looks like the edges of a window in the upper right quadrant of my model windows. Like a transparent window is in the corner and all you see is the left and bottom edges of the window frame.

I get this error only when the measure panel add-on is enabled.

I am on Win7 64Bit
Others on the forum confirm the same issue and relation to this add-on.

@Tim Frank:
Do you mean something like this?
http://blenderartists.org/forum/showpost.php?p=1667604&postcount=40
If so, that is a know issue with the OpenGL rendering code in the script.
No idea how to fix that though (can't even reproduce it myself right now).

If it is something else could you please elaborate and possibly post screenshots and a way to reproduce?
Also: Which version of the script do you use? (e.g. the most recent version in trunk is v0.7.3.1)

Hey Martin,
I've added a warning note in the script, jesterKing reported laggines and UI stuck, and I can confirm. Seems to happen from revision r30866

<mindrones> jesterKing do you know which revision this has started?
<jesterKing> mindrones: no, I saw comment on my blog for my build of r30866, but I don't know what addons revision that was

More specifically, reported to me here: http://www.letworyinteractive.com/b/2010/07/blender-2-5-r30866/comment-page-1/#comment-831

working revision update
rev: 32411

Hi Martin,

This is my traceback:
Traceback (most recent call last):
File "C:\Users\Patrick\DOWNLO~1\BLENDE~1.54\2.54b\Release\2.54\scripts\addons\space_view3d_panel_measure.py", line 467, in draw_measuremen
ts_callback
line = getMeasurePoints(context)
File "C:\Users\Patrick\DOWNLO~1\BLENDE~1.54\2.54b\Release\2.54\scripts\addons\space_view3d_panel_measure.py", line 275, in getMeasurePoint
s
if measureLocal(sce):
File "C:\Users\Patrick\DOWNLO~1\BLENDE~1.54\2.54b\Release\2.54\scripts\addons\space_view3d_panel_measure.py", line 422, in measureLocal
return (sce.measure_panel_transform == "measure_local")
AttributeError: 'Scene' object has no attribute 'measure_panel_transform'

This kind of error very often on my vista!
with Blender 2.54b of Filiciss

Ciao
Spirou4D

Report in bug tracker about add-on failing, can you reply?
https://projects.blender.org/tracker/index.php?func=detail&aid=21445&group_id=153&atid=469

I mean:
http://projects.blender.org/tracker/index.php?func=detail&aid=24892&group_id=9&atid=498

I'll check this.
Last time I tried to solve the display in Quad View I didn't have any success though.

Tried to find & fix this issue, but got the same problem as before.
I can't seem to get a correct perspective_matrix for the 3 extra (ortho) views in quadview.

Unfortunately I lack the skill and knowledge to find out what exactly is wrong (or what I'm doing wrong).

(Just to make this clear: the only correct rendering is the one in the 3D view. The lines in the 3 ortho views are always wrong ... even if they look correct at first glance)

martin, there's a fix here
https://projects.blender.org/tracker/?func=detail&atid=127&aid=24932&group_id=9
can you check it?

mind the the "&amp;" in the url has been added the website, change it to "&" to see the real url

Thanks for the link and thanks to Filiciss Muhgue for the patch (didn't think it would be this easy to fix :-)).
Fixed version (v0.7.10) is in SVN now.

There is still a bit of cleanup / improvement to do in the Quad View though:
* The text is still drawn at the same location as the 3D View
* The text shows the 3D value of the hypotenuse instead of the 2D one (which would be useful I think)

fix for text drawing.
http://booster.x0.to/Blender/etc/fix2.patch

Applied your patch in SVN. Thanks again :-)

Now the only thing I need to find out is how to check for the various quad-view windows (so I can display different things in them) :-D

ubuntu 10.04 64bits rev33468

If I parent default cube to camera and clear its origin; measure panel don't care of parenting and consider Cube's location at 0,0,0.

http://www.pasteall.org/pic/show.php?id=7303

As you can see on screencapture, Measure Panel is empty for this revision.

Just a quick update on this:
I can reproduce both problems and I am currently working on getting the panel to show up again.
Nothing in the panel code really works right now, so a lot of code needs to be changed - I'm halfway there.

Unfortunately I don't have much time right now, so please be patient :-)

Version 0.7.12 of the script is now in svn.

I hope I fixed all problems. (Still no idea for custom quad-view display)

A lot of code had to be changed/updated, so I may have introduced other bugs.
Tests are welcome, I may have overlooked some use cases.

The error has gone out.

-- scripts info --
bl_info = {
"name": "Measure Panel",
"author": "Buerbaum Martin (Pontiac)",
"version": (0, 7, 12),
"blender": (2, 5, 7),
"api": 35622,
"location": "View3D > Properties > Measure Panel",
"description": "Measure distances between objects",
"warning": "",
"wiki_url": "http://wiki.blender.org/index.php/Extensions:2.5/Py/" \
"Scripts/3D_interaction/Panel_Measure",
"tracker_url": "https://projects.blender.org/tracker/index.php?" \
"func=detail&aid=21445",
"category": "3D View"}

-- error message --

Traceback (most recent call last):
File "C:\TESTBL~1\vs_build\bin\Release\2.56\scripts\addons\space_view3d_panel_
measure.py", line 777, in draw_header
bpy.ops.view3d.display_measurements()
File "C:\TESTBL~1\vs_build\bin\Release\2.56\scripts\modules\bpy\ops.py", line
179, in __call__
ret = op_call(self.idname_py(), None, kw)
RuntimeError: Calling operator "bpy.ops.view3d.display_measurements" error, can'
t modify blend data in this state (drawing/rendering)

location:<unknown location>:-1

location:<unknown location>:-1
Traceback (most recent call last):
File "C:\TESTBL~1\vs_build\bin\Release\2.56\scripts\addons\space_view3d_panel_
measure.py", line 804, in draw
unit="LENGTH")
AttributeError: pyrna_struct_meta_idprop_setattro() can't set in readonly state
'Scene.measure_panel_dist'

location:<unknown location>:-1

location:<unknown location>:-1

The error occurs similarly in r35857.


Traceback (most recent call last):
File "C:\TESTBL~1\vs_build\bin\Release\2.56\scripts\addons\space_view3d_panel_
measure.py", line 777, in draw_header
bpy.ops.view3d.display_measurements()
File "C:\TESTBL~1\vs_build\bin\Release\2.56\scripts\modules\bpy\ops.py", line
179, in __call__
ret = op_call(self.idname_py(), None, kw)
RuntimeError: Calling operator "bpy.ops.view3d.display_measurements" error, can'
t modify blend data in this state (drawing/rendering)

location:<unknown location>:-1

location:<unknown location>:-1
Traceback (most recent call last):
File "C:\TESTBL~1\vs_build\bin\Release\2.56\scripts\addons\space_view3d_panel_
measure.py", line 804, in draw
unit="LENGTH")
AttributeError: pyrna_struct_meta_idprop_setattro() can't set in readonly state
'Scene.measure_panel_dist'

location:<unknown location>:-1

location:<unknown location>:-1

Writing RNA is not made because it is judged Read-Only at the following locations.

bpy_rna.c

static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, ParameterList *parms)
{

const short is_readonly= strstr("draw", func_id) || /*strstr("render", func_id) ||*/ !RNA_struct_is_a(ptr->type, &RNA_Operator);

}

The script should work again.
Unfortunately I had to remove the automatic registration of the "draw the lines" callback.
This doesn't work at all now.

This means that you need to "activate" this (button in the panel) before anything is drawn.

Some way of registering (& unregistering) these callbacks on addon-registration would be pretty cool.

On Windows XP PRO with blender 2.56.5-r35816 this addon shows his header in the N-panel but shows no measures.See "MEASIREMENT_BUG.JPG" attached

On starting a session it is in the Addons-list of the UserPreference-window and activated allright There are many RUNTIME-error reports In the Windows Console AND the "report"-section of the Info-wind The A-portion if the the error report hereunder is repeated some 40-50times and at the end there are some reports where the B-portion is added:

A:

Traceback (most recent call last):
File "C:\DOCUME~1\aa\MIJNDO~1\DOWNLO~1\BLENDE~1.5-R\2.56\scripts\addons\space_view3d_panel_measure.py", line 777, in draw_header
bpy.ops.view3d.display_measurements()
File "C:\DOCUME~1\aa\MIJNDO~1\DOWNLO~1\BLENDE~1.5-R\2.56\scripts\modules\bpy\ops.py", line 179, in __call__
ret = op_call(self.idname_py(), None, kw)
RuntimeError: Calling operator "bpy.ops.view3d.display_measurements" error, can't modify blend data in this state (drawing/rendering)

location:<unknown location>:-1

B:

Traceback (most recent call last):
File "C:\DOCUME~1\aa\MIJNDO~1\DOWNLO~1\BLENDE~1.5-R\2.56\scripts\addons\space_view3d_panel_measure.py", line 804, in draw
unit="LENGTH")
AttributeError: pyrna_struct_meta_idprop_setattro() can't set in readonly state 'Scene.measure_panel_dist'

location:<unknown location>:-1


Let me add that in my 2.56.5-r35816; I have disabled this; for the time being useless, addon. Manipulating the windowpanels slightly for one thing causes a torrent of runtimr-errors.

In my 2.56.0-r34076 this measre-panel addon works perfectly..

André:
1.) The last update to the script was made with revision 35864 (2011-03-29), so unfortunately your Blender build 2.56.5-r35816 is out of date.
2.) Make sure you use the most recent version of the script (right now it is 0.7.13) - I guess you still use the older version here as well.

If you feel like trying to use the new script in the older Blender build (no guarantee that this will work):
You can download the most recent script at the URL given in the "SVN Download" filed above.

Hello Martin,

I use now, on Windows XP Pro, 0.7.12 in 2.56.0 r;35816 where it functions all right (when activated) and in 2.56.5 r;35816 as well, where it functions not at all and makes a lot of runtime-error-noise when not deactivated. I am not enough learned to understand that.

Finally when you write "You can download the most recent script at the URL given in the "SVN Download" filed above", I must confess I see no such URL filed above. I have understood that Ton Roosendaal would stronly advise somebody like me, against downloading anuthing else that the officially receommended versions. So I'll try this one:

blender-2.57-RC2-r36007-windows32.exe 2011-Apr-04 20:30:24 19.8M application/octet-stream

Hoping this will have the right measure version...

It's done! I have now 2.56.6 r36007 with the 0.7.13 version MeasurePanel addon. Works fine again. Thank you all very much.

Hi!
Since your script is now in bf-extensions\' svn (contrib|trunk) we have deleted the current attachments to avoid that end-users could reach this page and get the wrong version of your script.
Note that your script may have api changes or small maintenence changes applied in SVN.
Please retrieve your script from SVN before updating SVN to avoid mis-versioned scripts.
Thanks!

When activate the script blender takes a lot of cpu time. On a 1.60GHz core duo ~70% of one core. It may not affect the usage of the script, since it would run fast enough anyway. Also the script won't run in background in the normal use case. But I run into problems, when I activate measuring and then do a completely different task and keep blender running in the background.

I hope there is a way to get this more resource friendly easily.

hi, currently the script has a few issues.
Activate the script, run the script, turn of the script in the panel & deactivate from addons menu:
then on file new the script reloads when not active.
Adding warning to script.

Yes, activation/deactivation of scripts with modal operators is kind of a problem.
I'm sorry, but I'm really not experienced enough with this state of affairs to fix that :-(

Hi Martin, thanks for the fast reply.
Just a few notes,
Object Selection could be improved? maybe an option to choose the selection/s?
An option to measure between selected faces would be really cool.
Thanks.

@Brendon

>Object Selection could be improved? maybe an option to choose the selection/s?

What do you mean here exactly? Do you have an example?

> An option to measure between selected faces would be really cool.

Measure what between the faces? e.g. There is no distance to measure unless they are perfectly parallel (which is the script would need to recognize as a special case).
And I have not yet found a nice way to measure & display angles yet.

Hi Martin.
Realtime volume measurement is very heavy on complex meshes, can you do update button for this?
Thanks.

Hello,

This script happens to keep one of my system cores always busy. Furthermore, I was able to reproduce this behavior on various builds of Blender for Win7 x64 from Graphicall.org. Please have a look at this issue, I really find this script indispensable in my work.

Thank you.

Mikhail Raisler:
A fix for the performance problem when calculating area/volume/edges is definately on my todo list.
Unfortunately I don't have much time to look into this, so please be patient. :-)

There are basically 2 ways to fix this:
1. manual update
2. "smart" update (i.e. only calculate when the geometry changed).

1. would be the "easy way out", but I do not want to spend work on this yet until I have at least tried to implement number 2.
Which brings me to 2.:
I don't think this is possible _right now_ to do this, without some ugly hacks. I'll have to talk to some Blender devs to see how this could be done.
I'd basically need some sort of callback or easy check I can do that tells me if certain things changed since I last calculated the values (mesh data, object location/scale/etc..).
[I'm hoping for the internal structure of bmesh to help a bit here, but I have no confirmation yet.]

Bogomir Bogomirov:
The basic load on the CPU (even when nothing is activated in the panel) is a separate issue than the one above.
_Should_ be easy to fix. Again, I'll just need some time to actually work on it.

It should be possible to detect if a mesh or object changed in 2.61 or later, see here:

http://wiki.blender.org/index.php/Dev:2.6/Source/Render/UpdateAPI
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.61/Python#Detecting_Scene_Updates

Brecht: Oh very nice! And perfect timing too :-) Thank you for the tip.
I still have to read all the deatils of the documentation, but this looks exactly like what is needed for the Measure Panel script.
I'll report back as soon as I have some extra spare time.

Hi,
Due to changes to the api including the merging of bmesh, several addons are outdated.
Please, if you are the author of an addon check your script with blender revision 44256 or newer.
That is builds made After blender 2.62 official release.
I would ask that updates be made to your addon before the Blender 2.63 release.
6-8 weeks away.
This allows time for the api to become more exposed & bmesh to stablize furthur.
If you need help, drop into irc freenode #blenderpython or #blendercoders & feel welcome to ask questions.
At the time of 2.63 release, scripts that are not repaired or in active developement will have their tracker page marked "Closed"
this will not affect your links to the tracker, similar to closing scripts in 2.49b, the page will be still availible & can be re-opened.

Thanks for your understanding & patience during these Exciting Times.
Brendon.

Version 0.8.8 now has smarter update of calculation data.
So the add-on should not eat CPU when idle (except for drawing the 3D lines when activated).
BUT: It still hogs the CPU when doing simple translating/scaling/rotating. Not much I can do about that :-/

Theres a bug reported in this addon
http://projects.blender.org/tracker/index.php?func=detail&aid=34737&group_id=9&atid=498

Concerning the comments by Campbell about the removal of handlers [1]

When I wrote this code I had no idea that they can actually be removed. I still don't know how.

Is there documentation or an example how to do this?

[1] Line ~924 "draw_handler_add(draw_measurements_callback, ...)" and "modal_handler_add()"

This task was automatically closed as archived as part of migration, because it was determined to be no longer active.

The authoritative list of addons is on the wiki, we no longer have a report for each addon to track bugs and updates. Bugs can be reported individually and assigned to the addon developers. See the Add-ons project page for more information on the workflow.

Nobody (None) changed the task status from Unknown Status to Unknown Status.Mar 3 2010, 11:49 PM