Thanks for the replies, I read them a while ago but didn't get a chance to reply until now, as I hadn't been very active with BRLCAD for a while.
See replies below, in-line: On Mon, Aug 29, 2016 at 6:08 AM, Christopher Sean Morrison <brl...@mac.com> wrote: >> Sounds like hyperbole to me. > > There certainly is a bit there, and the statement should be caveated as being > “within the limits of floating point". That said, it should be possible to > accurately model through those scales but it doesn’t mean it will by default > — tolerances have to be adjusted and some features become unavailable below > certain thresholds without recompilation. Hmm, Ok, it would be nice if that clarification could be made up front. I feel like I've heard of some numerically-intense programs having the ability to automatically scale to however many bits/decimal places needed... but I guess it isn't here (or maybe storing/transferring numbers of arbitrary size, i.e. as strings, is different than operating on those numbers, i.e. addition). I think I might have started running into the "unavailable" features, where I could see features in wireframe, but when I raytraced they'd be black... and only did the features raytrace correctly when I changed the units to something larger (i.e. maybe I was on 'um', and switched to 'mm' to get things to look better) > >>> In the freenode #brlcad IRC chatroom, recently the user 'brlcad' >>> mentioned to me not to use a dimension of less than 0.005 mm, for >>> reasons of 'computational stability' or some similar verbiage. >>> >>> I am working on MEMS devices which have nanoscale through macroscale >>> features... 5 microns is HUGE for some of the things I will be doing. >> >> I would trust user brlcad's advice here, but am a bit surprised. In precision >> machining .0001 of an inch or .001 millimeter are used as a 'general' level >> of >> precision and can easily become more precise. I would have hoped brlcad could >> handle nanoscale without issue! > > BRL-CAD's distance tolerance is adjustable and is 0.0005 by default, which is > normally applied as a millimeter distance or default calculation tolerance. > > That’s 500 nm, so I would expect needing to adjust that down to at least > 0.0000005 to get effective nm modeling (tol abs 0.0000005). That is > nominally below single-precision floating point, so that begs for 64-bit too. Can you link to a doc, or tell me what config file/param or compile flag/param needs adjusted? I'd guess my BRLCAD package that Ubuntu installed was 64-bit, simply because I have the 64-bit kernel running... but I really hadn't considered that. I'm grabbing the 7.26.0.2 AMD64 .deb file now from SourceForge. > > That all said, another practical approach that would probably work even > better would be to simply scale everything up by a factor. Modeling with a > factor of 1000000 would make the default mm == nm. If I wanted to make > something 1m long, I’d specify 1e^9 instead of 1000. If I wanted something a > half-nm, it’d be 0.5, etc. Doing this would avoid needing to adjust > tolerances. I think that should work for what I want to do now... but I think in the future I may need to revisit this, as I also want to try taking these models into physical simulation... but depending on how I export the data to such a tool, I might also have the option on the simulation side to change the units to whatever I want. > > Cheers! > Sean Thanks! -Nathan ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ BRL-CAD Users mailing list brlcad-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/brlcad-users