TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

A New Era for Mechanical CAD

126 pointsby jasimalmost 4 years ago

14 comments

phkahleralmost 4 years ago
&gt;&gt; Most parametric CAD operations are single-threaded; however, the open-source project SolveSpace [solvespace.com], which uses NURBS (nonuniform rational basis splines), has some parallel operations.<p>Current Solvespace maintainer here if you have questions on that. I did most of the work on making NURBS boolean operations use OpenMP for parallel operations. The code is highly functional, so that was mostly adding the appropriate #pragmas, but some things needed fixes, and some required tricky critical sections.<p><a href="https:&#x2F;&#x2F;solvespace.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;solvespace.com&#x2F;</a>
评论 #27520577 未加载
评论 #27521833 未加载
评论 #27522630 未加载
评论 #27522382 未加载
评论 #27539309 未加载
评论 #27522319 未加载
评论 #27522636 未加载
nickpinkstonalmost 4 years ago
There are a few problems with making new CAD, especially open source:<p>- CAD math is hard and severely limits contributors. Unlike many open source projects, you need a pretty big core team to make something worth using. FreeCAD&#x2F;OpenCASCADE, etc. have remained hobbyist CAD, where we&#x27;ve seen the success of open source in software.<p>- Another core problem is that MechE&#x27;s can&#x27;t easily edit the tool they&#x27;re using when they run into a bug&#x2F;feature they want to work on, unlike open source software where the users can more easily be contributors.<p>- High switching costs: there are four big CAD companies: Dassault, Autodesk, Siemens, PTC, and once a company commits to one ecosystem, it&#x27;s very hard to change. Ex: Boeing isn&#x27;t putting the CAD for the 787 in OnShape - ever. There also aren&#x27;t that many new huge hardware companies, meaning that folks like OnShape get SMEs, but virtually all enterprise is taken. This has essentially led to an oligopoly in mechanical CAD, and slow pace of innovation in the space. I believe CAD tools have 50x less $ investment (including big companies) than software dev tools.<p>- InterOp is also hard, file formats are complex&#x2F;proprietary&#x2F;inconsistently implemented. There are kernels like ParaSolid with import&#x2F;export&#x2F;conversion systems, but they&#x27;re not trustworthy enough to really put the 787 into new CAD without so many bugs that you&#x27;d lose a year fixing them and likely be paranoid forever wondering if you got them all.<p>- Folks like nTopology have done a good job side stepping these concerns as they built a CAD tool that does a specific function (generative design) that can&#x27;t be done in traditional CAD kernels and can be sold for very high value-add situations - ie designs that need very high performance from the uniquely optimized geometries that they&#x27;re able to generate, and export files that play nice with regular CAD. This means Boeing can have some fancy nTopology-created parts in their planes without having to blow up their CAD&#x2F;PLM systems.
评论 #27519199 未加载
评论 #27519082 未加载
评论 #27518949 未加载
评论 #27518945 未加载
评论 #27520725 未加载
dekhnalmost 4 years ago
There&#x27;s a whole subquestion the article mentioned mostly as an aside: version control systems don&#x27;t facilitate multi-way merging of binary&#x2F;complex file formats. I don&#x27;t know that anybody has developed a good solution to this (that scales to large numbers of different formats), and &quot;just use a text file format&quot; doesn&#x27;t really work for complex models where changes don&#x27;t appear like minimal diffs.<p>I invested fully in FreeCAD, it does support pointers and instances for many ops, but the reality is that you have to instantiate all the instances in 3-space if you want to do complex geometry conflict checking.
评论 #27518161 未加载
评论 #27518512 未加载
评论 #27518592 未加载
评论 #27520648 未加载
评论 #27519125 未加载
评论 #27517939 未加载
contingenciesalmost 4 years ago
This article smells like a software person looking at CAD from a technical standpoint without significant experience with complex product development or production. The reality is, the processes around CAD (namely R&amp;D iteration, tooling production, fabrication and assembly process iteration, management thereof) cost far more than CAD does.<p>In short: who cares if something is single threaded when you are paying literally 100 times that person&#x27;s salary per day in idle equipment, space and so forth? It&#x27;s a rounding error. Buy a faster machine.<p>The industry broadly agrees with the author that greater integration between factory floor equipment and digital models is desirable and&#x2F;or coming (Industry 4.0, etc.) however the complexity of this space is staggering.<p>To briefly explain: every fabrication process (or &#x27;unit&#x27; operation in process management terms) has theoretical abilities in terms of part generation, modification or assembly but these are limited by equipment at hand (speeds, tolerances, tooling compatibility, maximum and minimum dimensions, etc.), time, knowledge&#x2F;training, material and other inputs. Furthermore, equipment-specific maintenance schedules, power requirements, failure modes, consumable replacements and environmental parameters cannot be ignored. And that&#x27;s before you have to look at aggregate tolerances, lasting effects of these processes on part materials, variations caused due to environmental conditions, temporary storage and movement of parts and inventory during production, secondary processes, human error, regulatory ingress, supply chain complexities, etc.<p>Typical products may include somewhere between 5-100 unit operations to produce, some can take 1000s or 10s of 1000s, especially if you include electronics fabrication, packaging and testing. Individual tooling assemblies often take months to produce, even years if multiple iterations are required. It&#x27;s not something you use a single program to plan for. You need an experienced team, time, money and a plethora of systems.
评论 #27524579 未加载
etaioinshrdlualmost 4 years ago
I suspect another breakthrough will be of a completely different nature: having the computer reverse engineer voxel or polygon models back into a tree of features (something like solidworks). The user gains much easier editing an object as a series of understandable steps instead of a blob of polygons.<p>This is a pretty crazy difficult CS problem! There&#x27;s a bunch of research papers using deep learning to solve this, and it is starting to work, although in very limited domain. (Relatively prismatic objects.)
评论 #27519246 未加载
评论 #27529382 未加载
评论 #27522347 未加载
skybrianalmost 4 years ago
Onshape is briefly mentioned. Yes, it’s online only, but it’s also free if you make your designs public, and as a hobbyist tinkering with 3D printing, I find it a good tradeoff.<p>The constraint system is elegant but took some learning since there’s a geometric puzzle aspect to it. I find it nice for making simple revisions like changes in dimensions. (For more extensive revising, it seems easier to delete that part of the sketch and redraw it.)
paddy_malmost 4 years ago
I have been working to script Autodesk Fusion 360 with python recently. Programming against this environment is tough and frustrating. A couple of things I have noticed<p>1. Using the API is far from intuitive. There are many objects that you have to use from the API that have no <i>named</i> corollary in the UI. I know BReps are a thing (probably faces) but there is no way to name a face in the UI and find that via the debugger. I have to poke and prod to try to create the objects to build the things I want to. 2. Limited documentation. The APIs and object tree are documented, but examples are often limited 3. Poor programming environment. It is nice that there is a debugger mode that works with vscode, but this debugger connection frequently breaks, requiring tabbing back into fusion, restarting the debugger, tabbing back to vs-code, restarting the debugger... 4. Most examples are written by non-programmers. I have seen a couple of examples of object graph printout programs, instead of building up a list of lists or objects, these programs intertwine navigating through the tree with print indentation.<p>That said, I just found this repo [1] which looks well written.<p>On the other hand, CAD software is much more complicated than most systems I interact with. CAD platforms are one of the few remaining software systems that are written for experts. Experienced practioners are very productive [2]. So programming these systems will also be complicated.<p>FWIW I&#x27;m trying to template a bunch of part imports and their layouts. I&#x27;m surprised that this isn&#x27;t built into the system. You can edit variables for almost (almost) every input in the system, you can name variables and elevate them to file wide variables - all without touching programming. I wish importing was parameterized such that upon import I got a chance to edit the filewide variables as parameters in the new document.<p>[1]<a href="https:&#x2F;&#x2F;github.com&#x2F;JesusFreke&#x2F;fscad&#x2F;blob&#x2F;master&#x2F;src&#x2F;fscad&#x2F;fscad.py" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;JesusFreke&#x2F;fscad&#x2F;blob&#x2F;master&#x2F;src&#x2F;fscad&#x2F;fs...</a> [2]<a href="https:&#x2F;&#x2F;youtu.be&#x2F;G3rho-24DWQ?t=184" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;G3rho-24DWQ?t=184</a>
gopalvalmost 4 years ago
&gt; Just as I would use Vim for side projects as well as professional jobs, I would expect my CAD tool to work just as well for building a toy for fun as it would for a complex project.<p>Not picking on the specific editor there, but that&#x27;s a high skill tool we&#x27;re talking about which is full of repeated memory effort (or &quot;muscle memory&quot;), with layers in it.<p>The reference to Jai in this context is probably equivalent, since it is a programmer&#x27;s tool for a programmer&#x27;s need to automate&#x2F;repeat the same operation.<p>The best thing in this whole article is that as more programmers work on problems which require CAD, the more likely they are to solve the problems they run into, but in ways that works for them directly (think Linus, git and emails).<p>The second part was always the hardest (the &quot;make&quot;) at the toy project level.<p>In the bay area, the death of TechShop is unfortunate though, where getting a CNC machine time (&amp; my python madness with printf of g-code) meant things went from patterns to real.<p>Like, I&#x27;d love a 3-d equivalent to graphviz&#x27;s dot for representing a 3-d scene in a minimal way for navigation through it, but not for actual manufacture (though things like SPICE went both ways in the end for me).
rurbanalmost 4 years ago
So Jessie is looking for people building KittyCAD. I&#x27;d rather improve SolveSpace, because this is open source and already operational. Solvespace branded as VsCode with collaboration tools? Ok, why not.<p>I think OpenMP is back in again, but the database format is important, agreed.<p>In her vision I miss the importance of CSG, where the brep surfaces are created dynamically. Looks like she thinks the history and construction of the solid can be thrown away, but with thin shells (3d printing!) Lost precision will haunt you. You need CSG. This is not modern, this is antique.
Haemm0ralmost 4 years ago
I work with NX and Teamcenter(central data storage amd PLM software) daily and find the single threading during almost all the design work annoying (except for FE, drawings and maybe a few other things). On the other hand the backwards compatibility is exceptional, opening 20 year old models exactly as they are and rendering the drawings exactly as 20y ago is quite useful (using the renderer of the version it was created with, sometimes with the ols bugs too ;) ). Expanding NX with custom features and custom scripts is quite easy (plugs into MS VS). Afaik as i know you could use C, C++, C.net, python or even Vjsual Basic to access&#x2F;modify the data.
评论 #27520430 未加载
评论 #27525724 未加载
aj7almost 4 years ago
We are talking here about a mature technology. Not a bleeding edge area. Modeling a part, making a drawing of the model, and creating a fabrication strategy and code are all problems solved by multiple competing vendors who interact with customers on a daily basis. It’s sufficiently hard to do WELL that open source, or free solutions are mostly for hobbyists.
评论 #27535953 未加载
wrnralmost 4 years ago
I&#x27;ve been trying to build a CAD system, where the node&#x27;s of a model are stored in a content addressable network, a bit like glTF but with CSG or BREP instead of meshes.
hrdwdmrblalmost 4 years ago
Innovators dilemma. I have worked at Autodesk on a project to do exactly this and seen it happen.
grumblenumalmost 4 years ago
OpenSCAD exists, is perfectly usable, is very cool, and stores CAD models &#x27;as code&#x27; which is git-friendly. Professionals don&#x27;t use it. I like it, but I would never standardize on it at work. I&#x27;m sure a more point-and-click front-end is certainly possible, but that nobody has tried something quite so obvious probably speaks to its incompatibility with use common use cases. I use Autodesk software daily, and merely representing 3D objects is a very small part of the utility it provides. The software is undoubtedly an unstable mess, but feature parity with Revit or just Fusion 360 is far beyond a pizza-box team of &#x27;disruptors&#x27;. There is also a culture of professionalism and practicality in AEC that I don&#x27;t see folks used to coastal VC&#x2F;startup playgrounds doing well in.<p>I also find it pretty hard to take the contents of an article seriously when there&#x27;s name-dropping of celebrity-developers whose business appears to be self-promotion. &quot;I use vim, btw ;)&quot; really puts the nail in the coffin for me. I&#x27;m sure CAD-but-on-electron would look great on a slide deck, though.
评论 #27519916 未加载
评论 #27533361 未加载
评论 #27522294 未加载
评论 #27522945 未加载
评论 #27522779 未加载