--- Day changed Sun Apr 05 2009 | ||
kanzure | drazak: Hey. | 01:21 |
---|---|---|
-!- Fair [n=Nofaris@adsl-75-42-49-241.dsl.scrm01.sbcglobal.net] has joined #hplusroadmap | 01:36 | |
-!- Fair [n=Nofaris@adsl-75-42-49-241.dsl.scrm01.sbcglobal.net] has quit [Read error: 104 (Connection reset by peer)] | 01:47 | |
-!- amaruk [n=amaruk@p4FDC00F6.dip0.t-ipconnect.de] has joined #hplusroadmap | 02:31 | |
-!- wrldpc [n=worldpea@pool-173-48-214-204.bstnma.fios.verizon.net] has joined #hplusroadmap | 02:50 | |
-!- willPow3r [n=will@cpe-66-75-6-181.san.res.rr.com] has quit [Remote closed the connection] | 02:52 | |
-!- gene [n=chatzill@wireless-128-62-92-192.public.utexas.edu] has quit ["ChatZilla 0.9.84 [Firefox 3.0.8/2009032609]"] | 03:20 | |
-!- willPow3r [n=will@cpe-66-75-6-181.san.res.rr.com] has joined #hplusroadmap | 03:22 | |
-!- willPow3r [n=will@cpe-66-75-6-181.san.res.rr.com] has quit ["Leaving"] | 03:35 | |
-!- jm|earth [n=jm@p57B9F46C.dip.t-dialin.net] has joined #hplusroadmap | 06:45 | |
-!- fenn [n=fenn@cpe-72-177-52-180.austin.res.rr.com] has joined #hplusroadmap | 07:07 | |
-!- davidnunez [n=davidnun@209-6-203-217.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #hplusroadmap | 07:12 | |
-!- davidnunez [n=davidnun@209-6-203-217.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has left #hplusroadmap [] | 07:17 | |
fenn | kanzure: know who the guy in picture 21 is? http://www.austin360.com/alist/mediahub/media/slideshow/index.jsp?tId=149519 | 08:26 |
fenn | huh. cupcake bot in picture 32, dated march 14 - that was before they went public | 08:27 |
-!- amaruk_ [n=amaruk@p4FDC134F.dip0.t-ipconnect.de] has joined #hplusroadmap | 09:01 | |
-!- amaruk [n=amaruk@p4FDC00F6.dip0.t-ipconnect.de] has quit [Read error: 110 (Connection timed out)] | 09:17 | |
-!- any99109437 [n=someone@75-120-29-33.dyn.centurytel.net] has joined #hplusroadmap | 09:40 | |
-!- katsmeow-afk [n=someone@75-120-32-15.dyn.centurytel.net] has quit [Nick collision from services.] | 09:47 | |
-!- elias` [n=me@unaffiliated/elias/x-342423] has quit [Read error: 145 (Connection timed out)] | 10:21 | |
kanzure | fenn: the guy in picture 21 is with the Austin Robot Group | 10:48 |
kanzure | last time I checked up on the group, he was making some PCBs for some reason or another | 10:48 |
kanzure | erm, he was providing the designs | 10:49 |
fenn | so, you don't know his name? i guess i could just ask on the list | 11:11 |
fenn | i was interested because that's EMC on the computer screen | 11:11 |
fenn | didn't know anyone in town who was using it | 11:12 |
-!- jm|earth [n=jm@p57B9F46C.dip.t-dialin.net] has quit [Read error: 60 (Operation timed out)] | 11:17 | |
kanzure | it might be 'wolf'. but if 'wolf' is the current Leader, that's not him | 11:20 |
kanzure | I'd like to see a "Copy Rights" document where "we the coppiers formally confirm that we indeed have the ability to copy and paste" | 11:56 |
fenn | aroo? | 11:59 |
fenn | it's not vern, i konw that much | 11:59 |
fenn | are you talking about a copyleft license? | 11:59 |
kanzure | it's based off of a play on the words of "Copy Rights"- it's like setting up a "Human Bill of Rights" and then other people laughing at you saying that they will fight against those things you have outlined, but when in reality we know that the "Copy Rights" will win in the end (or how they somewhat already are) | 12:02 |
kanzure | anyway, on to something that actually matters | 12:03 |
kanzure | for some reason I have become interested in 3D CAD shape similarity recognition | 12:03 |
kanzure | I think I was doing that because I was wondering about how to see whether or not a part can fit together with another part | 12:03 |
kanzure | however, Reeb graphs (skeleton charts of a given topology) might not be appropriate for that- except for rapid similarity assessment (it's generated from a mesh, so you can set the resolution of the mesh to whatever you want and get a more detailed Reeb graph (or not)) | 12:03 |
kanzure | um, anyway, there were a few papers that I found that suggested some alternatives- but you were offline when I found them- | 12:04 |
kanzure | http://heybryan.org/books/papers/The%20analysis%20of%20potential%20mating%20trajectories%20and%20grasp%20sites%20-%201993.pdf | 12:04 |
kanzure | The analysis of potential mating trajectories and grasp sites | 12:04 |
kanzure | http://heybryan.org/books/papers/Geometric%20reasoning%20about%20assembly%20tools.pdf Geometric reasoning about assembly tools | 12:04 |
kanzure | in particular they seem to suggest a volume minimization approach. Suppose you have two parts: when they are "connected", certain tolerances on the ports will be mutually satisfied, and there will be zero interference between the two CAD models (i.e., no surfaces going into impossible regions) | 12:05 |
-!- macowell [n=cis-acti@146-115-127-170.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #hplusroadmap | 12:05 | |
-!- cis-action [n=cis-acti@146-115-127-170.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #hplusroadmap | 12:05 | |
kanzure | another idea I had was to look at shipment packaging- like when you get a new computer in a box from a store- you usually have styrofoam packaging that fits the contours of the part that you have bought | 12:06 |
kanzure | or sometimes you have "stuffing" shoved into various ports (I forget what context though)-- and this "stuffing" would be the general shape of the port | 12:06 |
kanzure | which is what needs to be matched in terms of Reeb graphs (or just literal matching for exact shape similarity) | 12:07 |
cis-action | nice looking faq, kanzure | 12:07 |
-!- macowell [n=cis-acti@146-115-127-170.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has left #hplusroadmap [] | 12:08 | |
fenn | most interfaces on super-custom consumer products are similar shape but many modular systems have point or line contact | 12:08 |
kanzure | one of the papers showed an array of different designs- like a simple spider, teddy bear, human figure, snake, ball, etc.,- and then ran the Reeb graph similarity algorithm over the data set and showed how it found that a human was somewhat like a teddy bear, and a light bulb was somewhat like a blah, etc. For rapidly figuring out what to connect to what, maybe that's useful, but .. | 12:08 |
fenn | like t-slot versus a keyboard shell | 12:08 |
kanzure | fenn: how do you classify USB? | 12:08 |
kanzure | a USB female port, I mean | 12:08 |
kanzure | cis-action: thanks | 12:08 |
fenn | but we're generally more interested in modular systems since they have more potential uses | 12:08 |
fenn | you mean the shape? | 12:08 |
kanzure | cis-action: it needs a lot of work. | 12:09 |
kanzure | fenn: I mean whether it is a point contact or line contact or shape contact when a male USB port thingy is connected | 12:09 |
fenn | usb is easy because it's always the same thing; you dont even need to do shape recognition (why would you stuff something that's not a usb connector into a usb port?) | 12:09 |
kanzure | hell if I know :) | 12:09 |
kanzure | but remember the idea here is that you want to check whether two machines, machineA and machineB, can be connected | 12:09 |
kanzure | the first step is parametric resolution: do the "units" "add up" ? | 12:09 |
kanzure | the second step is geometrical. | 12:10 |
kanzure | "does it actually interface properly?" | 12:10 |
fenn | my point is you can bypass the geometrical step for well defined standards like usb | 12:10 |
kanzure | okay, sure | 12:10 |
kanzure | no arguments there | 12:10 |
fenn | unless there's multiple connectors trying to fit together closely | 12:11 |
kanzure | cis-action: I've noticed that nobody replied to that thread I started. | 12:11 |
fenn | so i guess if you have the software you might as well check | 12:11 |
fenn | kanzure: humans are lazy good for nothing bastards | 12:11 |
kanzure | rawr humans rawr | 12:11 |
* kanzure thrashes around | 12:11 | |
fenn | we need an autofaq :) | 12:11 |
kanzure | isn't that a module in autoproject? | 12:11 |
kanzure | erm. apt-cache knows all. /me checks | 12:12 |
fenn | no, it's a short story philip k dick ought to have written | 12:12 |
kanzure | apt-get install rtfm post-faq faqomatic | 12:13 |
kanzure | http://faqomatic.sourceforge.net/fom-serve/cache/1.html | 12:13 |
kanzure | "This site documents the Faq-O-Matic. The Faq-O-Matic is a CGI-based system that automates the process of maintaining a FAQ (or Frequently Asked Questions list). It allows visitors to your FAQ to take part in keeping it up-to-date. A permission system also makes it useful as a help-desk application, bug-tracking database, or documentation system." | 12:13 |
kanzure | looks lame | 12:13 |
fenn | it is | 12:14 |
fenn | i did a survey of faq software for a Paying Job | 12:14 |
kanzure | gasp | 12:14 |
fenn | they all suck, more or less | 12:14 |
kanzure | I'm sure there's crap modules in drupal | 12:14 |
kanzure | there can't be much to it | 12:14 |
kanzure | what new feature could possibly be added to make these things interesting? "add a question, answer a question"- this is a newbie php programmer assignment | 12:15 |
kanzure | anyway | 12:15 |
fenn | woof | 12:15 |
fenn | i wonder if i can actually draw well anymore | 12:16 |
kanzure | there was also a paper that I found about "topology optimization" of interconnects- in particular they were doing de novo designs of interconnections | 12:16 |
fenn | i want to illustrate some of eric's TMP2 | 12:16 |
kanzure | and then various FEM computations to figure out proper contours and such | 12:16 |
kanzure | fenn: that would be nice. | 12:16 |
fenn | i'm conflicted because i know the "perfect" way would be to finish SKDB and make cad models etc etc | 12:17 |
cis-action | "Legal issues: hereby resolved" lol | 12:17 |
kanzure | I'm biased but I think we're close | 12:17 |
fenn | but i realize that is going to take forever/n where n=-log(rand(1) | 12:17 |
fenn | ) | 12:17 |
kanzure | well think about it. once you have the ability to check whether or not two parts are compatible, it kind of falls into place | 12:18 |
fenn | no, we also need a system of parts that fit together | 12:18 |
fenn | it's stupid to make assemblages of garbage | 12:18 |
kanzure | especially with the python libraries for: quantities/units, OCC, dependency management, serialization | 12:18 |
kanzure | huh? | 12:18 |
kanzure | so "command economy or else"? | 12:19 |
kanzure | (in the sense of imposing the same stringent rules that Legos' overlords impose) | 12:19 |
fenn | there are modular building systems but we don't have them modeled yet | 12:19 |
kanzure | I don't get your objection | 12:20 |
fenn | we should use modular reusable systems where appropriate, and optimized-to-death custom expensive disposable stuff where appropriate | 12:20 |
kanzure | basically right now I think we can get to the point where we have automatic instruction generation and compatibility matching and dependency resolution | 12:20 |
kanzure | but I agree that there needs to be reusable interconnects (of course) | 12:20 |
kanzure | but that just seems to be a modeling issue | 12:20 |
kanzure | i.e., sit down and model a USB female connector | 12:20 |
fenn | the thing is, modular building systems are easy to use, but take a lot of work up-front to get going | 12:20 |
fenn | whereas custom single-use have a linear scaling | 12:21 |
kanzure | (or pipe connections- I have a good book that shows the parametric modeling of pipe fittings) | 12:21 |
fenn | modular = geometric scaling with the number "worked" projects | 12:21 |
kanzure | what? | 12:21 |
kanzure | number worked projects? | 12:21 |
fenn | yeah, tested, proven | 12:21 |
fenn | number of projects | 12:21 |
kanzure | oh | 12:21 |
fenn | i guess i dont know how to word this right | 12:21 |
fenn | when building fighter jets, you can't re-use the geometry in other things | 12:22 |
kanzure | fighter jets have some ICs | 12:22 |
kanzure | which use standard pin connections | 12:22 |
fenn | actually it's the other way around | 12:22 |
fenn | you can't re-use geometry in fighter jets | 12:22 |
fenn | so it makes sense to just plow through the custom geometry in a hackish manner | 12:23 |
kanzure | you mean external geometry | 12:23 |
fenn | whereas for a widespread standardized system you'd put more effort into making it generic and reusable | 12:23 |
fenn | actually you know, i'm probably wrong | 12:23 |
fenn | with shape generators we can have both | 12:24 |
* kanzure nods | 12:24 | |
kanzure | have you ever opened up a toy plastic component? | 12:24 |
kanzure | they usually have slots for screws or something | 12:24 |
kanzure | even if they have custom contours | 12:24 |
kanzure | (the overall plastic shell, I mean) | 12:24 |
fenn | yeah a lot of that is auto generated | 12:24 |
fenn | the mold features | 12:24 |
fenn | i forget what the buzzword is | 12:25 |
kanzure | "crap" | 12:25 |
fenn | no, it's pretty much what i want in a cad system | 12:25 |
fenn | something or other technology | 12:25 |
kanzure | me was joking. "plastic crap" and everyone insulting throwaway products. | 12:26 |
fenn | plastic crap is incredibly high tech | 12:26 |
fenn | not my fault that most people don't value inexpensive things | 12:26 |
fenn | now, if it were designed for disassembly that'd be much better | 12:27 |
kanzure | okay, so I think we will want to have "shape similarity search" functionality (i.e., Reeb graph generation) plus specifically tagged regions in a CAD model for standard ports | 12:27 |
fenn | could you explain what a reeb graph is? | 12:27 |
kanzure | this is the same concept of having a 2D map in an RPG where you have a "tile layer" and an "events layer"- the "events layer" saying "waah waah I'm pipe fitting A" | 12:27 |
kanzure | a Reeb graph is the result of taking the mesh of a CAD model and then for each vertex calculating the sum of the geodesic distances from that point to all other vertices | 12:27 |
fenn | sure, interface specification .. is that "metadata"? | 12:28 |
kanzure | then, you classify each of those vertices into different sets | 12:28 |
kanzure | (yes, somewhat) | 12:28 |
fenn | vertex? ew | 12:28 |
kanzure | when you have a triangle that has a vertex in one region and another in another region, you split the triangle | 12:28 |
kanzure | until they are in separate regions for geodesic distances or whatever | 12:28 |
kanzure | anywho, then you convert each "edge" to a node in the Reeb graph, and each vertex is an arc, or something | 12:28 |
fenn | how do you differentiate into regions? | 12:29 |
* kanzure strains his brain from reading the papers- it isn't stated the most elegantly | 12:29 | |
kanzure | they didn't use a clustering algorithm... soo. let me think. | 12:29 |
fenn | obviously a sphere will always have one region | 12:29 |
kanzure | correct | 12:29 |
fenn | what about a cylinder? | 12:30 |
kanzure | any of the papers here: http://heybryan.org/books/papers/?C=M;O=D that list "Reeb" | 12:30 |
kanzure | meep, let me check first on the regionalization issue | 12:30 |
kanzure | try this one in particular: http://heybryan.org/books/papers/Scale-Space%20Representations%20and%20their%20Applications%20to%203D%20Matching%20of%20Solid%20Models.pdf (just uploaded) | 12:32 |
fenn | i wonder if anyone actually uses these automated assembly trajectory generators in practice | 12:33 |
kanzure | oh wait, I think what they do is they have some constant 'p' | 12:34 |
kanzure | and the values for those regions (generated by the geodesic distance computation) are considered to be in the same set/region if they are within p distance of each other | 12:34 |
kanzure | and if not, I just came up with a new method to do it :p | 12:35 |
fenn | that's just an abstract | 12:35 |
kanzure | the link? | 12:35 |
fenn | yup | 12:35 |
kanzure | http://heybryan.org/books/papers/Scale-space%20representation%20of%203D%20models%20and%20topological%20matching%20-%20Dmitriy%20Bespalov.pdf | 12:35 |
kanzure | try that one? | 12:35 |
fenn | anyway, i question the premise of converting an ideal (implicit geometry) cad model into some mesh thing, just to find features | 12:35 |
fenn | would make more sense to convert any mesh data into ideal primitives | 12:36 |
fenn | minimize the amount of information | 12:36 |
-!- amaruk_ [n=amaruk@p4FDC134F.dip0.t-ipconnect.de] has quit ["ChatZilla 0.9.84 [Firefox 3.0.8/2009032608]"] | 12:37 | |
kanzure | what? | 12:37 |
fenn | so then you just have to compare cylinder 1 to cylinder 2, rather than comparing i for i in point cloud 1 to j for j in point cloud 2 | 12:37 |
fenn | or am i misunderstanding something? | 12:37 |
kanzure | but what if it's some weird contour thingy? | 12:37 |
fenn | what sort of weird contour | 12:37 |
fenn | like a fractal coastline? | 12:37 |
kanzure | something that is not modeled by primitives (but of course, it could be) | 12:37 |
fenn | approximate to the level of elasticity of the part material | 12:38 |
kanzure | suppose you have a box with one surface that has an arbitrary geometry, lots of weird things going on | 12:38 |
kanzure | holes, spikes, pyramids, .. | 12:38 |
fenn | then model the geometry | 12:38 |
kanzure | but not defined like that | 12:38 |
kanzure | (just a point cloud) | 12:38 |
fenn | fuck point clouds | 12:38 |
kanzure | I guess that's not CAD | 12:39 |
fenn | if it really matters, you need to get higher resolution sampling of the point cloud | 12:39 |
kanzure | so what? | 12:39 |
kanzure | I mean, if you do get that high resolution sampling of the point cloud, then what? | 12:39 |
fenn | and then you can model them as implicit primitives | 12:39 |
kanzure | and how does your method of matching cylinders to cylinders help there? | 12:39 |
kanzure | blah. | 12:39 |
fenn | or with some kind of generative function like a noise function or fractal geometry | 12:39 |
-!- willPow3r [n=will@cpe-66-75-6-181.san.res.rr.com] has joined #hplusroadmap | 12:39 | |
kanzure | (btw, that paper is the wrong one- sorry) | 12:40 |
kanzure | http://heybryan.org/books/papers/Reeb%20graph%20based%20shape%20retrieval%20for%20CAD.pdf | 12:40 |
kanzure | http://heybryan.org/books/papers/Augmented%20Reeb%20graphs%20for%20content-based%20retrieval%20of%203D%20mesh%20models%20-%202004.pdf | 12:40 |
kanzure | those two are about Reeb graphs (at least) | 12:40 |
fenn | you have to make n^2 comparison functions for n primitives | 12:40 |
kanzure | also, I don't think it's based on meshing. I think they were using BRep contours | 12:40 |
fenn | but in practice, most primitives can be modeled by nurbs curves | 12:40 |
fenn | i dont know if it's a simple thing to do collision/interference detection between nurbs curves | 12:41 |
fenn | but to start with we can just do cylinder/cylinder, cylinder/sphere, cylinder/cube etc | 12:41 |
fenn | easier than grokking nurbs math at least :) | 12:41 |
fenn | or if you find ShapeMatch or whatever the OCC class was called | 12:42 |
kanzure | ShapePlacement (apparently) | 12:42 |
fenn | ya | 12:42 |
fenn | my concern with farming it off to some black box is i dont know if it's correct mathematically | 12:43 |
fenn | like, will it take into account tolerances? | 12:43 |
fenn | or nonlinear constraints? | 12:44 |
kanzure | that's one thing I've thought about, clear the slate- new explanation | 12:44 |
fenn | it just seems like geometry fit is so central that we should build it from the ground up | 12:44 |
kanzure | suppose you have a peg in modelA and a slot/hole in a flat surface in modelB | 12:44 |
kanzure | at pegA you have defined the surface to have some tag of a constraint | 12:45 |
kanzure | and the same in the slot in modelB, some tolerance definition (or something) | 12:45 |
kanzure | when you geometrically match up surfaces, anything in contact must satisfy each other's constraints | 12:45 |
kanzure | so "tolerance to tolerance, surface to surface" | 12:45 |
kanzure | hm? | 12:45 |
fenn | no, you can put a precise bolt in a sloppy hole | 12:45 |
kanzure | then the tolerances should represent that, shouldn't they? | 12:46 |
fenn | and the other way around, if the tolerances work out for you | 12:46 |
fenn | uh.. yes? | 12:46 |
kanzure | so then why did you say no? | 12:47 |
fenn | i thought you meant "precise bolt must go in precise hole" | 12:48 |
fenn | or something like that | 12:48 |
kanzure | oh, okay. but yeah. | 12:48 |
kanzure | "tolerance matching" where 'tolerances' are more like conditional expressions, or something | 12:48 |
fenn | tolerance is just another form of a constraint | 12:49 |
fenn | the whole ideal geometry thing is mathematical masturbation, really | 12:49 |
fenn | odd how it turns out | 12:49 |
kanzure | huh? ideal geometry fits, you mean? | 12:49 |
fenn | the more sophisticated approach (system of constraints) is the more practical | 12:49 |
kanzure | I don't see how it wouldn't be a system of constraints | 12:50 |
fenn | so like "1 inch cylinder" doesn't exist in reality | 12:50 |
kanzure | partA has a list of constraints, part B has a list of constraints, when they are fit together (and if they match geometrically), the constraints are checked and processed accordingly | 12:50 |
fenn | are you familiar with the "six sigma" concept? | 12:50 |
kanzure | I've only heard of it. some way to manage ISO 9000 organizations or something | 12:51 |
kanzure | http://en.wikipedia.org/wiki/Six_Sigma | 12:51 |
fenn | anyway, the idea is that you need to have six standard deviations between the tolerances, in order to ignore all that messy stuff like quality control | 12:51 |
kanzure | http://en.wikipedia.org/wiki/Process_capability | 12:52 |
fenn | it's supposed to make things cheaper by not requiring inspection | 12:52 |
kanzure | oh, sigma as in 'standard deviation' | 12:52 |
kanzure | huh | 12:52 |
fenn | i don't think it's the best way to make an automated system | 12:53 |
fenn | mathematical modeling is cheaper than super precise process control | 12:53 |
fenn | so, what i'm getting at is that we need to predict the process errors and account for their likelihood in fit checks | 12:54 |
fenn | so you can say "bolt A has a 99% chance of fitting in hole B" | 12:54 |
kanzure | ok. but how do you find "hole B" | 12:54 |
fenn | what do you mean find? | 12:55 |
kanzure | I select two models from the db. modelA and modelB. do they fit? | 12:55 |
fenn | fit how? | 12:55 |
fenn | i'm not interested in random thrashing around | 12:55 |
kanzure | does modelA (output) satisfy the input requirements of modelB? | 12:55 |
kanzure | (input requirements-> parametric units stuff) but also geometrical fit | 12:56 |
fenn | i want to specify a goal and have the system find a solution, that means it wants to connect a and b in a certain way (one interface to another specific interface) | 12:56 |
fenn | well, how we go about it depends on how much metadata is present | 12:56 |
kanzure | right | 12:56 |
fenn | if it's just an STL you have to do feature recognition etc | 12:56 |
fenn | if it's just features you have to do fit tests | 12:56 |
fenn | if it's named standards, you just do a logical comparison | 12:57 |
fenn | (somewhere in there you have standards definitions in terms of features) | 12:57 |
kanzure | btw, I do think we can include the checks on standard deviation, but that seems simple to me in comparison to the problem of accidentally having a situation where you have a bolt laying on part b's surface and wondering about tolerances when you really shouldn't be doing that (I guess if we implemented a multi-resolution fit algorithm where with a certain low resolution a screw on a flat surface is OK, that might happen, but I don't know if we're going to implement a variable-resolution fit checking algorithm like that) | 12:57 |
fenn | resolution? | 12:58 |
fenn | you're talking about polygon mesh reduction right? | 12:58 |
kanzure | yep, if you squint hard enough, you can make any tetris object look like it fits with any other tetris object | 12:59 |
fenn | i'm not talking about meshes | 12:59 |
kanzure | neither am I.. | 12:59 |
fenn | i dont think meshes are the way to go at all | 12:59 |
kanzure | ok, let's go about this a different way | 13:00 |
kanzure | there are a few different scenarios that we can imagine | 13:00 |
kanzure | the most easy scenario is where a part of the CAD model is tagged or whatever as a connection port thingy, and all is good and we can later do tolerance matching and conditional expressions between the two connection fit surfaces or points or lines (etc.) | 13:00 |
kanzure | another scenario that I can imagine though is where we don't have a standardized interface in use, and we don't know if two models (selected at random) are going to be able to geometrically connect | 13:01 |
kanzure | so suppose we didn't know that a peg goes into a hole | 13:01 |
fenn | but suppose you have lots of holes on the model - which hole do you look at? | 13:01 |
fenn | there's no way to know | 13:01 |
fenn | the only thing to do is try all of them and run the combined system in some super-duper-simulation | 13:02 |
fenn | each combined system* | 13:02 |
kanzure | well, actually, I think that's not true | 13:03 |
kanzure | suppose you have a metal plate with lots of holes | 13:03 |
kanzure | maybe these holes go to something in a giant machine, and out squirts different chemicals from each one (or something) | 13:03 |
kanzure | now, if you had partA that wants water, and only one hole in partB (with the many different holes) that squirts out water | 13:03 |
kanzure | then you know that you should do your geometrical fit checking on those two regions | 13:03 |
kanzure | no? | 13:04 |
fenn | how do you know which order to do the testing operations? | 13:04 |
kanzure | hm? like what? | 13:04 |
fenn | you can test all of the holes for geometry first, or test all of the holes for chemistry first | 13:04 |
kanzure | well you know you should do chemistry first since that information is already specified in both models | 13:04 |
kanzure | let's not do chemistry, let's say constraints | 13:04 |
kanzure | because that's really what we're talking about- which is where the 'pq' library comes in (units) | 13:04 |
fenn | chemistry is a constraint | 13:05 |
kanzure | ok ok ok | 13:05 |
fenn | pq needs to be able to describe other non-fundamental-unit constraints | 13:05 |
fenn | like, protocols n stuff | 13:05 |
kanzure | it has some nice "multiply units together" feature thingy | 13:05 |
kanzure | and that multiplication operation is conserved for as long as that variable/object lives | 13:06 |
fenn | so you can get the originally specified units? | 13:06 |
* kanzure nods (IIRC) | 13:06 | |
fenn | i remember the m^2/m^3 | 13:06 |
fenn | ok so all this reeb graph stuff is dealing with meshes, right? | 13:07 |
kanzure | maybe.. I think I've seen a paper that was doing it just with BRep curves or something | 13:07 |
kanzure | blender implements reeb graphs for generating skeletons of an object | 13:07 |
kanzure | (in src/reeb.c) | 13:07 |
fenn | i guess i dont even understand what regli is trying to do | 13:08 |
fenn | who cares about part similarity | 13:08 |
kanzure | :p yeah.. | 13:08 |
kanzure | well here's what I was thinking | 13:08 |
kanzure | you'd put the model in a block and subtract the model | 13:08 |
kanzure | then generate the reeb graph for *that* | 13:08 |
kanzure | and then you can do similarity matching between that and other things you might want to shove into that first model.. | 13:08 |
fenn | ok | 13:09 |
kanzure | (that first model would have to have a bounding box, or something) | 13:09 |
fenn | well, i'll think about making sure stuff actually works; you can think about search algorithms :) | 13:10 |
kanzure | I think that the tolerances stuff can easily be implemented though | 13:11 |
fenn | it's like units all over again | 13:11 |
kanzure | say that either through the search algorithm or through reduction you know that two parts fit together in xyz way | 13:11 |
fenn | another number attached to every measurement.. blarg | 13:11 |
kanzure | then you have a list of constraints for each of those two parts | 13:11 |
fenn | at least pq includes support for tolerance | 13:11 |
kanzure | so you evaluate them to make sure they match, what's the problem with that? | 13:11 |
fenn | no problem with that | 13:12 |
kanzure | hrm | 13:12 |
kanzure | I think some of the reeb graph data should be stored in metadata for simple shape information, but not too much | 13:12 |
kanzure | the full model shouldn't belong in metadata | 13:13 |
fenn | "constraints" is just so generic that there's a lot of detail to be written out | 13:13 |
kanzure | tolerances and constraints perhaps. | 13:13 |
kanzure | what do you mean? | 13:13 |
fenn | i mean that's where the work is | 13:13 |
kanzure | show me. | 13:13 |
fenn | saying "satisfy all constraints" is the easy part | 13:13 |
kanzure | what type of constraints are you imagining? | 13:13 |
fenn | geometry, protocol, physical quantities | 13:14 |
fenn | chemistry and ergonomics | 13:14 |
kanzure | ergonomics? | 13:14 |
kanzure | blah. how do you figure that? | 13:14 |
fenn | (ergonomics is kinematics + some kind of pressure simulation) | 13:14 |
fenn | we'll have to make a model of human kinematics | 13:15 |
kanzure | oh, I thought ergonomics was more like yoga+"what the customer feels like at the moment" | 13:15 |
* kanzure points out his previous work on the tendon and muscle movements of the human hand | 13:15 | |
fenn | style? | 13:15 |
kanzure | (or at least the writeup I did on that subject) | 13:15 |
-!- willPow3r [n=will@cpe-66-75-6-181.san.res.rr.com] has quit [Remote closed the connection] | 13:15 | |
kanzure | yes, 'style' crap | 13:15 |
fenn | style matching could be useful | 13:15 |
kanzure | 'chinese zen' incompatible with 'postmodernism' | 13:15 |
fenn | don't discard the "what's it all for" aspect of engineering | 13:16 |
fenn | by some analyses, the end-product of all civilization is poop | 13:16 |
fenn | or waste heat | 13:16 |
kanzure | so I don't know if I like the idea of shoving as many evaluation functions as you like into the constraints/tolerances category | 13:16 |
kanzure | basically whoever packages up modelA makes up (or chooses) a constraint to apply to a certain part of the part | 13:17 |
fenn | tolerance is just a geometrical constraint; constraint is the more generic term | 13:17 |
kanzure | and then must provide an evaluation engine for whether or not that constraint is satisfied | 13:17 |
kanzure | what if two SKDB packages disagree on the evaluation engine for a certain constraint? | 13:17 |
kanzure | modelA uses evaluation engine #1, modelB uses evaluation engine #2 | 13:18 |
kanzure | according to #1, modelB is satsified, but according to #2, the constraints are not | 13:18 |
fenn | you bring this argument up every time | 13:18 |
kanzure | oh really? | 13:18 |
fenn | 'how to not put a gun to everyone's head' | 13:18 |
fenn | there's no answer | 13:18 |
fenn | people are going to have to learn how to cooperate | 13:18 |
kanzure | if it's just an issue of mathematics and whether or not values fall within certain numerical bounds, that's a different story | 13:19 |
kanzure | and an easier one | 13:19 |
-!- willPow3r [n=will@cpe-66-75-6-181.san.res.rr.com] has joined #hplusroadmap | 13:19 | |
fenn | it always boils down to mathematics | 13:19 |
fenn | mathematics + arbitrary choices + different notation syntax | 13:19 |
kanzure | ok, maybe we'll have a constraint-maker-wizard thingy to help flush out the set of constraints for different regions of a model in a SKDB package? | 13:20 |
kanzure | I need to go wait around for a bus. | 13:20 |
fenn | enjoy the weather | 13:20 |
kanzure | and then to go sign contracts to get an apartment I can't afford | 13:21 |
fenn | why are you doing that? | 13:21 |
kanzure | mom's paying | 13:22 |
fenn | oh now i remembered the shape generator stuff is called "synchronous technology" | 13:22 |
fenn | anyway their explanation sucks so dont bother reading about it | 13:23 |
fenn | cross out any parts of the lease you dont like | 13:26 |
drazak | kanzure: hey | 13:27 |
drazak | kanzure: did you see the post on making a lab on a chip for seperating proteins and rna? | 13:27 |
fenn | i saw it.. something about nano knives | 13:27 |
drazak | kanzure: IMO you could do it with a charge filter, RNA ought to have a charge, unless I'm mistaken | 13:28 |
drazak | fenn: bah, just introduce some chaps into it | 13:28 |
fenn | chaps? | 13:28 |
drazak | fenn: unless he's looking for a reagentless solutions | 13:28 |
drazak | it's a weak zwitterion detergent | 13:28 |
fenn | what's a chap? | 13:28 |
drazak | It'll lyse the cells but ought to leave RNA and proteins ok | 13:29 |
drazak | You ought to be able to polymerise the chaps with your substrate, giving you a sort of 'nanoknife' | 13:30 |
drazak | I've actually been thinking about that a lot | 13:30 |
drazak | anyway, afk, up to the darkroom | 13:30 |
willPow3r | http://www.jneuroengrehab.com/content/6/1/7 | 14:05 |
fenn | i just realized i could buy a bike on ebay | 16:02 |
bkero | Craigslist usually gives me better results | 16:02 |
fenn | best i can find is a magenta 1980's raleigh for $230, 45 minutes away | 16:06 |
fenn | for that much i can get this on ebay http://cgi.ebay.com/NEW-2010-ALUMINUM-ROAD-RACING-BIKE-SHIMANO-WARRANTY_W0QQitemZ150335490106QQ | 16:06 |
fenn | used bikes are really in demand here for some reason | 16:06 |
fenn | huh. that guy is in austin | 16:13 |
fenn | talk about a coincidence | 16:14 |
* fenn checks under the computer for gremlins | 16:14 | |
-!- cis-action [n=cis-acti@146-115-127-170.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has quit [] | 16:29 | |
ybit | kanzure: what are the files in 3000FCGs_complete? | 16:29 |
ybit | what program uses them iow | 16:37 |
ybit | or made the output files | 16:37 |
fenn | it's for graphsynth | 16:42 |
fenn | .NET monstrosity | 16:42 |
fenn | well, maybe "monstrosity" is a bit harsh.. but it's no `configure && make` | 16:43 |
ybit | ah | 16:43 |
ybit | where's the triangle software? | 16:43 |
fenn | dunno what that is | 16:43 |
ybit | [Wed Apr 1 2009] [08:58:27] <kanzure__> before I forget, can somebody yell at me if I don'ttype up some stuff on my server about using elmerfem+gmsh+freefempp+gerris+netgen+tetgen+triangle, and another thingy about R or whatever it is that I'm doing with it | 16:44 |
ybit | there's your reminder kanzure :P | 16:44 |
ybit | i've got everything else | 16:44 |
fenn | probably gnu triangulation library | 16:44 |
fenn | gts.sf.net | 16:45 |
-!- cis-action [n=cis-acti@c-76-118-182-6.hsd1.ma.comcast.net] has joined #hplusroadmap | 16:56 | |
kanzure | heh | 17:03 |
kanzure | 'triangle' is a program called 'triangle', it's not gts.sf.net | 17:03 |
kanzure | ybit: 3000CFGs_complete is graphsynth .xml, .dsm, .txt and a few other things. Not included are the original seed graphs for the 3 different problems that were being solved. | 17:04 |
kanzure | the .xml files are possible solutions to the 3 problems. The .dsm files represent a 138-by-138 grid where each digit represents how many connections exist in the design between thingy[i][j] | 17:05 |
kanzure | the stuff in new/ represents a 1000x1000 matrix of the distances between all of the different solution candidates | 17:05 |
kanzure | and in new2/ there is the same data but with a sort done to capture the 50 most different, and also show it as it ran through gnuplot plus those resulting png files. | 17:05 |
kanzure | drazak: I was the one who wrote the post on separating proteins and rna, I think. | 17:06 |
kanzure | so I'm pretty sure I saw it :) | 17:06 |
drazak | yeah | 17:06 |
drazak | Dunno | 17:06 |
drazak | I was just thinking about it | 17:06 |
ybit | kanzure: you have a link to the triangle program? | 17:09 |
kanzure | one moment | 17:10 |
kanzure | http://www.cs.cmu.edu/~quake/triangle.html | 17:10 |
kanzure | "Delaunay/Voronosi triangulator" | 17:10 |
kanzure | hah, when I searched my bookmarks for that, I found it in my CFD folder but also under superkuh's engineering folder | 17:11 |
kanzure | yay for going in circles | 17:11 |
kanzure | fenn: please rant about an appropriate 'constraint expression evaluation' module. | 17:13 |
kanzure | fenn: also, I was also talking about something when you told me that the first link I gave was only an abstract, but you never went back to reply to my messages (re: some value of "p") | 17:14 |
* fenn scrolls back | 17:14 | |
kanzure | is it still called scrolling if you use the page-up/down buttons? | 17:14 |
drazak | yes | 17:15 |
kanzure | oh. | 17:15 |
fenn | i don't think just setting a distance parameter will magically find the features | 17:18 |
fenn | you have to manually set that each time | 17:18 |
kanzure | set what? | 17:18 |
fenn | the distance parameter | 17:18 |
kanzure | no, that thing about "some value p" was more about a way to threshold the mu function (which solves the geodesic distances from that vertex/pt to all other points, total sum of) | 17:19 |
-!- cis-action [n=cis-acti@c-76-118-182-6.hsd1.ma.comcast.net] has quit [] | 17:20 | |
fenn | yeah i know | 17:21 |
kanzure | that's not supposed to find the features. | 17:23 |
kanzure | it's after that you then consider the boundaries between the thresholded regions | 17:23 |
kanzure | and then you split that up into the meeb graph | 17:24 |
kanzure | reeb | 17:24 |
kanzure | meeb, heh. | 17:24 |
-!- IrcNetMgmt [n=duzt@dsl093-216-054.aus1.dsl.speakeasy.net] has joined #hplusroadmap | 17:24 | |
-!- IrcNetMgmt is now known as anthonyl | 17:25 | |
kanzure | you split the boundaries into the nodes in the meeb graph. | 17:35 |
kanzure | http://www-evasion.imag.fr/Publications/2007/AHLD07/ harmonic skeleton generation in blender | 17:42 |
kanzure | http://heybryan.org/books/papers/An%20algorithm%20for%203D%20shape%20matching%20using%20spherical%20sectioning.pdf | 18:06 |
kanzure | spherical histograms? any thoughts? | 18:06 |
-!- gene [n=chatzill@wireless-128-62-92-192.public.utexas.edu] has joined #hplusroadmap | 18:09 | |
-!- willPow3r [n=will@cpe-66-75-6-181.san.res.rr.com] has quit [Remote closed the connection] | 18:20 | |
fenn | i dont get it | 18:41 |
-!- duzt [n=duzt@dsl093-216-054.aus1.dsl.speakeasy.net] has joined #hplusroadmap | 18:44 | |
-!- willPow3r [n=will@cpe-66-75-6-181.san.res.rr.com] has joined #hplusroadmap | 18:49 | |
-!- anthonyl [n=duzt@dsl093-216-054.aus1.dsl.speakeasy.net] has quit [Connection timed out] | 19:02 | |
-!- gene [n=chatzill@wireless-128-62-92-192.public.utexas.edu] has quit ["ChatZilla 0.9.84 [Firefox 3.0.8/2009032609]"] | 19:07 | |
-!- any99109437 is now known as katsmeow | 19:41 | |
kanzure | it's a way of drawing histograms to represent vertices or something | 19:52 |
-!- katsmeow is now known as katsmeow-afk | 20:19 | |
-!- willPow3r [n=will@cpe-66-75-6-181.san.res.rr.com] has quit [Remote closed the connection] | 20:45 | |
kanzure | http://heybryan.org/books/papers/Web-based%20modular%20interface%20geometries%20with%20constraints%20in%20assembly%20models%20-%20products%20interface%20geometries%20table.pdf | 20:47 |
kanzure | I wonder what that paper is going on about | 20:47 |
kanzure | I'm not sure if it's insightful or just bad english | 20:47 |
-!- cis-action [n=cis-acti@146-115-127-170.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com] has joined #hplusroadmap | 20:57 | |
-!- duzt [n=duzt@dsl093-216-054.aus1.dsl.speakeasy.net] has quit [Read error: 110 (Connection timed out)] | 21:05 | |
kanzure | Can anyone find "An assembly recognition algorithm for automatic tolerancing" ? | 21:25 |
kanzure | fenn: did you badmouth this before? http://heybryan.org/books/papers/Port-compatibility%20and%20connectability%20based%20assembly%20design.pdf | 23:01 |
kanzure | just wondering, because I can't recall what's wrong with it. | 23:01 |
-!- gene [n=chatzill@wireless-128-62-92-192.public.utexas.edu] has joined #hplusroadmap | 23:06 |
Generated by irclog2html.py 2.15.0.dev0 by Marius Gedminas - find it at mg.pov.lt!