[Bf-python] a new script to measure distance between 3d cursor and the pointed location

jms jmsoler at free.fr
Wed Oct 27 20:25:31 CEST 2004


#!BPY
 
"""
Name: 'Mesure on'
Blender: 232
Group: 'Misc'
Tooltip: 'To measure distance between 3d cursor and the pointed location'
"""

# = = = = = = = = = = =  = = = = = = = = =
# Author : jms
# Name : mesure.py
# Date: 26/10/2004
# Released under  Blender artistic licence
# = = = = = = = = = = =  = = = = = = = = =

import Blender
from Blender import BGL,Draw
p=[0,0,0.0,0.0]
p2=[0,0,0.0,1.0]

try:
  p= Blender.Window.GetCursorPos()
  E= Blender.Object.Get(Blender.x3dpos)
  p2=E.getLocation() 
  E.setSize(-p2[0],-p2[1],-p2[2])

  BGL.glColor3f(1.0,0.5,0.0)
  BGL.glBegin(BGL.GL_LINES)
  BGL.glVertex3f(p[0],p[1],p[2])
  BGL.glVertex3f(p2[0],p2[1],p2[2])
  BGL.glEnd()

 
  BGL.glColor3f(1.0,1.0,1.0)

  EN=abs((p[0]-p2[0])*(p[0]-p2[0])+
                 (p[1]-p2[2])*(p[1]-p2[1])+
                       (p[2]-p2[2])*(p[2]-p2[2]))**0.5
  E.setName("  %s"%round(EN,4))
  Blender.x3dpos=E.getName()

except:
     E=Blender.Object.New('Empty')
     sce=Blender.Scene.getCurrent()
     sce.link(E)

     p= Blender.Window.GetCursorPos()
     p2= [1.0,1.0,1.0]
     E.setLocation(p2)
     E.setSize(p2)
 
     EN=abs((p[0]-p2[0])*(p[0]-p2[0])+
                   (p[1]-p2[2])*(p[1]-p2[1])+
                      (p[2]-p2[2])*(p[2]-p2[2]))**0.5
     E.setName("  %s"%round(EN,4))
     Blender.x3dpos=E.getName()
     E.setDrawMode(8)

     if E.getScriptLinks('Redraw')== None :
        E.addScriptLink('mesure.py','Redraw')
     elif 'mesure.py' not in E.getScriptLinks('Redraw'):
        E.addScriptLink('mesure.py','Redraw')

     BGL.glColor3f(1.0,0.5,0.0)
     BGL.glBegin(BGL.GL_LINES)
     BGL.glVertex3f(p[0],p[1],p[2])
     BGL.glVertex3f(p2[0],p2[1],p2[2])
     BGL.glEnd()


-jm-

  



More information about the Bf-python mailing list