Blender used to describe Hal networks
Blender can be used to graphically describe part of a hal network Not an entire .hal file Just a bit, maybe a dozen simple comps This page will demonstrate how useful it can be ( and in the end how useful it aint ) Look at the pictures and videos and see if the idea is conveyed Thats the real test, if an idea is explained to the point of understanding Now I have to just lay the stuff down and you have to decide Otherwise I'm explaining the joke :/ heres the joke
screenshots of components in Blender
photos of the machine
darn it, i need a low profile vise, i got < 1mm clearance
links to movies of system in use
an example of posing using vismach
the virtual machine really was built but does not use LinuxCNC
http://videobin.org/+68u/6xm.html
the gv2offset4 component and a real window comparator
( see circuit above is used with a pot in lieu of the EDM gap , injected on pins 5&6)
watch the coupler to see the quickness of the reaction, no steps are lost ( simple gauge block test )
http://videobin.org/+68u/6xn.html
why Blender is not good for this purpose
the inputs are on the left, the outpust are on the right , adding the versatility to arrange them as you like in the layout is too complex for me. I did this in NodeBox ( a python graphic toolkit ) and likely will go back there if i continue this idea. the whole network is way too big to fit on the canvas you really can draw it, but you can never see all of it, not enuf zoom out, you end up with max zoom and large amounts of unseen graph. meaning you have to both pan around and zoom in out if you fight the user interface while you're trying to understand a thought, you'll loose track nesting works but only to one level (this is like pages in electrical CAD ) the selected comps will collapse into a single rectangle the comps contained will have thier exposed pins on edges, following the leftin/right out rules the pin placement of the collapsed widget is not pleasing, and cannot be re-arranged complex comps like axis/motion or stepgen are not pleasant to see in a single grafic widget so i broke them up into what i thought were similar/logical sub-comps this becomes not hal friendly and is not blender friendly theres a input on lower left outputs on upper right rule also the pins are never directly across from each other which makes for an ugly staggering when theres a lot of pins the nodes ( pins in HalSpeak) are supposed to have data types int, float, string, and a few float arrays ( color is 4 floats RGBA, vector is 3) but theres really only float and float arrays, i checked the library for what really existed hoping for examples ) and no S32 U32 fer sure the nets are hard to see, and no param to change width no naming of nets, but i didnt mind, as i saw the Hal 'single source' rule was in tune with the idea that the source should just have a name the source can only goto outputs, why name the wire when you could name the signal source this single source rule meant no branching of nets, instead all connections eminate from the single source the leftin rightout rule made for very ugly layouts, wires wrapping immediately back to left the use of blender exploits 'pynodes' a feature dropped in Blender version 2.49b ( what you see here ) and is supposed to be resurrected in 2.66 ( Blender's on 2.65a now ) there some nice bits, the bezier nets are nice, but they dont avoid anything ( would need way points ) the group comps expand in a nice HUD like window, and keep all thier nets intact the comps widgets are easy to write its pretty so, like many other attempts, blender4hal leaves too much to be desired imo 28dec2012 tom3p merry Christmas to all & Happy New Year
|