| Perhaps text answers are possible? 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. |