What's new

AI tools integration. Any plans? here some ideas

el-domo.com

New Member
Each of the following ideas can use paid cloud service and local resources for the folk who have very strong hardware:

Why not use AI to generate scripts?
Why not have new functions that use AI, such as generative design?
Why not use AI generally in Alibre to solve issues such as shell that fails due to small fillets and other problems?

I think, Alibre can deliver this and this could be awesome.

Additionally, as I wish to have Cloud Alibre in the future similar to Onshape, this could be more integrated

Let's discuss and give opinions.
 

simonb65

Alibre Super User
Additionally, as I wish to have Cloud Alibre in the future similar to Onshape, this could be more integrated
No, No and No! ... my customers would stop doing business with me if I used a cloud based application (with no control over releases, updates) and certainly NO data stored on the cloud!

Why not use AI to generate scripts?
My business is primarily around writing software and from what I've seen of AI, it belongs in a university lab, not in a commercial environment. The code it produces is at best garbage. But then again, if you don't know what the output of AI should be, then you'll never see that. You'll just accept the garbage it spits out. Trust me .... No!

I think, Alibre can deliver this and this could be awesome.
I think Alibre can deliver lots of awesome stuff ... but AI and Cloud are not in that category!

If you want cloud, go to an existing cloud based product that was built for cloud from the ground up ... and don't use it if you do business with big corporations (aerospace, automotive, space or rail sectors) or government contracts, they'll ask you to close the door on your way out!
 

Ex Machina

Senior Member
Each of the following ideas can use paid cloud service and local resources for the folk who have very strong hardware:

Why not use AI to generate scripts?
Why not have new functions that use AI, such as generative design?
Why not use AI generally in Alibre to solve issues such as shell that fails due to small fillets and other problems?

I think, Alibre can deliver this and this could be awesome.

Additionally, as I wish to have Cloud Alibre in the future similar to Onshape, this could be more integrated

Let's discuss and give opinions.
Well, first of all, AI can't write scripts. It's rubbish at it. It's full of clutter and not reliable. And when it goes wrong the clutter means it's hard to debug.

Generative Design is not based on a neural network like Large Language Models are. I am assuming that's what you're referring to as AI. Generative Design, is mostly Genetic Algorithm Optimization which has nothing to do with Neural Networks. Also, when you're not using a metal 3D printer you can arrive at a result 99% as efficient by doing an FEA study and then removing material from the blue areas and adding it on the red ones. The fancy shapes advertised by Autodesk and Solidworks have serious DFMA limitations and if you are to use them as is, you'll need to spend a (considerable) amount of the time you saved redesigning the peripherals to make it easy to assemble. So not everything is Black and White.

Shell failing due to small fillets doesn't need AI. It needs better error reporting. Alibre, admittedly, does not have the best error reporting but it's not like there is a huge or even noticeable difference to the competition on that front.
 

Max

Administrator
Staff member
We have looked into two specific cases already:

1) script generation
2) asking the documentation questions

Script
We need to get a few hundred or preferably thousand examples of well structured scripts using a variety of functionality to serve as training data. Then it might produce ok results. I have been surprised by it, and other times am disappointed. But we currently lack the training input in the quantity and quality that would be required to make it really robust.

Ask the documentation questions
This is much easier and I've made prototypes of this before. This is surprisingly good, though that depends on the complexity of the question. This was a few months ago and I've been waiting on services to pop up that enable this approach in the cloud rather than standing up yet another server with some soon to be deprecated (in weeks) technology myself. This is reasonably high on our radar.
 

mattn

New Member
Whilst cloud isn't suitable for most people (and I'm not saying to go cloud), what would work is if Alibre had a self-hostable browser-based version. What I mean is what basically a full version of Alibre that could be installed on a local server (with hardware locked licencing like currently) but any computer on the same network could access it via a web browser (up to the max permitted/licenced number of concurrent users the licence is for). This would enable Alibre to be platform independent (other than the server) and would mean that instead of requiring multiple powerful computers, one powerful server would suffice. If Alibre were to consider this path, I would suggest that it be able to install on a linux based server. By being self-hosted this would enable one to keep things air-gapped (if desired) and to control when updates are installed (unlike Onshape).
 

JimCad

Senior Member
That would be waste of time with my current broadband.
Luckily the contract is nearly finished and I can find something better (I hope) :)
Currently tethered though my phone. ;)
Broadband not working .. . . . . . AGAIN. :(
 

bolsover

Senior Member
Couple of random thoughts..
While I have no need or desire to move to a cloud based version of Alibre, I do understand the potential advantages, especially when taking PDM into consideration.
If I were designing PDM system for Alibre I think essential to take into consideration the (future?) option to have {at least for the design files} a cloud based system. The primary advantage is the (easier) ability to collaborate with other remote users.
A standalone PDM system is very helpful for supporting design history requirements but a cloud based system takes things to a whole new level. Anyone who has used tools like Git and Github for software version control will understand the benefits.
David
 

HaroldL

Alibre Super User
The primary advantage is the (easier) ability to collaborate with other remote users.
When Alibre was first introduced it had the capability for collaborative design with remote users. Also had online support and a pane on the Home window so you could see who was online. I think slow internet connections put all that to an end. It would be cool if that could be reinstated.
 

Mibe

Alibre Super User
When Alibre was first introduced it had the capability for collaborative design with remote users. Also had online support and a pane on the Home window so you could see who was online. I think slow internet connections put all that to an end. It would be cool if that could be reinstated.

Wonder if Alibre LLC has ownership of that patent? :) All "big bad cad boys" seems to forget who was the innovator in this field...


"

Alibre Issued Patent for 3D Solid Modeling on the Internet​

Multi-tiered, Distributed Processing Architecture Facilitates CAD Collaboration

RICHARDSON, Texas, December 6, 2004 - Alibre Inc. today announced it has been issued a patent for an invention enabling 3D solid modeling for mechanical design and engineering in high-bandwidth, distributed processing networks such as the Internet.

The invention is embodied in the currently shipping Alibre Design 3D CAD product and consists of three components: the design application, the design server and the repository server. The multi-tiered architecture separates the CAD application's user interface from its core modeling engine, or design server, and data storage, facilitating the computing of intensive 3D CAD tasks on a series of servers.

In a common configuration the design application is installed on each user's PC, just like other traditional desktop applications, but that is where the similarity stops. One or more instances of the architecture's design and repository servers can then reside on the same computer or be distributed among multiple computers, depending on the computing task's complexity and available resources. This enables processing tasks to be directed to the computers best suited for them, providing increased options for corporate infrastructure investment by allowing outsourcing of the various components.

"Alibre has been an innovator in Internet-centric CAD and data sharing since the company was founded and this patent is an exciting milestone for us," said Greg Milliken, CEO of Alibre. "Our vision of pervasive, easy to use design tools that enable spontaneous collaboration is gaining momentum, and it's clearly just the beginning. Alibre Design's architecture is extremely flexible and scalable, and with widespread access to high-bandwidth, the Internet offers a virtually unlimited distributing processing environment that will deliver unprecedented growth in computing power and productivity."

This patented technology enables Alibre Design to offer the most powerful and flexible collaboration tools of any CAD application. In addition to allowing designers and engineers to share and edit product designs in real-time over the Internet, it also provides the foundation for Alibre's unique collaborative support service, the Alibre Assistant, that delivers live technical guidance from Alibre support engineers to all Alibre Design customers.

Alibre develops and markets Alibre Design, a parametric 3D solid modeler for mechanical design and manufacturing. One-fifth the cost of comparable software, Alibre Design delivers ease-of-use, rich functionality, extensive tutorials and unique real-time support via the Alibre Assistant. Customers may also share and edit product designs in real time with integrated online tools. Alibre Design is available in seven languages and distributed around the world. Founded in 1997, Alibre Inc. is privately funded and based in Richardson, Texas. For more information, visit www.alibre.com.
"
 

el-domo.com

New Member
We have looked into two specific cases already:

1) script generation
2) asking the documentation questions

Script
We need to get a few hundred or preferably thousand examples of well structured scripts using a variety of functionality to serve as training data. Then it might produce ok results. I have been surprised by it, and other times am disappointed. But we currently lack the training input in the quantity and quality that would be required to make it really robust.

Ask the documentation questions
This is much easier and I've made prototypes of this before. This is surprisingly good, though that depends on the complexity of the question. This was a few months ago and I've been waiting on services to pop up that enable this approach in the cloud rather than standing up yet another server with some soon to be deprecated (in weeks) technology myself. This is reasonably high on our radar.
good point. It needs a lot of training data. But hey, keep working on it and it will be ready later. Otherwise, Alibre will be behind. Right?

I notice in the comments that people are only talking about their own needs. But who thinks about how the market is developing? for more options? for a new generation of customers who are totally different from the current traditional ones who use Alibre?

What I mean with cloud is not to convert it fully into cloud without keeping the current option, but to offer it as an additional service based on subscription. You will surprised how many new customers will come on board and how many of the current ones will try it and love it, and maybe move to it or use it together with the installed offline paid software.

You can offer both, and this will give you a unique place in the market.

I couldn't use Alibre for my classes because it doesn't offer what O***:) offers of flexibility and online access. But I still use it on my PC for my Startup. So, there is need for both, and you can offer both.

Do you think I have a point here?
 

stepalibre

Alibre Super User
Each of the following ideas can use paid cloud service and local resources for the folk who have very strong hardware:

Why not use AI to generate scripts?
Why not have new functions that use AI, such as generative design?
Why not use AI generally in Alibre to solve issues such as shell that fails due to small fillets and other problems?

I think, Alibre can deliver this and this could be awesome.

Additionally, as I wish to have Cloud Alibre in the future similar to Onshape, this could be more integrated

Let's discuss and give opinions.
In general major updates to the API and software stack should happen first but I'm working on addons and toolkits for: Dynamo & Rhino/Grasshopper for Alibre Design


I will share my work after I finish the core.
 

stepalibre

Alibre Super User
We have looked into two specific cases already:

1) script generation
2) asking the documentation questions

Script
We need to get a few hundred or preferably thousand examples of well structured scripts using a variety of functionality to serve as training data. Then it might produce ok results. I have been surprised by it, and other times am disappointed. But we currently lack the training input in the quantity and quality that would be required to make it really robust.

Ask the documentation questions
This is much easier and I've made prototypes of this before. This is surprisingly good, though that depends on the complexity of the question. This was a few months ago and I've been waiting on services to pop up that enable this approach in the cloud rather than standing up yet another server with some soon to be deprecated (in weeks) technology myself. This is reasonably high on our radar.

I think major updates to the API would need priority. I'm building in OpenAI tech with my toolkits for Alibre Design development but not specifically for scripting or docs. The API is COM based and is .NET 4.8 and the latest dev tools are Python 3+ or .NET core. I'm working on a bridge workflow between .NET framework 4.8 and the latest .NET core versions. This is not pretty but I need a clean separation of code and or at least compiled DLLs and EXEs otherwise there is no difference.

I started a simplified Python 3 library for scripting as a concept, it needs more work. Inconsistences between these various languages and versions, require some manual fixes when automation fails.

1693351204867.png
Python.NET is similar to IronPython but allow using AlibreX in Jupyter Notebooks under .NET Framework or Core.



An overhaul of Alibre in general would help in making use of some of these newer technologies.

I'll share more once I get to a feedback point. I need everyone's expert opinions, greatly appreciated!
 

Max

Administrator
Staff member
I think major updates to the API would need priority. I'm building in OpenAI tech with my toolkits for Alibre Design development but not specifically for scripting or docs.

At a high level, what are you doing?
 

stepalibre

Alibre Super User
Well, first of all, AI can't write scripts. It's rubbish at it. It's full of clutter and not reliable. And when it goes wrong the clutter means it's hard to debug.

Generative Design is not based on a neural network like Large Language Models are. I am assuming that's what you're referring to as AI. Generative Design, is mostly Genetic Algorithm Optimization which has nothing to do with Neural Networks. Also, when you're not using a metal 3D printer you can arrive at a result 99% as efficient by doing an FEA study and then removing material from the blue areas and adding it on the red ones. The fancy shapes advertised by Autodesk and Solidworks have serious DFMA limitations and if you are to use them as is, you'll need to spend a (considerable) amount of the time you saved redesigning the peripherals to make it easy to assemble. So not everything is Black and White.

Shell failing due to small fillets doesn't need AI. It needs better error reporting. Alibre, admittedly, does not have the best error reporting but it's not like there is a huge or even noticeable difference to the competition on that front.

ChatGPT and other models can generate scripts but you have to understand what it generated and why then revised based on that and repeat until it works.

Sometimes the problems are related to:
AlibreScript being IronPython 2.7 and the code generated Python 3
The generated code assumes a method takes an array of objects like points but it does not (vice versa).
It thinks a method has more or less parameters than it has or is an overloaded method.
It thinks logically and does what most python libraries do which means it fails on edge cases.
Based on naming conventions it assumes things that are not true in AlibreScript API.

Here is an example where I gave it a script to update it was one of the simplest working examples I can find.

Python:
MyPart = Part('My Part')
 
XYPlane = MyPart.GetPlane('XY-Plane')
HeadSketch = MyPart.AddSketch('Head', XYPlane)
HeadSketch.AddCircle(0, 0, 10, False)
BoltHead = MyPart.AddExtrudeBoss('Bolt Head', HeadSketch, 5, False)
 
HeadBottomPlane = MyPart.AddPlane('Head Bottom', XYPlane, 5)
ShoulderSketch = MyPart.AddSketch('Shoulder', HeadBottomPlane)
ShoulderSketch.AddCircle(0, 0, 5, False)
BoltShoulder = MyPart.AddExtrudeBoss('Bolt Shoulder', ShoulderSketch, 20, False)
 
HexSketch = MyPart.AddSketch('Hex', XYPlane)
HexSketch.AddPolygon(0, 0, 5, 6, False)
HexRecess = MyPart.AddExtrudeCut('Hex Recess', HexSketch, 3, False)
 
# save and export, replace paths with your own
#Remove the "#" from the lines below to make them active

#MyPart.Save('C:\Users\YourUserName\Desktop')
#MyPart.ExportSTL('C:\Users\YourUserName\Desktop\My Part.stl')
#MyPart.Close()

And the AI updated for this prompt: how to make a hex head bolt?

Python:
MyPart = Part('My Hex Head Bolt')

XYPlane = MyPart.GetPlane('XY-Plane')

# Create a sketch for the hex head
HexHeadSketch = MyPart.AddSketch('Hex Head', XYPlane)
HexHeadSketch.AddPolygon(0, 0, 6, 6, False)  # Create a hexagon with 6 sides and a center at (0, 0)
HexHeadExtrude = MyPart.AddExtrudeBoss('Hex Head', HexHeadSketch, 10, False)  # Extrude the hex head by 10 units

# Create a sketch for the bolt shaft
BoltShaftSketch = MyPart.AddSketch('Bolt Shaft', XYPlane)
BoltShaftSketch.AddCircle(0, 0, 5, False)  # Create a circle for the bolt shaft
BoltShaftExtrude = MyPart.AddExtrudeBoss('Bolt Shaft', BoltShaftSketch, 50, False)  # Extrude the bolt shaft by 50 units

# Create a sketch for the threaded portion
ThreadedSketch = MyPart.AddSketch('Threaded', XYPlane)
ThreadedSketch.AddCircle(0, 0, 4, False)  # Create a circle for the threaded portion
ThreadedExtrude = MyPart.AddExtrudeBoss('Threaded', ThreadedSketch, 40, False)  # Extrude the threaded portion by 40 units

# Create a sketch for the hex recess on the bottom
HexRecessSketch = MyPart.AddSketch('Hex Recess', XYPlane)
HexRecessSketch.AddPolygon(0, 0, 6, 6, False)  # Create a hexagon for the recess
HexRecessCut = MyPart.AddExtrudeCut('Hex Recess', HexRecessSketch, 5, False)  # Cut the hex recess by 5 units

# Save and export the part
# Remove the "#" from the lines below to make them active

# MyPart.Save('C:\Users\YourUserName\Desktop')
# MyPart.ExportSTL('C:\Users\YourUserName\Desktop\My Hex Head Bolt.stl')
# MyPart.Close()

It is a tool.
 

stepalibre

Alibre Super User
At a high level, what are you doing?

I meant not AlibreScript but programming and scripting more broadly. I started seriously researching ChatGPT and OpenAI early this year.
Here is a repo of the raw data I collect:

Here are the parts: ( subject to change )
TestbedForAlibreDesign.Lib/Exe: My .NET framework and .NET 7.0 code for .NET and Python development, wrapper for AlibreX and bridge to .NET 7.0 and Python 3
Dynamo and Rhino/Grasshopper Addons both use TestbedForAlibreDesign.Lib and both will support .NET 7.0 in next releases to come.
TestbedForAlibreDesign.Tools is based on ImGui and is my GUI for development tools. It uses TestbedForAlibreDesign.Lib/Exe.

TestbedForAlibreDesign.Lib is a DLL for both .NET Framework and .NET 7.0
TestbedForAlibreDesign.Exe is a Executable commandline tool that acts a bridge between .NET framework and .NET 7.0.
TestbedForAlibreDesign.Tools is .NET 7.0 application and uses TestbedForAlibreDesign.Exe to communicate with Alibre Design from .NET 7.0

I pay for both ChatGPT and GitHub Copilot and plan to have tools for building and getting insight into a design or development. Based on how chat models work it is easy to reuse prevoius information and have I database of problems and solutions.

Oh and Dynamo which is open source can be used to generate anything together with AI tools can't wait to try it out.

1693364366771.png

I'll try to share more asap.
 

stepalibre

Alibre Super User
I should be clear. I don't subscribe to "Put AI in Everything!" like we see from Big Tech and startups. In my work I will try different things to see what is best and not force in AI just to say it is based, built or powered by AI. The same is true about "the cloud". I development for and love the web (2D and 3D programming) but I hate web based CAD software. It doesn't feel right :(.
 

stepalibre

Alibre Super User
At a high level, what are you doing?
I forgot to mention another project I use daily for all sorts of different tasks. I call It IDDE (Integrated Design Development Environment). It is custom built with the Unity Editor. I created it to speed up the build, test cycle and to help automate running apps and scripts with custom UIs. All my ChatGPT/OpenAI work started here (or in LINQPad), the integration with Alibre will too.

1693385244203.png
 
Top