The LLM models are something. To me they look like knowledge holograms. Or maybe just a huge pattern inference machine.
And they are ODD. Like a fragment of smarts. Dangerous and for sure not something we can rely on.
6,513 karma · joined September 5, 2014
Main focus: Embedded, small scale systems
I have done a lot with CAD, PLM, and enterprise level engineering software, and have more than a passing interest in UX.
Additive Manufacturing is cool, and what I do now. Polymer printing and soon DED metal!
doug.dingus@gmail.com
The LLM models are something. To me they look like knowledge holograms. Or maybe just a huge pattern inference machine.
And they are ODD. Like a fragment of smarts. Dangerous and for sure not something we can rely on.
I don't evaluate the nature of the gain before deciding whether AI will be worth it. Fact is I do not know prior to some use.
I suppose the better question, given the above is how I decide to try it.
I wait until I have both time and a purpose to gamble with. When both become available, I will make an ernest attempt. I may make several.
The process is not a whole lot different than it has always been for me and new tools and tech. One simply has to give it a go to understand value.
Use cases are in other comment.
Mars. That track is so great! All of them are, but that one shows off so many great synth techniques. One passage is noise that ramps. The spectral distribution changes, from emphasis on low notes to emphasis on high notes while the overall energy remains close to the same.
I remember it because I have never heard anyone else do that in a composition.
Recommendation seconded!
Many things appear to work at first, right. Most of the time, using AI seems great, until one spends a lot of time working out lots of important details. A bunch of prompts later...
Yeah.
Sometimes it is nice to begin with something, even if it is wrong. AI is great for that.
Funny how often it is we can write in response to errors! Out it comes! Like that fire hose trope.
In that vein:
Proposal templates, and other basic create tasks can start with a boost.
Oh, a surprising one was distilling complex ideas into simple, direct language!
And for code, I like getting a fragment, function, whatever all populated, ready for me to just start working with.
Bonus for languages I want to learn more about, or just learn. There are traps here. You have to run it with that in mind.
Trust, but verify.
What did not work:
Really counting on the things. And like most everyone I suppose, I will easily say I know better. Really, I do, but... [Insert in here.]
Filtering of various kinds.
I may add to this later.
I do limit my use today, compared to a few months ago.
Most of that is having successfully mapped out use cases that make sense, I find myself doing less seeking. Where it is a net gain, go; otherwise, why bother?
Meta: testing in progress
Use current CAD and a script to output a LOT of cases to be used for training data.
Parasolid is happy to work to whatever precision it is asked to use. The system driving it is where the choices are.
Sloppy tolerances really equal dynamic tolerance based on model geometry size.
Really, there have been a few different ways to approach this:
Some systems use a well defined tolerance and that results in a bounded model space.
Others do not put a boundary on the model space, but then the tolerance varies by size.
And the third way is to just set a loose tolerance on difficult blends and expect the troubles to come along for the ride. User does that when a blend fails.
With fillets specifically, a relaxed tolerance allows many of them to complete, but there can be downstream problems.
Gaps and slivers can appear in models output to STEP, STL and so forth.
Don't be sorry. Tons of users call it UG. Yeah, I had an airplane model to play with and built a fair number of surfaces.
It works well. Space X has a nice 3D setup.
Sidebar: My home plasma TV is a 3D capable one. Back in the 90's I used to use 3D to visualize models on SGI machines.
Fast forward to the mid 10's and I can hook up a laptop with nVidia GPU and run NX and the whole interface and model works in 3D!
Amazing. I love it, especially with a space controller.
There are maybe a handful who do that on even a very low basis.
That has always bothered me. Part of me knows some people have trouble and that another part knows the development gets even more expensive, but still your point is a solid one.
Humor mode = 1 (you will see why)
LOL, Thanks for that! Really. CAD is kind of obscure meaning it is rare to have this chat. Was nice.
I find it an equal honor to talk with others very highly skilled.
Bromance Curious Mode = 0
Cheers!
Today, a solid consists of the following entities that follow the golden rule; namely, each edge is shared by two and only two surfaces: [0]
Solid Cubish
6 faces bounded by 4 edges each, having endpoints, etc...
Each edge is a curve [1] that lies on the surface so as to bound it to a precision small enough that there are no gaps between the curves and the surface edges they define.
Various bindings and or other data elements:
Centroid
Vertices, each attached to three edge endpoints considered equal given a system tolerance.
...etc.
[0] Where an edge is alone, the resulting non manifold has a hole in it somewhere, and or is a surface body where a large number of edges stand alone.
Where an edge is shared by more than two others, that is a self-intersecting body.
Neither case is actually manufacturable. One can understand a lot just from edge checks too.
All edges alone, or unique = face.
No edges present = closed surface must be sphere, torus or elliptical solid body
...etc.
Also, in wireframe NURBS curve land, the most useful thing about the decision to represent all the analytic entities (line, arc, conic, hyp, parabola, circle, elipse...) as NURBS was to be able to reason programmatically with far fewer pain in the ass cases!
Eg: a trim function can be written to process any NURBS arguments. One that has to face lines, circles and friends ends up either converting to NURBS or handling trim line to circle, arc to conic, NURBS to ... you get the idea. Too messy.
Generating that data won't be cheap, but it can be distributed! If we had a few thousand users run scripts on their systems, we could get a large problem-solution data corpus.
[1] In modern CAD, everything is a curve. Lines are NURBS curves having only two control points. Earlier CAD actually used all the entity types directly, not just deriving them on the fly from the NURBS.
Arcs are curves with 3 specifically placed control points.
Hyperbola, Conic, Parabola, are the next order up, 4 control points, and above that is the Bspine. 5th degree, and above curves.
Why can't we tokenize those things and train some LLM like thing? I am going to ask my data science friends about this. Has me thinking!
At the core, it is all NURBS curves and surfaces. Those two can represent all that we need.
The relations are all just text, names of entities and how they are related.
Even the NURBS surfaces have text forms. At one point, some systems would let a person just define one by typing the U, V points / matrix values in.
Eg:
Plane [point 1, 2, 3...]
That data is where both the problems and answers are, in this training sense anyway.
How can it not?
What I put before was basically the idea of generating a case, say conic section and cube/rectangle.
Generate common volume case 1 in modern kernel and output text representation of it. That exists today.
Then generate ideal edge blend solution 1, and minimum radius case 1, maximum radius case 1.
Output those and we have in text:
Problem case 1 of problem space 1.txt
Ideal, or common edge blend solution.txt
Max radii case 1.txt
Minimum radii case1.txt
Then proceed to generate a bazillion of these, until the problem space of a conic section intersecting a rectangular body is represented fully enough for AI models to operate and even potentially demonstrate emergent behavior like they do on text and code today.
Edit: basically an LLM like thing becomes the kernel and the CAD system is how one talks to it. Not sure that came through before. Writing it out just in case.
And to be fair, I am still learning in this area. If what I put here is a no way, it would be most helpful to tell me or link me to why not. Thanks in advance.
Edit: Ahh, I see. Lol, read in the cad code and have an AI rewrite it? Maybe, but doubtful.
A bounty on... um yeah. 'Nuff said.
And to be clear, we javelin the word infringement precisely because it is not theft.
In addition to the deprived revenue, piracy also improves on the general relevance the author has or may have in the public sphere. Essentially, one of the side effects of piracy is basically advertising.
Doctorow was one of the early ones to bring this aspect of it up.
CAD is close to my heart. I jumped in during the 80's as a high schooler running on an Apple 2! Even back then, limited 8 bit CAD could do a lot. And it was one application that helped me see the future! Product design was gonna change as manufacturing already was and the people who knew CAD were gonna be there.
Now here we are, and the CAD companies own design and manufacturing.
I had a flash of an idea this morning reading your comment:
Perhaps we could license Parasolid for a year, or maybe we try what tomfoolery I am about to put here with Open Cascade.
Maybe an AI model of some kind can get us a leg up?
Going back to the fillet example I put here earlier, I want to share a bit of backstory...
I was at SDRC, who had built out a fantastic concurrent engineering and analysis system called I-DEAS. I loved that CAD software and was an applications engineer and trainer on it. Taught many groups of engineers how CAD works, and I got to do that on a system that had collaboration built in from the beginning! Fully revision controlled concurrent engineering and analysis. Fun stuff.
But it died.
My years of skills gone. Kernel could not keep up. So I moved all that onto what is NX today and many of the best parts of the software I loved ended up being implemented because some mergers resulted in the same smart people being product managers! I am particularly redeemed!
And therein lies the lesson of the geometry kernel. You build your true skill on Parasolid systems or risk seeing them lying dormant, cast aside.
The kernel upon which I-DEAS was built was written in Fortran 90. Beautiful software too. It offered capabilities well ahead of Parasolid in some ways, but consistently failed on some common geometry cases that come up rather frequently. Things tangent to things, touching a a point was a big one.
One thing I taught was overbuild or underbuild. Rather than draw a rectangle tangent to a circle to prepare for an extrude, place that end of the rectangle inside the circle and let a boolean operator sort out the two resulting solids.
So yeah, build it kind of wrong so the kernel can build solids. Messy. :)
I was in a room talking to the people who do fillers. Edge blend to some of us.
We talked about my fillet gauntlet. It was a collection of geometry cases that fillet operations failed to complete.
Parasolid could always resolve more of them, and it did that with fairly sloppy tolerances. The SDRC kernel was catching up each rev, but the trend line looked like a decade of analysis of the successful resolutions, and coding for those, wash, rinse repeat a lot.
I wonder if it might be possible to generate geometry cases using parameters such that whole problem spaces could or can be created. Have good kernels solve and train an AI on all that to see what it may then solve differently?
Maybe man years boils down to compute/watt hours?
Seems to me, a vandal has learned how their less than worthy craft is done virtually.
But I am just going to put this here so the general thoughts incorporate a fundamental problem before significant labor investments go too far:
What is a probable, viable, possible answer to the geometry kernel problem?
Parasolid, arguably the leader and generally most capable geometry kernel we have today, is or at least I can't see past...
...is just not something easily duplicated.
There are a bazillion man months of time in that body of code. And those are hard hours!
For those unfamiliar, the geometry kernel is the piece that resolves geometry cases to make operations possible. Imagine a cylinder and rectangle. Now imagine they have some common volume. They intersect, in other words.
Put a fillet on one edge to blend the edge.
How many literal edge and corner cases can you come up with?
There are way more than you think!
Now multiply that tiny problem space with all the geometry used every day.
And then multiple that time again by what it takes to make it robust.
And the whole thing, as it stand today is not even multi-threaded!
Any CAD that we expect to see even moderate general use in a professional sense, needs this piece.
How do we, meaning anyone interested in CAD this way, get past this?
I wish there were some OSS type license for Parasolid. It could be treated like the Linux kernel.
Whatever replaces Parasolid and friends, should be treated like the Linux kernel.
The closest we have is Open Cascade.
Sorry. I do not want to piss on a good vision. But this has to be said.
Peace and good luck!
I used voice input on this. Pleqse forgive typos.
Use value of OSS remains high. Because of that, when I can add to the body of OSS, I do. People will do what they do.
All I control is me. They do them.
We all benefit from the high use value.
I do wish those who have made fortunes would contribute more and keep their roots, and the labor of many high quality humans just a bit more firmly in mind.
I believe in OSS. But damn. I had not really considered this move.
I had a stray thought and that is most SI content I have looked at has watermarks of a sort. Perhaps this could be used?
I personally have little hostility toward the AI search results. Most of the time, the feature nails my quick search queries. Those are usually on something I need a detail filled in due to forgetting said detail, or a slightly different use case where I am already familiar enough to catch gaffes.
Anything else and I typically ignore it and do my usual search elsewhere, or fast scroll down to the worthy site links.
That needs evaluation, and that need to be done in context.
In many cases, the defaults are not bad. One finds that out by working with them.
Really, I just don't feel "faulty" makes any sense.
If anything, it is more establishing a baseline.
Whether someone bothers with defeats first is debatable. I am on the work with them first side for what should be obvious reasons.
Passersby can arrive at their own conclusions and life carries on.
Re: still think reducing config and maintenance...
Yup. I have shown it many times. This also depends on context. For most of my career, no brainer.
Now, you get to say it is faulty, and when one thinks about it for a minute, that idea packs a whole lot less punch.
Just want to dilute some unnecessary implied authority out of this otherwise interesting discussion.
Frankly, I always learn the defaults for the high value idea of reducing my overall configuration and maintenance workload!
Secondly, when I communicate workload to others, I don't have to do as much because the defaults are in place and useful.
These days, I tend to run defaults everywhere I can. Doing this means I do not have to a ton of configuration when setting up new environments.
I have also found those defaults do make a lot of sense. Maybe not the absolute peak sense, but more than enough.
I end up able to move and do a lot very reasonably quickly.
I also find my skills do not need to refresh as often too.
In any case there is plenty of room to disagree here, sans the idea of someone's conclusion being " faulty.
Ever notice as we age, get hurt, that table, network, updates?
For some injuries, part of the imperfect process, is a relearn, recalibrate step involved. Once that has played out. The whole thing works as a unit.
I can sometimes remember what it used to be like. Being able to move jn some way, or some rate.
And when I try and do it today, there is a very deep inhibition. My brain / body knows it no longer happens that way,
And these things may be why physical therapy helps. No pain. No gain. We have someone else pushing us. Manipulating our bodies in ways that challenge those built in metrics.
So, it hurts, but it is good hurt. Triggers that network to reconsider, update, whatever.
(Not sure why I got zeroed above... was genuine curiosity, honest!)