IRC log for #brlcad on 20100919

01:32.16 *** join/#brlcad IriX64 (~IriX64@bas2-sudbury98-1177593360.dsl.bell.ca)
02:04.15 ``Erik O.O 3 sheriff cars out front
05:37.43 *** join/#brlcad akafubu (~akafubu@unaffiliated/akafubu)
09:23.40 *** join/#brlcad kanzure (~kanzure@131.252.130.248)
11:46.50 *** join/#brlcad merzo (~merzo@249-82-133-95.pool.ukrtel.net)
12:11.22 *** join/#brlcad fiz (~fiz@212.116.78.137)
12:11.34 fiz hi
12:14.32 fiz could someone please help me out? I need to open (only to view) a ddd file created in ExpertCAD. Have tried different kind of "Viewers" without any luck.
12:14.40 fiz suggestions?
12:17.06 brlcad fiz: not really familiar with ddd files .. what's in the file?
12:18.24 brlcad ah, I see .. it seems to be their binary format for drawings, akin to .dwg
12:20.39 brlcad that means you probably need expertcad, don't know of anyone that can import that format
12:21.21 fiz yeah thats exactly my problem brlcad
12:21.52 fiz aint there any "expertcad-viewr" ? :P
12:26.38 ``Erik sure there is, it's called "expertcad" :D
12:27.24 fiz not exactly a viewr now is it.. ;)
12:27.37 ``Erik I'd imagine it has some other features built in, too
12:27.51 fiz extras ? XD
12:27.54 ``Erik do you have access to expertcad? maybe it has an 'export to' capability?
12:28.55 fiz I no longer have expertcad, file was created like ~1990 or something
12:29.11 fiz +20 years ago
12:29.17 ``Erik sounds like you're suffering the 'vendor lockin' problem :/ (I'd never even heard of 'expertcad')
12:29.33 fiz >>> http://www.softech.com/products/expertcad/
12:30.47 ``Erik not doubting it's existance, just noting that it's not exactly one of the big names :)
12:31.00 fiz exactly
12:31.21 fiz it's not like AutoCAD/Inventor/SolidWorks/Catia etc..
12:32.05 fiz if it was problem would b solved :)
12:32.58 fiz it's a binary dinosaur :P
12:33.57 *** join/#brlcad fiz (~fiz@212.116.78.137)
12:34.07 fiz oops
12:34.32 *** join/#brlcad fiz (~fiz@212.116.78.137)
12:34.40 ``Erik sorry, dude, I have no quick fix for ya, sounds like brlcad doesn't, either... mebbe you can find something with a bit of googling, but ya might just be stuck *shrug*
12:34.42 fiz löl
12:36.14 fiz yeah i Googled for hours yesterday & tried all(probably) the free viewers/converters out there, no luck :/
12:37.11 ``Erik if you get the urge to bust out the hex editor and start reverse engineering the format, we can help you with putting the data into a modern container via BRL-CAD... but I htink that's about all we can offer ya :)
12:37.28 fiz hmm..
12:37.50 fiz sounds interesting :)
12:38.28 ``Erik heh, ddd-g, if you can do the ddd part, we can help with the g part, yo
12:38.50 fiz great thanx :))
12:39.15 fiz ill give it a try
13:13.26 ``Erik yargh, happy talk like a pirate day
14:37.58 CIA-2 BRL-CAD: 03starseeker * r40607 10/brlcad/branches/cmake/CMakeLists.txt: Identify what needs to be done for AC_HEADER_* macros.
14:39.53 starseeker ah, hex editor + binary file - a level of geekdom I have never attained
15:09.34 kanzure are there unit tests in the svn repository?
15:11.36 CIA-2 BRL-CAD: 03starseeker * r40608 10/brlcad/branches/cmake/ (CMakeLists.txt misc/CMake/BRLCAD_CheckFunctions.cmake): Reorganize some macro logic, move the basename and dirname test logic into the CheckFunctions macro file.
15:11.59 starseeker kanzure: um. we have regression tests, does that help?
15:14.02 kanzure maybe, is that in src/../regressions/ ?
15:14.12 kanzure oops, regress/
15:23.36 *** join/#brlcad louipc (~louipc@archlinux/trusteduser/louipc)
15:33.31 kanzure ah, README says there's no testing suite quite yet of course
15:33.46 kanzure i've never played with "Corredor Automation Test Suite"
15:36.59 kanzure s/README/HACKING/
17:11.01 ``Erik w00t, tremesetter fitted
17:30.20 kanzure whois terry ridder or terry hancock
17:47.25 brlcad kanzure: if you have ideas or want to work on testing, go for it
17:48.07 brlcad there's a fair bit of regression, black box, automated, and integration tests in that directory
17:50.07 brlcad we don't do unit testing per-se in the strict sense, but only due to the time it'd take to retrofit comprehensive testing on such a large existing code base -- so most of the testing occurs at a more productive higher level
17:50.19 kanzure i don't have any ideas but would be happy to read over anything people have jotted down before :)
17:50.29 brlcad nothing to say that unit tests wouldn't be great to have, especially for certain core libraries
17:50.32 kanzure honestly doing strict unit testing with brlcad would seem like a massive undertaking
17:50.56 kanzure and i'm not even sure how to go about it in some cases :)
17:50.58 brlcad comprehensive unit test code tends to match the size of the code it's testing
17:51.01 kanzure always easiest to write tests as you write the code itself
17:51.08 brlcad that'd be a 1M line body of test code :)
17:51.38 kanzure right now i'm puttering about doing my own test framework for my python/STEP thing
17:51.46 brlcad true, even better to write before you write the code itself if it's going to be public API too
17:52.08 kanzure since i didn't use EXPRESS my generator is not necessarily 100% compliant, so i need to test against brlcad (and wrap a call to the shell and see what step-g says?)
17:52.25 kanzure i guess this is "compliance testing" (which brlcad def. doesn't have)
17:52.26 brlcad so long as it's not a rapidly changing API, otherwise unit tests double the amount of work and can slow development in half
17:52.40 brlcad ahh
17:52.55 kanzure i'm also uninterested in starting a "unit tests or bust!" flamewar (my opinion varies)
17:53.12 brlcad testing for compliance would be either a black box test or an integration test
17:53.24 kanzure do you have any examples of that
17:53.25 brlcad unit tests are when you test specific API calls
17:53.41 brlcad e.g., does printf() do what it's manual page says it does
17:54.49 kanzure i might end up writing a stepchecker on top of src/conv/step/
17:54.57 brlcad forget about the different testing type labels, that's just symantic -- the idea is just to write tests that evaluate a body of code for some behavior, at some level
17:55.05 kanzure right
17:55.18 brlcad at the highest level (integration tests), you run your program(s) and test whether they do what you tell them to do
17:55.40 kanzure i guess this is confusing for me because (1) i don't have tests written and (2) the architecture for testing in CAD frameworks hasn't been done yet (to my knowledge)
17:55.49 brlcad at the lowest level (unit tests), you make API calls and test whether they do what their documentation says
17:56.05 brlcad "the architecture"?
17:56.07 kanzure how would you architect this? would you have shell scripts for testing
17:56.17 kanzure like for integration tests
17:56.29 kanzure unit tests can be additional files in a library usually
17:56.51 brlcad there's no pre-existing "architecture" for any testing system -- it's just code that is written
17:57.20 kanzure huh? sure there are- most testing frameworks have a defined way of going about writing the code
17:57.22 brlcad you can use a testing framework to help you, but there's nothing specific about the CAD domain or CAD code
17:57.39 kanzure "but there's nothing specific about CAD" are you sure?
17:58.06 brlcad you could make something "CAD-specific", but it's not clear what that even means
17:58.18 kanzure well in general testing for file format compliance (for instance) isn't common
17:58.23 kanzure but it's definitely useful
17:58.44 kanzure i haven't seen code that does integration tests for that yet.. it probably exists and maybe you can point me at it
17:59.21 kanzure openoffice might
17:59.23 brlcad well it'll depend how rigorous you want the test to be
18:00.26 brlcad all of the various testing frameworks (that I'm aware of) have pretty much nothing to do with domain (such as CAD) or data (such as files)
18:00.35 brlcad you tell them to do things, and then check the results
18:01.04 kanzure i haven't seen anyone "telling them to do things" (like file format compliance at some level of rigor) yet
18:01.12 kanzure this is due to my inexperience not implausibility
18:01.16 brlcad so you can use a framework or roll something custom, but in the end something is going to generate a file (or piece of it) using your system and you're going to want to validate that data
18:02.12 kanzure let's take a specific example- let's say we were testing NIST's SCL library :P
18:02.27 brlcad maybe misunderstanding something about frameworks, but ALL testing frameworks are you (the tester) describing (in code) things you want to be done
18:02.41 kanzure we'd test it against a set of EXPRESS schemas and see if it fails to parse them? is that it?
18:03.15 brlcad you could certainly do that
18:03.53 kanzure and just use regular expressions to check for error messages on the integration tests?
18:03.58 brlcad that'd be just one piece of testing you'd need to test the SCL
18:04.20 brlcad sure that's one perfectly acceptable approach
18:04.34 brlcad how you test the result becomes a matter of testing sensitivity
18:04.56 brlcad regex are only as good as the expressions you write
18:05.00 brlcad (of course)
18:05.01 kanzure yeah
18:05.23 brlcad if you write something that is very strict, then you'll get lots of good test failures if something changes
18:05.36 brlcad but then you might also get a lot of false positives, making the test practically useless
18:06.18 brlcad for example, you could run the tool in a known "good" state and get an output -- then make a test that runs the tool and compares current output to that known "good" output
18:06.19 kanzure and that sensitivity isn't CAD-specific? i mean it seems to be custom
18:06.28 kanzure based on the problem domain that we're working under and the specific test we're writing..
18:06.51 brlcad sensitivity isn't CAD-specific -- it's the same problem no matter what domain we're talking about
18:07.29 brlcad it's sensitive to how you compare good or expected results with the current results
18:07.46 kanzure what would a "result" in this context look like anyway
18:08.06 brlcad if you test _exact_ (like "diff fileA fileB"), then the test will fail for simple things like whitespace changes
18:08.07 kanzure steptools.com has an ap203check tool that i was using yesterday
18:08.08 kanzure http://diyhpl.us/~bryan/irc/ap203check-job3
18:08.19 kanzure so there's obvious output there "validating ..." that could be checked against i guess
18:08.57 kanzure (that output was from a CGI script on steptools.com)
18:09.25 brlcad yeah, STEP (as a format) has a whole collection of AP's that specify how to test input formats, container formats, representation types, and more .. it's pretty hairy
18:09.41 kanzure oh there's an AP on testing?
18:09.50 brlcad there's a suite of APs on testing and validation
18:09.59 brlcad it's probably WAY more than you're expecting
18:10.05 brlcad SCL implements some of it
18:10.20 kanzure "An ATS is a formal description on how to test STEP implementations for conformance. They contain a test plan for postprocessors (exporting STEP data) and preprocessors (importing STEP data). The structure of an ATS is defined in part 34."
18:10.25 kanzure "The original plan of STEP was to have for every AP 2xx a corresponding ATS 3xx, but only a few were finally realized till today.
18:10.28 kanzure plan of"
18:10.30 kanzure ^from http://en.wikipedia.org/wiki/List_of_STEP_%28ISO_10303%29_parts#Conformance_testing_methodology_and_framework
18:11.04 kanzure huh, so ISO 10303-34 defines the structure of an ATS, and then there's (supposedly) an ATS for some given subset of APs
18:11.27 brlcad yep
18:11.30 brlcad that's the suite
18:11.52 kanzure yeah this seems more legit than parsing random cgi script output from steptools.com :D
18:13.36 brlcad what exactly are you trying to accomplish? verify that SCL works for reading schemas? for reading STEP files for a specific AP? for writing STEP files for a given AP? for all APs? that your output matches SCL's? something else?
18:14.03 brlcad because there's multiple issues
18:14.05 kanzure i want a simple way to generate STEP files, so i wrote a STEP exporter in python on my own (not generated)
18:14.13 brlcad right
18:14.22 kanzure now i want to test it, and test it against SCL/opencascade/whatever-else
18:14.30 kanzure testing it via an ATS sounds good too though
18:14.38 kanzure likewise, this applies to testing SCL itself
18:14.57 kanzure however adding in tests for SCL is at this point secondary to my objectives
18:15.19 kanzure (i'm sure the experience will be valuable in such an endeavor though)
18:15.48 brlcad okay
18:16.45 brlcad the difficulty (with ATS or a manual approach) is going to still be sensitivity
18:17.04 brlcad you can validate that your generated STEP files are _structurally_ correct
18:17.07 brlcad that's pretty easy
18:17.10 kanzure i don't even know what ATS looks like..
18:17.26 kanzure oof that's right .. there are multiple levels of validation eh?
18:17.29 brlcad you can even generate that they contain the data you expect them to contain without false sensitivity
18:17.47 brlcad s/generate/test/
18:18.04 kanzure syntax, type-based (i.e. string or int in a certain parameter of a method), semantic/rules (i.e. the rules that the ap203check-job3 output was complaining about)
18:18.16 brlcad but then whether something else can read your (perfectly "valid") STEP file depends on other factors
18:18.34 kanzure i think the most important point is whether or not others can read the files
18:18.42 kanzure i'm sure there are lots of different ways to test, but that's my number one priority
18:18.59 kanzure this is completely useless if you can't get your CAD program to read in this geometry :)
18:19.00 brlcad take a simple sphere, for example
18:19.07 kanzure that's what my tests have been so far
18:19.13 kanzure http://diyhpl.us/~bryan/irc/sphere.lolcad.step
18:19.18 brlcad I can write a sphere out into a STEP file in about a half-dozen different ways
18:19.30 kanzure yes :(
18:19.50 brlcad all 6 are perfectly valid step files
18:20.01 brlcad but CATIA might only support 2 of them
18:20.12 kanzure huh? but don't they implement AP203?
18:20.15 brlcad Unigraphics might only support another 2
18:20.19 kanzure i guess i shouldn't assume that.. they probably have partial implementations
18:20.44 brlcad implementing AP203 doesn't mean you can represent or support every entity type
18:20.53 brlcad 203 is huge
18:21.01 kanzure the .exp file for 203 is only 600kb
18:21.08 brlcad heh
18:21.12 kanzure :P
18:21.24 kanzure ok i see how ridiculous that sounds
18:21.31 *** join/#brlcad IriX64 (~kvirc@bas2-sudbury98-1177879409.dsl.bell.ca)
18:22.56 kanzure i can see why others avoid testing their STEP implementations
18:29.41 kanzure part 34 is AST and part 35 looks like a test suite for SDAI implementations
19:38.59 kanzure ATS303 for AP203: http://filebin.ca/gdshta/ISO10303-part303.pdf
19:40.07 kanzure a lot of this testing looks redundant
19:40.27 kanzure i thought the point was that this is OOP-based
21:49.33 ``Erik your mom is oop based
22:11.45 *** join/#brlcad Elrohir (~kvirc@p4FC5BF9F.dip.t-dialin.net)
22:27.02 kanzure ``Erik: it's true :(
22:31.09 ``Erik at least she's real oop, a la smalltalk/objc... not slutty old c++ style
22:52.15 *** join/#brlcad R0b0t1 (~Enigma@unaffiliated/r0b0t1)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.