MEL scripts


#41

then i wanna weight a character and i use the paint weights tool it’s difficult to select a joint and rotate him a bit to get another position and look how the skin mooves. i have to leave the paint tool select the joint and rotate it. (i know that there is a way with attrCollection, but attrCollection you first have to set all up)
This is from svenip

As a side note (not MEL related) the animation while painting weights. Do something for yourself that is alot more simple.
When painting, animate the joint you are working on first. Just back and forth bending or twisting animation, about 10 to 20 frames. Then you never have to unselect the (paint weights) tool, you only have to move the animaition slider back and forth a little bit and the paint, move the slider, and paint, move the slider, and paint, its much faster try it. You dont have to setup up much animation for this at all. When you finish with the selected joint, dont forget to delete the 2 keyframes and then move to another joint. I think you’ll find this much faster…

-dan


#42

if you check higher in the thread you ll see l already said that check the thread before to put a post


#43

RELAX HADES

I didnt mean to steal your thunder man, I missed your post, thats all …


#44

you better not my thunder can hurt a lot hahaha…


#45

Hey all! This is my first post to these forums. Been a lurker for a while, and finally got the courage to contribute.

Here is a script (dannyHelper) that I wrote to help with my character rigs. It simulates John Burnett’s NullHelper, a 3ds max plugin that I used to use a lot. Basically, it creates a bunch of NURBS shapes that can be used as non-rendering animation controls. Since they’re just NURBS curves, they can be easily edited to suit your needs.

I’ve also included a script that adds a submenu to the Create menu in case you don’t want to use shelf items.

It’s nothing fancy, but I just felt like sharing this. Please let me know if anyone finds it useful.


#46

MEL rocks! its a must with Maya and can make any effects imaginable!

:bounce: :drool: :thumbsup: :drool: :bounce:


#47

hi all,

i wanna to share my mell with u,

www.geocities.com/firas3d/smartvtx


#48

Ok here are three scripts of mine. They are addressed to workflow issues.
Have a look:


/*
** cameraList.mel
** 
** (c) Daniel Rezek 2002
**
** This file comes as is. Use at your own risk.
** If you find any bugs, feel free to email me: [email]danyrey@gmx.net[/email]
**
** Decription: dumb window with a list of cameras which you can switch to
**
** Requirements: a PC, Maya ... :)
**
*/

global proc cameraList()
{
window -width 150 -t "Camera List";

  string $cameras[] = `listCameras`;
  
  int $i;
  
  scrollLayout;
  columnLayout -adjustableColumn true;
    radioCollection;
        
    for ($i = 0; $i < size($cameras); $i++) {
      string $command = "lookThru " + $cameras[$i];
      radioButton -label $cameras[$i] -onc $command;
    }
    
  showWindow;
}


/*
** previsHUD.mel
**
** (c) Daniel Rezek 2002
**
** This file comes as is. Use at your own risk.
** If you find any bugs, feel free to email me: [email]danyrey@gmx.net[/email]
**
** Description: A HUD for Playblasts, shows a userdefined label and a framecounter
**
** Requirenments: havent found any yet ;) if you have any other "additional" HUDs they might take the same
**                same space as mine so change the block and section positioning
** 
** Limitations: It not elegant, but works 99%: it does a HUD refresh everytime the view refreshes --> when
**              when you playblast a completely still scene, nothing will refresh. Something has to move.
**
*/

global proc previsHUD()
{
  if(eval("headsUpDisplay -exists HUD_PrevisDisplay1") || eval("headsUpDisplay -exists HUD_PrevisDisplay2"))
  {
    print("Deleting PrevisHUD!
");//debug
    
    headsUpDisplay -rem HUD_PrevisDisplay1;
    headsUpDisplay -rem HUD_PrevisDisplay2;
  }
  else
  {
    print("Turning PrevisHUD on!
"); //debug
    
    string $label1;
    
    string $result = `promptDialog
        -title "PreVis Hud - Label"
        -message "Enter the HUD Label: "
        -text "Sxx_Exx" //Szene xx Einstellung xx
        -button "OK"
        -button "Cancel"
        -defaultButton "OK"
        -cancelButton "Cancel"
        -dismissString "Cancel"`;
    
    if ( $result == "OK" )
    {
      $label1 = `promptDialog -q`;
    }
    else
    {
      string $filelist[] = eval("file -q -list");
      $label1 = $filelist[0];
    }
    
    headsUpDisplay -section 7
                   -block 2
                   -blockAlignment "center"
                   -label $label1
                   -labelFontSize "large"
                   -dataFontSize "large"
                   HUD_PrevisDisplay1;
    headsUpDisplay  -section 7
                    -block 1
                    -blockAlignment "center"
                    -label "Frame:"
                    -labelFontSize "large"
                    -dataFontSize "large"
                    -command "currentTime -q"
                    -atr
                    HUD_PrevisDisplay2;
    
  }
}



/*
** refEditor.mel V0.1
** 
** (c) Daniel Rezek 2002
**
** This file comes as is. Use at your own risk.
** If you find any bugs, feel free to email me: [email]danyrey@gmx.net[/email]
**
** Decription: This script is a simple and easy to use Scenefile reference editor.
**             It uses the same terminology of Maya in a different way.
**             "Replace" means deleting the old reference and adding the new reference.
**             "Reload" deletes the reference and loads it again - a real reload.
**             "Delete" deletes the reference
**             "Save New Revision and Close Window" saves a new revision of this file and deletes the window
**             "Add Ref" adds a new reference
**
** Requirements: "plusSave.mel" from Big Idea Productions(download it from highend3d.com)
**               http://www.highend3d.com/maya/mel/?section=utilities#1205
**
*/
global proc refEdReplace(string $file)
{
  string $newFile = `fileDialog`;
  if($newFile == "") return;
  file -rr $file;
  file -r $newFile;
}

global proc refEdAdd()
{
  string $newFile = `fileDialog`;
  if($newFile == "") return;
  file -r $newFile;
}

proc createRefWindow()
{
  string $refs[] = `file -q -r`;
  int    $count  = `size $refs`;
  int    $i      = 0;
  if((`window -exists refWin_UI`) == true)
    deleteUI refWin_UI;
    
  window -title "Reference File Maker"
         -iconName "RefFileMaker"
         -widthHeight 200 55
         refWin_UI;
                   
    rowColumnLayout -numberOfColumns 4
            -columnWidth 1 400
            -columnWidth 2 50
            -columnWidth 3 50
            -columnWidth 4 50;
      for($i = 0; $i<$count; $i++)
      {
        text -label $refs[$i] ;
        button -label "Replace" -command ("refEdReplace(\"" + $refs[$i] + "\"); refEditor;");
        button -label "Delete" -command ("file -rr \"" + $refs[$i] + "\"; refEditor;");
        button -label "Reload" -command ("file -rr\"" + $refs[$i] + "\";file -r \"" + $refs[$i] + "\"; refEditor;");
      }
      setParent ..;
    
      //button -label "Save File and Close Window" -command "file -s; deleteUI refWin_UI;";
      button -label "Save New Revision and Close Window" -command "plusSave(0); deleteUI refWin_UI;";
      button -label "Add Ref" -command "refEdAdd; refEditor;";
      button -label "Refresh" -command "refEditor";
    
  showWindow refWin_UI;  
}

global proc refEditor()
{
  createRefWindow();
}




#49

OK, gotta update the script. Someone just let me know that my other version didn’t work…
here’s the latest version of soloRender…


// Name: soloRender()
// By: Alec Fredericks
// Last edited: 10/22/2002

// Description: Inspired by an old lighting TD tool used at ILM. This script allows 
// the user to click any light in the scene and render a test with just that light 
// affecting the scene. No more turning off lights, hiding them or layering them.
// This script is especially useful if you bind it to a hotkey, such as ALT-r.

// Useage: select any number of lights in your scene and type soloRender into the command line.
//         That's it!  Attach it to a hotkey and it's even easier.

global proc soloRender()
	{
	string $arrayLights[];
	string $itemLight;
	string $lightParent[];

	int $arrayCount = 0;

	string $arrayLightVis[];
	string $arrayLightVisVal[];
	int $visState;

	string $pickedLights[] = `ls -sl`;
	$arrayLights = eval("listRelatives -p (`ls -lights`)");

	for ($itemLight in $arrayLights)
	{
		$visState = `getAttr ($itemLight + ".visibility")`;
		$arrayLightVis[$arrayCount] = $itemLight;
		$arrayLightVisVal[$arrayCount] = $visState;
		if (stringArrayCount($itemLight,$pickedLights) > 0)
			setAttr ($itemLight + ".visibility ") 1;
			else
				setAttr ($itemLight + ".visibility ") 0;

		$arrayCount = $arrayCount + 1;
	}

	renderIntoNewWindow render;

	int $sizeArray = size($arrayLightVis);
	int $x;
	for ($x=0;$x<$sizeArray;$x++)
		if ($arrayLightVisVal[$x] == 1)
			setAttr ($arrayLightVis[$x] + ".visibility") 1;
			else
				setAttr ($arrayLightVis[$x] + ".visibility") 0;


	clear($arrayLightVis);
	clear($arrayLightVisVal);
	clear($arrayLights);

	} // end proc
	


go to http://www.community3d.com/scripts/ for more info.

Alec


#50

hey ACFred this works fine, what about a script to render only selected objects(with all lights or selected lights only)? just an idea cose i cant really code it.


#51

hey, that’s a good idea! I’ll whip that up. It still won’t be IPR or batch render capable, but may fit the bill temporarily.

Alec


#52

i thought i pass this on

"…

This script detects and removes mRay for Maya nodes from your scene.

Copy the lines below in a text file and save it as mrayNodesCleanup.mel in
your scripts folder.
Start maya, load the scene and type mrayNodesCleanup in the command line.
A dialog should appear.

Hope this helps!

M-

Start from the next line >>>>>>>>>>>>


global proc mrayNodesCleanup()
{
 int $numNodes;
 string $action;
 string $dialog;
 string $mrayNodeList[] = `ls -typ mentalrayOptions
    -typ mentalrayFramebuffer
    -typ mentalrayGlobals
    -typ mentalrayItemsList
    -typ mentalraySubdivApprox
    -typ mentalrayCurveApprox
    -typ mentalraySurfaceApprox
    -typ mentalrayDisplaceApprox
    -typ mentalrayShader
    -typ mentalrayText`;

 $numNodes = `size ($mrayNodeList)`;

 if ($numNodes)
 {
  $dialog = ("confirmDialog -title \"Confirm\" -message \"" + $numNodes +
" Mental Ray nodes found\" -button \"Delete\" -button \"Cancel\"
-defaultButton \"Cancel\" -cancelButton \"Cancel\" -dismissString
\"Cancel\"");
 }else
 {
  $dialog = "confirmDialog -message \"No Mental Ray nodes found\" -button
\"Close\"";
 }

 $action = `eval $dialog`;

 if ($action == "Delete") delete $mrayNodeList;

}

…"


#53

Hey all, thought I would put up a mel script I was working on here.

Im not a scripting guru so Ive got a few things left to do on it but it should work at the moment. It is a script to help in the maintenance of instances in your scenes.

Hope it works for you.

  • John

// --------------------------------------------------------------------------------------------------- // 
// Instance Manager 2003 V2.0 J.Lomax
//
// ChangeLOG: 
// Fixed Bad UI
//
// Things left to do:
// Tokenize the instanced node, and not display the full dag path.
// Do not make all the parent nodes in the instance path unique.
//
// Usage: place into your scripts directory, and type "jl_instance_manager" in the maya command line
//
// If you have suggestions or comments or fixes for me then please email me: [email]john.lomax@totalise.co.uk[/email]
// --------------------------------------------------------------------------------------------------- // 

global proc jl_instance_manager()
{
if ( `window -exists jl_window` )
	deleteUI -window jl_window;

if (`windowPref -exists jl_window`) windowPref -remove jl_window;	

window	-width 400 -height 420 -title "JL Instance Manager V 2.0 - John Lomax 2003" 
	-menuBar true -rtf 0	jl_window;

	menu -label "Edit";
		menuItem -label "Refresh All"
			-enableCommandRepeat false
			-command "jl_refresh_windows";
		menuItem -label "About"
			-enableCommandRepeat false
			-command "jl_about_window";
		menuItem -label "Exit"
			-enableCommandRepeat false
			-command "deleteUI -window jl_window";

	string $form = `formLayout`;
		textScrollList -sc ("jl_update_parent_window; jl_update_button_window") jl_instance_window;
		textScrollList -ams false -sc ("textScrollList -e -da jl_instance_window") jl_textscroll2_window;
		textScrollList -ams false -sc ("textScrollList -e -da jl_instance_window") jl_textscroll3_window;
	setParent $form;

		button -label "Make Unique" -align "center"	-command "makeunique" jl_apply_button;
		button -label "Close" -align "center"	-command ("deleteUI -window jl_window") jl_close_button;	

	formLayout 	-edit
			-af jl_instance_window "top" 5
			-af jl_instance_window "left" 5
			-ap jl_instance_window "right" 1 50
			-ac jl_instance_window "bottom" 5 jl_textscroll3_window
			
			-af jl_textscroll2_window "top" 5
			-ap jl_textscroll2_window "left" 1 50
			-af jl_textscroll2_window "right" 5
			-ac jl_textscroll2_window "bottom" 5 jl_textscroll3_window

			-af jl_textscroll3_window "left" 5
			-af jl_textscroll3_window "right" 5
			-ac jl_textscroll3_window "bottom" 5 jl_apply_button

			-af jl_apply_button "bottom" 5
			-af jl_apply_button "left" 5
			-ap jl_apply_button "right" 1 50
			
			-af jl_close_button "bottom" 5
			-ap jl_close_button "left" 1 50
			-af jl_close_button "right" 5
	$form;

showWindow;
jl_update_instance_window;
}

global proc jl_update_instance_window()
{
textScrollList -e -ra jl_instance_window;
string $object_list[] = jl_find_instance();
string $object;
for ($object in $object_list)
	{
	string $object_path[] = `ls -allPaths $object`;
	$no_of_instances = size($object_path)-1;
	$returned_nodetype = `nodeType $object`;
	textScrollList -e -append $object jl_instance_window;
//	print ($object + " is a " + $returned_nodetype + " Instance" + " and has (" + $no_of_instances + ") Instances 
");
	}
}

global proc jl_update_parent_window()
{
textScrollList -e -ra jl_textscroll2_window;
string $object;
string $selected_object[] = `textScrollList -q -selectItem jl_instance_window`;
string $parent_node[] = `jl_find_parent($selected_object)`;
textScrollList -e -ra jl_textscroll2_window;
for ($object in $parent_node)
	{
	textScrollList -e -ann "hello" -append $object jl_textscroll2_window;
	}
}

global proc string[] jl_find_instance()
{
string $all_objects[] = `ls`;
string $object;
string $object_path[];
string $list_of_instances[];
int $counter = 0;

for ($object in $all_objects) 
	{
	string $object_path[] = `ls -allPaths $object`;
		if (size($object_path) > 1)  
			{
			$list_of_instances[$counter] = $object;
			$counter++;
			}
	}
return $list_of_instances;
}

global proc string[] jl_find_parent(string $object[])
{
string $parents[] = `listRelatives -ap -f $object`;
return $parents;
}

global proc jl_update_button_window ()
{
textScrollList -e -ra jl_textscroll3_window;
string $selected_nodetype = `jl_selected_nodetype`;
int $no_of_instances = `jl_no_of_instances`;
textScrollList -e -a ("Number Of Instances: " + $no_of_instances) jl_textscroll3_window;
textScrollList -e -a ("Selected Object Nodetype: " + $selected_nodetype) jl_textscroll3_window;
}

global proc string jl_selected_nodetype()
{
string $selected_object[] = `textScrollList -q -selectItem jl_instance_window`;
string $selected_nodetype = `nodeType $selected_object`;
return $selected_nodetype;
}

global proc int jl_no_of_instances()
{
string $selected_object[] = `textScrollList -q -selectItem jl_instance_window`;
string $object_path[] = `ls -allPaths $selected_object`;
int $no_of_instances = `size($object_path)`;
return $no_of_instances;
}

global proc jl_refresh_windows()
{
jl_update_instance_window;
jl_update_parent_window;
textScrollList -e -ra jl_textscroll3_window;
}

// --------------------------------------------------------------------------------------------------- // 
// This procedure simply takes any instances and forces duplicates // 
// them. Making any instances to non-instanced // 
// nodes. This code is based off of Soren 'kurgan' Jacobsen script // 
// also callled makeunique. Changed by John Lomax to fit this Script 
// I ran into a few problems with the renaming of the instances so I removed
// those bits for now.
// ---------------------------------------------------------------------------------------------------// 
global proc makeunique() 
{ 
string $selectedObjects[]= `textScrollList -q -selectItem jl_textscroll2_window`; 
print $selectedObjects;

for ($current in $selectedObjects) 
{ 
select $current; 
duplicate -un; 
delete$current; 
} // end of for loop // 
	
jl_refresh_windows();

} // end of procedure makeunique // 

global proc jl_about_window()
{
if ( `window -exists jla_window` )	deleteUI -window jla_window;

window	 -width 250 -height 140 -s 0 -title "About" -rtf 1 jla_window;
	columnLayout -adj 1;
		text -label "" -align "center";
		text -label "JL Instance Manager V2.0" -align "center";
		separator -style "none";
		text -label "By John Lomax" -align "center";
		separator -style "none";
		text -label "For Updates Goto: www.johnlomax.com" -align "center";
		text -label "" -align "center";
		separator -style "none";
showWindow;
} 

#54

Hiya! :wavey:
I’m quite new to MEL so I’m searching help for a script I need.
I’m searching for something that controls the optical FX attributes (glow, lens flare, halo, etc.) of multiple point lights… (i’ve got 27 of them and doing the manipulation manually is quite foolish :cry: )
Pleeeeese!!!


#55

string $currPanel = `getPanel -withFocus`;
if ("" != $currPanel && ("modelPanel" == `getPanel -to $currPanel`))
{
	int $isolate_onoff = `isolateSelect -q -state $currPanel`;
	switch ($isolate_onoff)
	{
		case 0: 
			enableIsolateSelect $currPanel 1;
			isolateSelect -state 1 $currPanel;
			break;
		case 1: 
			enableIsolateSelect $currPanel 0;
			isolateSelect -state 0 $currPanel;
			break;
		default: break;
	}
	$isolate_onoff = `isolateSelect -q -state $currPanel`;
	print("IsolateView: " + $isolate_onoff + "
");
} else {
	error "No modeling panel selected or invalid.";
}


#56

string $currPanel = `getPanel -withFocus`;
if ("" != $currPanel && ("modelPanel" == `getPanel -to $currPanel`))
{
	int $xrayonoff = `modelEditor -q -xray $currPanel`;
	switch ($xrayonoff)
	{
		case 0: modelEditor -e -xray true $currPanel;
			break;
		case 1: modelEditor -e -xray false $currPanel;
			break;
		default: break;
	}
	$xrayonoff = `modelEditor -q -xray $currPanel`;
	print("X-Ray: "+$xrayonoff+"
");
} else {
	error "No modeling panel selected or invalid.";
}


#57

string $currPanel = `getPanel -withFocus`;
if ("" != $currPanel && ("modelPanel" == `getPanel -to $currPanel`))
{
	int $xrayonoff = `modelEditor -q -wos $currPanel`;
	switch ($xrayonoff)
	{
		case 0: modelEditor -e -wos true $currPanel;
			break;
		case 1: modelEditor -e -wos false $currPanel;
			break;
		default: break;
	}
	$wosonoff = `modelEditor -q -wos $currPanel`;
	print("WireframeOnShaded: "+$wosonoff+"
");
} else {
	error "No modeling panel selected or invalid.";
}


#58

string $currPanel = `getPanel -withFocus`;
if ("" != $currPanel && ("modelPanel" == `getPanel -to $currPanel`))
{
	int $swf_onoff = `modelEditor -q -swf $currPanel`;
	switch ($swf_onoff)
	{
		case 0: modelEditor -e -swf true $currPanel;
			break;
		case 1: modelEditor -e -swf false $currPanel;
			break;
		default: break;
	}
	$swf_onoff = `modelEditor -q -swf $currPanel`;
	print("Smooth Wire: " + $swf_onoff +"
");
} else {
	error "No modeling panel selected or invalid.";
}


#59

Its another fast way to make a NEATO curve. Run the script and you’ll see what it is. I use it as a handle for animation controls. It is now yours to use.
Just a small download off of my w/s

http://www.spatiallight.net/images/curve.mel
or here is the code:

createNode nurbsCurve -n "translateCurve" ;
	setAttr -k off ".v";
	setAttr ".ove" yes;
	setAttr ".cc" -type "nurbsCurve" 
		3 64 0 no 3
		69 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 13.9 14 14.1 15 16 17 18 19
		 20 21 22 23 24 25 26 27 27.899999999999999 28 28.100000000000001 29 30 31
		 32 33 34 35 36 37 38 39 40 41 41.900000000000006 42 42.100000000000001 43
		 44 45 46 47 48 49 50 51 52 53 54 55 56 57 59 59 59
		67
		-0.17138668534175089 1.6126005155970113 -0.00096101241248183755
		-0.17138668534175089 1.6126005155970113 -0.00096101241248183755
		-0.17138668534175089 1.6126005155970113 -0.00096101241248183755
		-0.17138668534175089 1.6126005155970113 -0.00096101241248183755
		-0.70082711498611849 1.6146091563006852 1.4322330726512789e-005
		-0.70082711498611849 1.6146091563006852 1.4322330726512789e-005
		-0.70082711498611849 1.6146091563006852 1.4322330726512789e-005
		0.0059651028543911688 2.6708252186226624 -0.0021292957539785773
		0.0059651028543911688 2.6708252186226624 -0.0021292957539785773
		0.73759704680752913 1.6091519279540178 -0.0026355415291416384
		0.73759704680752913 1.6091519279540178 -0.0026355415291416384
		0.73759704680752913 1.6091519279540178 -0.0026355415291416384
		0.20815661716316122 1.611160568657692 -0.001660206785933321
		0.20815661716316122 1.611160568657692 -0.001660206785933321
		0.20815661716316122 1.611160568657692 -0.001660206785933321
		0.20815661716316122 1.611160568657692 -0.001660206785933321
		-0.00040459662680628907 0.00074813416623790996 4.5195837723251191e-006
		
		1.6176115115058005 0.20082004206818094 -0.0031400756034705157
		1.6176115115058005 0.20082004206818105 -0.0031400756034705157
		1.6176115115058005 0.20082004206818094 -0.0031400756034705157
		1.6176115115058005 0.20082004206818094 -0.0031400756034705157
		1.6196193730032542 0.73026120288275487 -0.0035645574927064549
		1.6196193730032542 0.73026120288275487 -0.0035645574927064549
		1.6196193730032542 0.73026120288275487 -0.0035645574927064549
		2.6757103459450997 -0.0094047614200925 -0.0049254172592876344
		2.6757103459450997 -0.0094047614200925 -0.0049254172592876344
		1.6141642616635092 -0.70816494540990549 -0.0024112927030663922
		1.6141642616635092 -0.70816494540990549 -0.0024112927030663922
		1.6141642616635092 -0.70816494540990549 -0.0024112927030663922
		1.6161721231609629 -0.1787237845953317 -0.0028357745923023314
		1.6161721231609629 -0.1787237845953317 -0.0028357745923023314
		1.6161721231609629 -0.1787237845953317 -0.0028357745923023314
		-0.00040459662680628983 0.00074813416623776435 4.5195837723302148e-006
		
		0.19592705458328433 -1.6135806880255124 0.00092524436944672883
		0.19592705458328433 -1.6135806880255124 0.00092524436944672883
		0.19592705458328433 -1.6135806880255124 0.00092524436944672883
		0.19592705458328433 -1.6135806880255124 0.00092524436944672883
		0.7253674842276524 -1.6155893287291867 -5.0090373761579876e-005
		0.7253674842276524 -1.6155893287291867 -5.0090373761579876e-005
		0.7253674842276524 -1.6155893287291867 -5.0090373761579876e-005
		-0.014295905715300344 -2.6716806813188385 0.0021540829583450022
		-0.014295905715300344 -2.6716806813188385 0.0021540829583450022
		-0.71305667756599544 -1.6101321003825191 0.0025997734861065436
		-0.71305667756599544 -1.6101321003825191 0.0025997734861065436
		-0.71305667756599544 -1.6101321003825191 0.0025997734861065436
		-0.18361624792162776 -1.6121407410861932 0.0016244387428982193
		-0.18361624792162776 -1.6121407410861932 0.0016244387428982193
		-0.18361624792162776 -1.6121407410861932 0.0016244387428982193
		-0.00040459662680628842 0.00074813416623812886 4.5195837723300116e-006
		
		-1.6123534014755181 -0.16647510198907053 0.0031118125906938188
		-1.6123534014755181 -0.16647510198907053 0.0031118125906938188
		-1.6123534014755181 -0.16647510198907053 0.0031118125906938188
		-1.614361262972972 -0.69591626280364427 0.0035362944799297025
		-1.614361262972972 -0.69591626280364427 0.0035362944799297025
		-1.614361262972972 -0.69591626280364427 0.0035362944799297025
		-2.6705768972688526 0.01087848400086594 0.0049235088965418061
		-2.6705768972688526 0.01087848400086594 0.0049235088965418061
		-1.6089061516332259 0.74250988548901575 0.0023830296902896952
		-1.6089061516332259 0.74250988548901575 0.0023830296902896952
		-1.6089061516332259 0.74250988548901575 0.0023830296902896952
		-1.6109140131306801 0.21306872467444199 0.0028075115795255234
		-1.6109140131306801 0.21306872467444199 0.0028075115795255234
		-1.6109140131306801 0.21306872467444199 0.0028075115795255234
		-1.6109140131306796 0.21306872467444204 0.0028075115795256345
		0.089466553479113614 0.032006850390466274 -0.00018615503659995605
		0.037030108256880495 -0.033201044697502055 -3.757413389573333e-005
		-0.17138668534175083 1.6126005155970111 -0.00096101241248185143
		;


#60

those are really usefull; thank you all and keep em coming! :slight_smile: