* Topic for #brlcad is: http://brlcad.org/ || BRL-CAD is now Free Software! || 7.6.6 to be released by the 15th! * Topic for #brlcad set by learner at Wed Dec 14 00:12:51 2005 fenn ahoy mateys! fenn i'm looking for a relatively simple solid modeling language to simulate collisions in machine tools fenn stuff like cylinder, cube, sphere, cone, prism fenn also testing for collisions with a nurbs toolpath would be nice fenn what parts of the brlcad tree would i need for this? or is brlcad the wrong tool for the job? brlcad fenn, brl-cad wouldn't be the wrong tool for the job, but depending on exactly what you want changes what you might want to look at brlcad and coding will probably be required fenn yeah definitely brlcad librt is where all the primitive and geometry introspect (via ray shooting) lives fenn what handles geometry intersections? fenn oh the other tricky thing is i have to transform some things into n dimensional space brlcad it's implicit geometry representations brlcad so geometry intersections are known when a ray is fired brlcad and the implicit equations and segment/partition lists are computed brlcad you can register callback handles via the raytrace programming api for hit/miss/overlap fenn so a ray is like a vector? it has magnitude? brlcad a ray has a starting position and a direction fenn hmmm brlcad you can get geometry information along that ray fenn i need to know if a vector is inside a volume fenn brlcad is probably the wrong tool for this brlcad if your talking about what I think you're talking about brlcad then you have some "tool", a shaped carving/cutting bit with some 3d shape fenn eh, no that's a different project brlcad oh? then what the "testing for collsions with a nurbs toolpath" mean? fenn ok these projects are all related you can see fenn i have a CAM project that takes a solid and plans out the toolpaths brlcad k fenn now we are working on a new CNC motion controller to replace emc fenn they have some similar functions and some redundant functions fenn like the cnc controller has to be able to compensate for cutters of different sizes fenn so if you have are cutting a sharp inside corner for instance, you dont want to blindly offset the path by some amount fenn this kinda hard without pictures brlcad i think i follow though fenn so, cutter comp and toolpath planning in the CAM are pretty similar brlcad you want a sharp corner, and if you were using a large circular cut, you'd have a big corner curve fenn yeah fenn if you follow the path that was made for a smaller cutter it might go too far into the corner and gouge the part fenn so i wanted to do collision detection between the toolpath and the cutter fenn make sense? brlcad now do you restrict the toolpath to "mostly" 2D (like a thin slab of metal being cut), or entirely 2D (sheet-metal style cutting), or entirely 3d? fenn it's restricted to mostly 2d fenn i think it's kinda dumb myself fenn why not just run it thru cam again? fenn but anyway.. brlcad so basically it's a 2D cutting path and toolbit exercise where you just have to take the vertical shape of the toolbit into consideration fenn the main problem i've been thinking about is how to transform arbitrary geometries from "cartesian space" to "joint space" fenn where "joint space" is the space with a set of basis vectors defined by the actual motions of the machine tool fenn like a milling machine will have a quill, a knee, an X axis and a Y axis fenn so in this instance you are taking a 3d toolpath and transforming it into 4 dimensional space fenn now you want to make sure that you are within a specified tolerance, but the information in realtime is coming from the joints brlcad have you run rtedge in brl-cad yet? fenn so i think it's easier to transform the tolerance into joint space before the machine moves than to try to transform all the joints back into normal cartesian coordinates fenn no.. *hangs his head* fenn i get lost every time i try to use brlcad brlcad that effectively solves the path contour, detecting/reporting the edge of a specified slice of geometry brlcad you could even use the results as basis vectors for a 2D bezier path directly fenn like slicing a part along the z axis? brlcad you'd have to account for the direction changes to detect inside/outside corners that would need a different toolbit brlcad again, as you noted, pictures would help :) fenn i figured this is the sort of stuff you did in simulations * Maloeran has quit (Read error: 110 (Connection timed out)) brlcad it is in many ways brlcad those are almost always custom algorithms but the basic need is for geometric introspection, which is what librt provides * Maloeran (n=alexis@modemcable065.3-83-70.mc.videotron.ca) has joined #brlcad brlcad full blown simulations of a munition hitting a target can be simulated that way fenn is there a way to get librt without all the rest of brlcad? brlcad or energy/blast effects, etc brlcad heh fenn if not it's not a big deal brlcad you could, sure .. but "why"? :) fenn for instance if you're running a cnc controller off a usb stick and dont have space for all of brlcad brlcad ah, for that purpose, sure fenn cool.. i'll have to look into it more then brlcad librt relies upon brl-cad's basic numerics and utility libraries (libbn and libbu), libregex, and libz brlcad so you pull those four directories out, and you'd have just what you needed, a fairly contained library fenn they're just shared library files right? (.so) brlcad I could make a configure target for that as well for convenience brlcad shared or static fenn well, .a, close enough fenn i can just link to that at compile time