irclog2html for #brlcad on 20050508

00:20.51 *** join/#brlcad CIA-2 (~CIA@flapjack.navi.cx)
01:06.40 *** join/#brlcad cad185 (~181043d9@bz.bzflag.bz)
01:27.46 *** join/#brlcad macTRON (~18cfd6ee@bz.bzflag.bz)
01:29.44 macTRON Is this thing on?
01:30.16 macTRON Um . . . I have a question or two about brlcad
01:44.23 *** join/#brlcad PhantomBantam (~phantomba@dialup-4.238.67.205.Dial1.Providence1.Level3.net)
01:59.16 learner PhantomBantam, what do you mean?
01:59.42 learner you provide a datafile that consists of height values
02:00.13 learner it's basically what most packages would call a "height field" used for modeling terrain, for example
02:00.51 PhantomBantam So, all that file is is plain text file with numbers?
02:01.22 learner no, it's a binary data file that it's expecting
02:02.01 learner do you have an existing data set?
02:02.10 learner or are you looking for something auto-generated?
02:02.19 PhantomBantam No.
02:02.38 PhantomBantam Yes, I am looking for something autogenerated.
02:02.39 learner it's not too difficult to take an existing binary data, like an image, and convert it
02:02.51 learner ahh, okay -- probably even easier
02:04.14 learner lemme see if we have a prog that already does that
02:04.17 PhantomBantam What kind of image?
02:04.24 PhantomBantam Okay.
02:41.00 *** join/#brlcad CIA-3 (~CIA@flapjack.navi.cx)
02:50.24 learner PhantomBantam, sorry for the delay, got sidetracked fixing a bug
02:51.09 learner I don't see a random dataset generator.. the closest is a procedural database, but that generates a spline terrain field
02:51.22 learner (src/proc-db/terrain)
02:57.35 PhantomBantam Okay, I'll give it a shot.
02:57.46 PhantomBantam thanks
02:57.48 learner that said, let's say you have a png image of terrain data
02:58.28 learner like, http://ftp.brlcad.org/tmp/terrain.png
02:59.08 learner to make that into a 3D height field in mged, you have to convert the file into the format needed which is network unsigned short
02:59.44 learner png-pix terrain.png | pix-bw terrain.bw
03:00.13 learner that converts the png into a raw black and white image datafile
03:00.30 learner then to convert it to dsp data, you can use brl-cad's cv command:
03:00.50 learner cv uc nus terrain.bw terrain.data
03:01.07 learner that terrain.data is now ready for import into mged as a dsp
03:02.17 learner at the mged command prompt type the "in" command, and it will prompt you
03:02.38 learner mged> in
03:02.56 learner Enter name of solid: terrain
03:03.02 learner Enter solid type: dsp
03:03.18 learner Take data from file or database binary object [f|o]: f
03:03.29 learner Enter name of file/object: terrain.data
03:03.34 learner Enter width..: 512
03:03.38 learner Enter height...: 512
03:03.46 learner Interpolation: 1
03:04.13 learner Cut direction [ad|lR|Lr]: ad (doesn't matter much most of the time)
03:04.33 learner Cell size: 1000 (1 meter per grid cell)
03:05.02 learner Unit elevation: 500 (smaller is flat terrain, larger is mountainous)
03:05.36 learner e terrain and you should see it show up in all it's glory
03:07.34 PhantomBantam I'll try.
03:28.25 *** join/#brlcad PhantomBantam (~phantomba@dialup-4.238.67.177.Dial1.Providence1.Level3.net)
03:28.52 PhantomBantam Sorry, I was disconnected for some reason.
03:29.06 learner no problem
03:29.08 learner any luck?
03:31.09 learner let me know if you need me to repost any of the walkthrough again
03:32.54 PhantomBantam No, it's still on the screen.
03:36.18 PhantomBantam $ png-pix ~/desktop/terrain.png
03:36.19 PhantomBantam -bash: png-pix: command not found
03:36.19 PhantomBantam Computer:~ PB$ /usr/brlcad/bin/png-pix ~/desktop/terrain.png
03:36.19 PhantomBantam ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????}}?
03:37.07 PhantomBantam That's what I get when I try to use the png-pix.
03:37.24 learner er, how do you normally run mged?
03:37.43 learner you type /usr/brlcad/bin/mged ?
03:38.09 PhantomBantam I use x11
03:38.20 learner you should add /usr/brlcad/bin to your path, i.e. add this line to your ~/.bash_profile: export PATH=/usr/brlcad/bin:$PATH
03:38.32 learner assuming you use bash
03:39.07 learner then you'll be able to type just pix-png, mged, etc
03:39.33 learner that said, the command you needed was "png-pix terrain.png | pix-bw terrain.bw"
03:39.37 PhantomBantam Oh, Okay.
03:39.57 learner the output was being piped to pix-bw instead of specifying a temp file
03:40.34 learner otherwise, that becomes two steps: png-pix terrain.png > terrain.pix
03:40.41 learner pix-bw terrain.pix terrain.bw
03:54.01 PhantomBantam I tried adding that line, and it still doesn't work
03:54.45 learner it doesn't take effect until you either make a new shell/xterm/whatever or resource the file manually
03:54.52 learner source ~/.bash_profile
04:01.39 PhantomBantam I still get the question marks.
04:02.01 learner yes, png-pix outputs data to stdout
04:02.10 learner so you have to redirect it to a file or a pipe, like I showed
04:02.20 learner 23:39:33: learner: that said, the command you needed was "png-pix terrain.png | pix-bw terrain.bw"
04:02.37 learner 23:40:34: learner: otherwise, that becomes two steps: png-pix terrain.png > terrain.pix
04:02.37 learner 23:40:42: learner: pix-bw terrain.pix terrain.bw
04:03.18 learner make sense?
04:04.20 PhantomBantam But then it says can't open "terrain.bw"
04:04.48 learner which did you do?
04:04.59 learner using the pipe or the two step
04:05.23 PhantomBantam The pipe.
04:06.03 learner ack, my bad.. typo
04:06.13 learner twice even
04:06.21 learner pix-bw sends to stdout as well
04:06.38 learner so it's: png-pix terrain.png | pix-bw > terrain.bw
04:06.51 learner sorry about that
04:08.53 PhantomBantam Yes! It worked.
04:09.48 learner you can pretty much feed any image into it like that
04:09.57 learner though the default values assume a 512x512 image
04:11.32 learner actually, never mind.. any image size should work.. pix-bw doesn't care about dimensions, neither does cv
04:21.52 PhantomBantam I tried, but got:mapped file open failed
04:21.52 PhantomBantam mapped file open failed
04:21.52 PhantomBantam cannot find data for DSP
04:22.15 learner what's your in line?
04:22.33 learner you did do the cv step right?
04:22.42 PhantomBantam yes
04:23.35 learner hit the up arrow until you see the "in" line that you wrote
04:23.51 learner should look something like: in terrain dsp f ....
04:24.00 learner paste that here
04:24.08 PhantomBantam in terrain.s dsp f ~/desktop/terrain.data 512 512 1 ad 1000 500
04:24.33 learner hmm, might be the ~
04:24.42 learner make it relative
04:24.45 learner or absolute
04:25.00 learner pwd
04:26.45 PhantomBantam Hm?
04:27.01 learner what does pwd say?
04:27.24 PhantomBantam Users/PB
04:27.45 learner <PROTECTED>
04:27.54 PhantomBantam It works.
04:28.07 PhantomBantam I just got rid of the ~/
04:28.20 learner yeah, that makes it relative
04:28.23 PhantomBantam Wow, looks great.
04:29.33 learner you can test out different heights by running "kill terrain" to delete it, then up arrow to the "in" line and change that last number (e.g. try 1000 instead of 500)
04:29.53 PhantomBantam Okay, thanks a ton.
04:29.58 learner small numbers will make flattened, gently rolling terrain
04:30.04 learner large numbers will make mountains
04:30.30 learner changing the second to last number will change how big/small it is
04:32.58 learner it's one of the fastest and most efficient terrain representations.. you can go pretty darn big and still raytrace relatively quickly
04:33.05 learner only limited by your machine's memory
04:40.29 PhantomBantam Great.
04:43.17 PhantomBantam Ineed to go now. Thanks a ton.
04:55.37 *** join/#brlcad PhantomBantam (~phantomba@dialup-4.238.67.177.Dial1.Providence1.Level3.net)
04:55.40 *** part/#brlcad PhantomBantam (~phantomba@dialup-4.238.67.177.Dial1.Providence1.Level3.net)
10:09.26 *** join/#brlcad ibot (ibot@apt.bot.TimRiker.active.supporter.pdpc)
10:09.26 *** topic/#brlcad is http://brlcad.org/ || BRL-CAD is now Open Source! || Screenshots: http://sourceforge.net/project/screenshots.php?group_id=105292 || http://brlcad.org/images/mged.jpg || Release 7.2.0 is posted (20050305)
12:09.09 *** join/#brlcad CIA-3 (~CIA@flapjack.navi.cx)
14:41.34 *** join/#brlcad narnia (~terrylr@johann.blauedonau.com)
16:02.04 learner cia is still not working..
16:02.15 learner slew of commits and no gratification :)
16:06.26 narnia no joy here either.
16:07.43 learner did you actually start writing a compiler?
16:07.56 learner or something else
16:08.03 learner or was that just a joke
16:08.31 learner if it wasn't, gamasutra has one of the best walkthrough's I've seen
16:09.11 learner that's probably several months of effort to get right, though
16:09.53 narnia i am rewriting the parser and working through a compiler design. several people have recommended the 'dragon book', but that book is not a possibility.
16:11.39 narnia there is only so much patching possible with the old nist design. the more patches the uglier it becomes.
16:11.41 learner it is probably "the" book
16:12.29 learner but certainly not necessary unless you have a really complicated language (which express is not comparatively)
16:12.30 narnia yes, the 'dragon book' is 'the' book on compiler design.
16:13.00 narnia well, i sure would not say that.
16:13.26 narnia the local 'where' clauses and global rules.
16:15.10 learner why are you going that route, though? was there actually a showstopper?
16:15.49 learner I would have defaulted back to the other c++ based parser next before starting fresh
16:17.24 learner just curious
16:18.25 learner woo hoo!.. libwdb now has support for writing binary data objects!
16:19.20 narnia showstoppers are: 0) not having 10303 part 4x or 5xx series. 1) from the old nist scl source code readme file " The
16:19.20 narnia following subclasses of STEPaggregate are stubs and have yet to be
16:19.20 narnia implemented: Array, Bag, Set, List.
16:19.20 narnia "
16:20.41 narnia i have no idea what many entity attributes (variables) are even used for.
16:20.57 learner now sure what the latter means, but perhaps it simply wasn't necessary
16:21.29 learner isn't the 5xx series just for specific validate tests? what's 4x?
16:21.31 narnia then there are all rhe exceptions to the rules that are introduced in 10303-11ed2, 10303-21-2002, etc.
16:22.21 narnia Integrated generic resources (Parts 40-49)
16:22.32 narnia Application interpreted constructs (Parts 500 - 599)
16:23.02 learner okay
16:23.11 learner why are those needed??
16:24.18 learner sorry for all the questions, you do know the scl a heck of a lot better than I at this point, but for basic geometry parser those don't seem that critical
16:25.15 learner useful, maybe .. critical.. dunno
16:25.17 narnia example: 10303-042e2 defines the entity trimmed_curve. i have nothing that tells me how that trimmed_curve behaves.
16:26.02 narnia all geometry is defined in part 4x and 5xx.
16:26.26 narnia ap203 just includes them.
16:27.02 narnia i have absolutely nothing to go by that says how the geometry entities interact.
16:27.18 learner sure, but why do you need to know how they behave? a trimmed curve is going to have some values that pretty much convert 1-1 with a nurb .. it's the app's arena to make it behave
16:28.18 learner for a converter, behavior is limited to "is this thing valid and representable"
16:28.48 learner if I were modeling with step as the core data format, that wouldn't be the case, but for a converter..
16:29.33 learner there's already going to be a fair amount of simplification/omission or unsupported features even
16:34.04 narnia i am not understanding what you are are saying. when i asked about the conversion polyspin said that it should either be a bag of triangles or a nm something.
16:35.10 learner yes, that was specific to the various tesselations you were asking about
16:35.43 learner bots are best for triangle formats, nmg for polygons
16:36.24 learner splines trimmed or otherwise can either be tesselated into a triangulated format or brought in as a nurb directly
16:37.41 learner that's more knowledge of brl-cad's abilities, though.. not the step's representation's "ability"
16:39.02 learner a sphere is a good example, given that it can be represented in about a half-dozen ways
16:39.26 narnia out of the numerous .stp files i have been using i have yet to find a true polygon.
16:40.14 learner spline spheres and actual sphere primitives in step formate would come in as a brl-cad sphere, a tesselated one would come in as a bot if it's triangulated, nmg otherwise
16:42.00 learner those mappings do get trickier, of course, but they pretty much just have to be looked at on a 1 by 1 basis to figure out the easiest mapping
16:45.12 narnia example of what i am dealing with.
16:45.17 narnia #9120 = POLYLINE('PolyLine2',(#9113,#9118,#9117,#9116));
16:45.17 narnia #9130 = POLYLINE('PolyLine2',(#9110,#9113,#9112,#9117));
16:45.17 narnia #9140 = POLYLINE('PolyLine3',(#9118,#9115,#9110,#9111));
16:45.17 narnia #9150 = POLYLINE('PolyLine4',(#9112,#9111,#9116,#9115));
16:46.26 narnia the above polyline entities define 4 lines between the cartesian_points given as arguments.
16:46.45 learner so 9113 is a cartesian point for example?
16:46.58 narnia the four polylines taken together form a cube.
16:47.13 learner a cube or a square?
16:47.27 narnia 9113 is an entity instance name: #9113 = CARTESIAN_POINT('CartPt4',(0.0,0.0,2.0));
16:47.36 narnia a cube
16:48.12 learner hmm.. how do four lines make a 3d cube?
16:48.48 narnia #9110 = CARTESIAN_POINT('CartPt1',(0.0,0.0,0.0));
16:48.48 narnia #9111 = CARTESIAN_POINT('CartPt2',(2.0,0.0,0.0));
16:48.48 narnia #9112 = CARTESIAN_POINT('CartPt3',(2.0,0.0,2.0));
16:48.48 narnia #9113 = CARTESIAN_POINT('CartPt4',(0.0,0.0,2.0));
16:48.48 narnia #9115 = CARTESIAN_POINT('CartPt5',(0.0,2.0,0.0));
16:48.49 narnia #9116 = CARTESIAN_POINT('CartPt6',(2.0,2.0,0.0));
16:48.51 narnia #9117 = CARTESIAN_POINT('CartPt7',(2.0,2.0,2.0));
16:48.53 narnia #9118 = CARTESIAN_POINT('CartPt8',(0.0,2.0,2.0));
16:48.55 narnia #9120 = POLYLINE('PolyLine2',(#9113,#9118,#9117,#9116));
16:48.55 learner ahh, I think I get it.. polyline is basically a face
16:48.57 narnia #9130 = POLYLINE('PolyLine2',(#9110,#9113,#9112,#9117));
16:48.59 narnia #9140 = POLYLINE('PolyLine3',(#9118,#9115,#9110,#9111));
16:49.01 narnia #9150 = POLYLINE('PolyLine4',(#9112,#9111,#9116,#9115));
16:49.08 learner multiple lines, not just one
16:49.14 learner 4 to be exact
16:49.21 narnia well, no. that is what i thought originally.
16:50.28 narnia hang on i have a povray model that shows what i am attempting to convey.
16:50.55 learner i don't see how a single polyline can be anything else but line segments from point to point
16:51.11 learner the only question I'd have is whether it was a closed loop or an open loop
16:51.19 learner from the points, it looks open
16:53.06 learner yeah, that makes more sense .. they're just connected line segments, and presumably there's another entity that ties them together
16:56.28 narnia well no, there is no further entity that ties them together.
16:57.04 narnia http://204.238.34.206/cube1-polyline1.jpg
16:57.08 learner then it's not solid geometry
16:57.10 narnia http://204.238.34.206/cube1-polyline2.jpg
16:57.15 learner it's just an outline of a cube
16:57.16 narnia http://204.238.34.206/cube1-polyline2.jpg
16:57.23 narnia http://204.238.34.206/cube1-polyline3.jpg
16:57.31 narnia http://204.238.34.206/cube1-polyline4.jpg
16:57.36 learner something you might find output from a sketch editor
16:57.54 narnia http://204.238.34.206/cube1.jpg
16:58.16 learner yep
16:58.23 learner i just made the same thing in mged
16:58.59 narnia i agree, but according to way 10303 sees it it is a cube.
16:59.03 learner that is not a cube, though, at least from a modeling perspective
16:59.10 learner it is simply 4 line segments
16:59.21 narnia i totally agree.
16:59.34 learner i recall seeing primitive datatypes, though
16:59.39 narnia but to step that is a cube.
17:00.31 learner what makes you say it's a cube, nothing from the little bit of express you pasted would indicate that
17:01.26 learner there's nothing that even indicates that they're any different from any random polyline I can think up
17:01.35 narnia i agree.
17:02.14 learner well, that would imply that it isn't then.. nothing to the contrary contradicts it
17:02.56 learner dumping out 1000 points on a sphere's surface and 100 polylines that randomly connects them all doesn't make a sphere
17:03.17 learner even non-random connections like this cube
17:04.03 learner presented with what you've shown, there's nothing to import/convert yet
17:04.10 narnia okay, using the above 'cube' example. how should that be mapped to brl-cad?
17:04.48 learner there's no solid geometry yet
17:05.22 learner so there is no mapping yet for at least anything we'd care about
17:05.23 narnia you are saying there is nothing to map?
17:05.54 learner exactly, like I said.. there is nothing that says those four poly lines have _anything_ to do with each other even
17:06.08 learner I can't just assume they do because they're in the in file
17:06.18 learner there could be thousands of polylines like those
17:07.00 narnia well, in one of the .stp files i have been using there are 1000's of polylines like that.
17:08.03 learner i mean add one more #9151 = POLYLINE('PolylineFoo', (#9111, #9112, #9113, #9114)); and it's no longer a cube
17:08.20 narnia agree
17:08.52 learner there has to be another entity that ties the polylines together or there's no information about connectivity yet
17:10.53 learner some editors will let you make non-solid-geometry like a segmented line that has no solid geometry value
17:11.23 learner so I could see a case where something might export that to a file, but there's "nothing there" yet
17:11.48 learner you either warn and go on, abort, or ignore it
17:12.01 learner i'd ignore that particular geometry until something connects them together
17:13.10 learner stash all the polylines in memory, but if they're not used to make something (either a 2d sketch or a 3d surface/object/shape) then dump them
17:13.47 narnia even if the .stp used something like :: GEOMETRIC_CURVE_SET('GeomCurSet1',(#9120,#9130,#9140,#9150));
17:13.49 learner you could technically stash them in the brl-cad db, but not in a way useful to anything but the converter
17:14.31 learner now that's totally different.. that ties the polylines together
17:14.59 narnia which would 'join' the 4 polylines into a labeled curve set. it still does not convey a solid.
17:15.19 learner that there makes a geometric set, which happens to be a closed surface
17:16.15 learner I'd still hope there's another entity that references that entity or it's name so that I know it's supposed to be a cube
17:16.26 narnia i agree it is a closed surface
17:16.36 learner so that it can directly import as a arb8
17:17.32 learner otherwise you'll have to tesellate that surface and bring it in as an nmg (6 unoriented polygons)
17:18.51 narnia what does arb stand for again?
17:22.55 narnia the point i have been attempting to make is that in many cases there is no way of knowing what the 'object' is until the entire .stp file has been parsed and the 'object' is 'assembled' in memory. only then, in many cases, do i know what the 'object' 'looks' like.
17:25.25 learner arb is an arbitrary regular polyhedron with as many as 8 vertices
17:25.57 learner basically all of the polyhedron you can make out of the faces of a cube
17:26.34 learner a cube, a wedge, a 4-faced pyramid, a 5-faced pyramid, etc
17:27.26 learner i don't doubt that you won't be able to do anything until the entire tree is assembled in memory
17:27.32 learner that was what I presumed libexpress actually did
17:27.48 narnia well no.
17:27.53 learner then I can iterate over the geometric types, and convert
17:28.01 narnia libexpress parses the schema.
17:28.30 learner which gives me something that will eat ap203 for example
17:28.34 narnia i.e. 10303-203-aim-long.exp
17:28.42 narnia well no.
17:29.17 learner eh, i just said what you did and you say "well no."? :)
17:29.33 learner that is ap203
17:29.53 learner the express schema for it
17:29.54 narnia hang on brb.
17:35.18 learner I don't think we need to get caught up in the exact semantics, but feel free to enlighten me. from what I gathered at glance, libexpress parses a schema you provide like ap203. that then effectively gives you the means to parse ap203 step files and read the data as entities. you get all the entities into memory (either manually or assisted) and then have to decide what/how to convert based on all of the entity types
17:37.42 learner that doesn't "solve the entire problem", but once all the entity types are read into memory I have enough to convert -- i could iterate over all of the GEOMETRIC_* entity types, for example, and convert accordingly
17:40.02 learner of course, having to recursively dereference subentities all the way down the heirarchy to get the actual data like in the cube example.. I'd end up with a 6-sided polygon that is even detectable (at least that example is, forms a nice closed surface) and import directly as either an arb8 or an nmg
17:43.30 narnia here is the current design:
17:44.34 narnia parse a part21 .stp file. based on the part21 header using the appropriate ap parser parse the data sections of the part21 .stp file
17:45.20 narnia build a linked list of the entity instances found in the data section.
17:45.53 narnia based on the part21 header information validate the data section.
17:48.02 learner okay, so far it matches what I've expected
17:50.09 narnia for ap203 there are several 'presentation' types.
17:50.14 narnia advanced_boundary_representation
17:50.28 narnia <PROTECTED>
17:50.39 narnia <PROTECTED>
17:50.49 narnia <PROTECTED>
17:51.00 narnia <PROTECTED>
17:51.21 learner yes, those are the specifics that polyspin responded to.. they map rather well to the types he mentioned
17:51.54 narnia depending on the 'presentation' type create an in memory model of the 'object'.
17:53.34 learner now in the prior example, how does the GEOMETRIC_CURVE_SET relate to presentation types?
17:54.03 learner is it tagged as one of those or implicitly belongs to one of those or unrelated?
17:58.09 narnia it would either be advanced_brep_shape_representation, edge_based_wireframe_shape_representation, faceted_brep_shape_representation,geometrically_bounded_surface_shape_representation, geometrically_bounded_wireframe_shape_representation, manifold_surface_shape_representation, shell_based_wireframe_shape_representation, or one of the topological_representation_item
17:59.22 learner so implicitly belongs to any of those.. is there a means that it would be tagged as one versus another?
18:01.50 narnia generally, the last entity instance in the .stp file indicates which. example: #9200 = GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION('gbwsr',(#9160),#9190);
18:02.21 narnia #9810=GEOMETRICALLY_BOUNDED_WIREFRAME_SHAPE_REPRESENTATION('gbwsr',(#9800),#9828);
18:02.32 learner ahh, beautiful
18:02.44 learner that's the actual solid geometry
18:02.56 narnia in the above example: 9800 is:
18:03.11 narnia #9800 = GEOMETRIC_CURVE_SET('GeomCurSet1',(#9110,#9111,#9130,#9131,
18:03.11 narnia #9562,#9566,#9571,#9576,#9581,#9153, #9586,#9158,#9159,#9591,#9173,
18:03.11 narnia #9178,#9596,#9185, #9601,#9606,#9194,#9195,#9198,#9611,
18:03.11 narnia #9616,#9211,#9215, #9621,#9227,#9626,#9631,#9238,
18:03.11 narnia #9239,#9242,#9636,#9641, #9258,#9263,#9646,#9272,
18:03.12 narnia #9651,#9656,#9283,#9284,#9287, #9661,#9666,#9303,
18:03.14 narnia #9308,#9671,#9317,#9676, #9681,#9328,#9329,#9332,#9686,#9691,
18:03.16 narnia #9348,#9353,#9696, #9362,#9701,#9706,#9373,#9374,
18:03.18 narnia #9377,#9711,#9716,#9393, #9398,#9721,#9407,#9726,
18:03.20 narnia #9413,#9414,#9450,#9451,#9460,#9461,#9470,#9471,#9480,#9481,#9490,#9491,
18:03.22 narnia #9500,#9501,#9510,#9511,#9520,#9521,#9530,#9531,#9540,#9541,#9550,#9551));
18:03.24 narnia you get the point.
18:03.49 learner actually, i'd say 9800 is not the geometry.. it's just the shape/collection
18:03.50 narnia i have to 'drill' down to figure out what the object looks like.
18:04.10 learner in the absence of 9810, I was presuming the contents
18:04.18 learner same with the cube example
18:04.35 narnia yes
18:04.56 learner but having it tell me that it's one representation versus another makes it a geometric shape as opposed to a collection of values
18:05.40 learner those represenation entities are what the converter would iterate over then
18:05.57 learner recursively looking up their contents for conversion values
18:06.24 learner build up an in-memory representation of the geometry
18:10.00 narnia http://204.238.34.206/star1-p21.txt is a good example. i have been using this one for testing.
18:18.27 narnia hang on i am trying to get a screenshot of the star1.p21 object.
18:21.58 narnia opencascade shows http://204.238.34.206/star1-p21.jpg
18:23.53 narnia how would you suggest that be mapped to brl-cad?
18:29.20 learner looks like it'd convert in as a nurbs surface given all the trimmed curve entities
18:30.00 learner alternatively, you could tesselate the curves and import in as a bot/nmg
18:30.24 learner the latter wouldn't be ideal, but it would work easiest
18:31.10 learner if you could detect that it's basicly one 2d shape, it best converts in as a sketch and an extrusion fully preserving
18:31.55 learner it doesn't look like it is represented that way in the step file, though.. so probably nurbs
18:33.21 learner the wireframe with curve models are going to be the hardest to decide on how to convert them -- probably just as easy to add a new wireframe primitive to brl-cad that fully captures it
18:35.19 learner wireframe modeling provides no benefit over what we already have, it's just a different (less efficient) representation
18:35.35 learner it could be added pretty easily, though
18:36.04 learner it's basically an extension of the sketch primitive into 3D, just a heck of a lot harder to guarantee closure
18:36.27 narnia i find that most of the .stp files i have seen could have been modeled in a more efficient manner. the star1 is a good example.
18:37.05 narnia ap203 does have both a surface of revolution and surface of linear sweep.
18:37.44 narnia the star1 should have been exported as a surface of linear sweep and be done with it.
18:39.09 learner there is motivation to add both a wireframe primitive and/or a spline-based curvature boundary representation
18:39.19 learner but that's somewhere down the line
18:39.55 narnia do you have a better understanding of where i am coming from.
18:40.12 narnia and what i am dealing with?
18:42.44 learner csg would have you model that star as a cylinder with 20 objects (7 cylinders, 13 boxes) subtracted
18:44.48 learner getting back to the original question, though, I haven't seen anything that warrants requiring a compiler .. you can get at the entities, those are pretty much all that's needed
18:45.54 learner easy answer is to just tesselate that surface and bring it in as a bot -- that's pretty much what the iges converter does
18:46.12 learner it's not 100% faithful, but then conversions almost never are
18:46.28 learner for faithful, I'd take the two weeks to add that new primitive
18:48.49 narnia the compiler is still needed at some point in the future. there is far too much glue that has to be written by hand at the moment.
18:50.58 learner what is it doing for you though?
18:52.09 learner you feed it a step file, it crunches it through to some optimal in-memory representation?
18:53.40 learner there is not going to be a faithful representation no matter how you cut it without adding the union of all step-recognized geometry representations to brl-cad
18:54.45 learner so you have to write the translation code.. that could go in a "compiler", i'd probably just call that a library -- or it can simply be the guts to the converter
18:55.29 learner there's not much room for reuse without limiting the step to some subset in memory
19:05.30 narnia i will think on it later. i need to go to farm&fleet and get some parts and gasoline for the lawn mower. my daughter is awake now so she can drive me. over cast day but still warm enough to get somethings done. also need to look at the water softner's timer and see why it stopped working. never an end to upkeep.
19:06.06 learner alrighty, have a good one
19:06.12 narnia always something demanding attention (repair).
19:27.44 *** join/#brlcad CIA-3 (~CIA@flapjack.navi.cx)
21:25.04 *** join/#brlcad CIA-3 (~CIA@flapjack.navi.cx)

Generated by irclog2html.pl by Jeff Waugh - find it at freshmeat.net! Modified by Tim Riker to work with blootbot logs, split per channel, etc.