Author Topic: Plans for the future of AngelCAD?  (Read 314 times)

WillAdams

  • Newbie
  • *
  • Posts: 11
    • View Profile
Plans for the future of AngelCAD?
« on: 2020-08-22, 17:36:41 »
What sort of development is planned for AngelCAD? What are the ultimate goals for the project?

Some things I'd find really useful/helpful would be:

 - support for the Customizer (as seen on Thingiverse and in OpenSCAD)
 - support for the Blockly programming system --- I use BlockSCAD a lot and find it really nice to work in, but find it being in the cloud a pain (it also doesn't support a lot of OpenSCAD, so I have to export so as to finish things)

Also, thanks for explaining that it can write out files --- that's really helpful to me (and a powerful argument for using a standard scripting language)

Carsten Arnholm

  • Administrator
  • Newbie
  • *****
  • Posts: 45
    • View Profile
Re: Plans for the future of AngelCAD?
« Reply #1 on: 2020-08-22, 18:53:04 »
Hi Will and thank you for joining the forum!

Those are good questions and not so easy to answer  :D . The way forward is to a large extent going to depend on the interest among users. So far it reflects my desire for a Constructive Solid Geometry (CSG) application that is fast and employing a rich language that executes the way most languages do.  So flexibility and efficiency are key concepts.

The idea is of course to become one of the preferred tools for 3d-print users, but possibly also serve other objectives, such as for example 3d modelling for structural analysis employing the Finite Element Method (FEM).

The value of AngelCAD lies in it being used, so the hope is that a sufficient number of users can contribute ideas for its further development. Note also that AngelCAD is modular, in the sense that it consists of 4 executables which potentially can be configured in various ways, and serve different user scenarios.
  • AngelCAD is the GUI editor
  • as_csg is the script compiler
  • xcsg is the boolean engine
  • AngelView is the viewer

In addition, the package also contains applications for converting, repairing and remeshing polyhedra (polyfix) and for importing DXF files (dxfread). This reflects the idea that AngelCAD tries to be a practical tool working with real world data.

The comment about customizer is interesting, because the upcomping version of AngelCAD will have something similar, see the attached screenshot. AngelCAD scripts will accept command line parameters that modify script variables, and this is also usable from the AngelCAD GUI.

I don't know the "Blockly programming system", but I guess this is something that a 3rd party could easily do using the AngelCAD scripting compiler + xcsg. This could be done as an alternative desktop GUI, or it could be done "in the cloud". The main point is that AngelCADs modular design allows this.

If you have specific ideas about file export, why not start a thread about it and we can see how this is supported, and if something is missing it might be a good example of user driven development.


« Last Edit: 2020-08-22, 18:55:57 by Carsten Arnholm »

WillAdams

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: Plans for the future of AngelCAD?
« Reply #2 on: 2020-08-22, 20:22:36 »
For the export, I'll see if I can make an example file and we can work from there.

Support for the Customizer as implemented in OpenSCAD would be huge --- accessing the parameters using the JSON files it uses for saving presets opens a lot of possibilities. I'm afraid I'm not understanding the screengrab, but I look forward to it and will see if I can work with it.

Here's the sort of workflow I'm envisioning:

 - user downloads AngelCAD sourcefile and installs AngelCAD and opens the file in it
 - AngelCAD code is optionally hidden and the Customizer is made visible and interacted with, allowing customization of the file
 - once a design is completed the customer exports either a DXF or STL or G-Code to actually make the design

I find Blockly nice to develop in and develop projects in it: https://app.gitbook.com/@willadams/s/design-into-3d/3d-project and I've been working on getting G-Code out of OpenSCAD: https://community.carbide3d.com/t/doing-cam-in-openscad/25214

Carsten Arnholm

  • Administrator
  • Newbie
  • *****
  • Posts: 45
    • View Profile
Re: Plans for the future of AngelCAD?
« Reply #3 on: 2020-08-22, 20:54:19 »
AngelCAD is first of all a script based 3d modeller (as it says in the headline), so the scenario you describe appears a bit off for the core 'product'. The idea with a script based modeller is that the user relates to the script, usually by writing or modifying it. So making a GUI (called "customizer") and hide the script is not really a natural thing to do in the core system.

However, that stops no-one from doing it themselves. With AngelCAD as already released, or preferably using the new features with input script variables, a third party developer can do what you describe. Because of the way AngelCAD is split into modules (not in the OpenSCAD sense, but into executables with clear purposes), it should be doable. But I don't see it as a priority beyond what I showed.

I looked at your links as I have done before, but it remains unclear to me how OpenSCAD or AngelCAD can assist you in generating G-code for CNC machines. There is really limited or no way to query the geometry in either system so it isn't clear to me what you are doing, are you simulating a predefined CNC path and subtracting material from a simulated work piece?

WillAdams

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: Plans for the future of AngelCAD?
« Reply #4 on: 2020-08-23, 03:05:37 »
Yes, I've been simulating the movement of a toolpath on a CNC --- this allows either

 - the creation of geometry which can be exported to DXF or SVG and easily imported into a 3rd party CAM tool and then used to make toolpaths
 - exporting positional information wrapped up in G-Code which directly creates toolpaths

have you tried downloading:

https://community.carbide3d.com/uploads/short-url/kWAN0oEb5bblVLE7grRYT66b5Mu.zip

and examining the G-Code which is output to the console or experimenting with the Customizer options?

The problem with limiting usage to interaction with the script is it limits the potential userbase --- folks who won't consider editing a script may be willing to open a file and adjust some parameters in a customizer.

Carsten Arnholm

  • Administrator
  • Newbie
  • *****
  • Posts: 45
    • View Profile
Re: Plans for the future of AngelCAD?
« Reply #5 on: 2020-08-23, 08:23:02 »
Thanks, that makes it clearer. The way I understand it is that you are simulating CNC machining using scriptable tools like OpenSCAD or AngelCAD. From that you achieve 2 things
  • A simulated preview that allows verification of the path before destroying the real work piece
  • An output from the simulation that can be used to drive the real CNC machining process

I can see that this makes sense. Maybe it is worth exploring this more in AngelCAD. A good way to do it would be to create such a CNC example in AngelCAD. It could be a translation of the example you linked to, or a new example. In my opinion it would be most interesting to make a simple example from scratch and express it in the most natural way invited by the AngelCAD language.

As for the GUI/customizer stuff there really is no contradiction. It is entirely conceivable to develop a GUI that reads a parameter list from json, xml or even the angelscript code itself, present a GUI dialog to the end user and then allow him to run the script and compute the result as STL, DXF or whatever, only by editing a few parameters and pressing a button. I it does not have to be the same application as the present script editor (AngelCAD). By keeping it separate you also achieve hiding the script from end users. This scenario is in fact visited by raymw in another thread here

WillAdams

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: Plans for the future of AngelCAD?
« Reply #6 on: 2020-08-24, 03:58:07 »
Yes, that's pretty much it --- I'm just trying to think/work in terms of tools/tooling so as to make the most efficient designs possible in ways that current CAD/CAM tools don't seem to support. I've got a bunch of project and joinery ideas and need to get them all done:

https://wiki.shapeoko.com/index.php/Design_into_3D#Current_Status

That sounds like a plan --- I'll see what I can do to put together a sample file and an example of a possible interface --- hopefully something will work out.

What software toolchain do you think would be best suited to defining a customizing interface in?

What capabilities do you think would be most necessary and what sort of things should be emphasized and easily done?

Is there some project which you'd like to see made?

Carsten Arnholm

  • Administrator
  • Newbie
  • *****
  • Posts: 45
    • View Profile
Re: Plans for the future of AngelCAD?
« Reply #7 on: 2020-08-24, 10:39:07 »
Very good if you can put together a sample file. Please consider starting a new thread under "Using AngelCAD" for following up such a specific case study. This section is more for general discussion.

As for preferred software toolchain, it depends on the person doing it and his/her experience. I suggest using whatever you are comfortable with, as it takes a lot of work to learn a new system. GUI is always a lot of work. Some people like Python and various GUI tools there. I like C++ and wxWidgets in Code::blocks, but I would not recommend it to someone without a lot of experience. In sort: Use what you understand and feel comfortable with.

If the idea is to create a simple GUI that allows a customer of yours to set a few parameters, press a run button and get the 3d view and output files as a result, what you need is a tool to create a dialog based application with an ability to define fields to edit. When the user presses the run button, you need to be able to run e couple of external programs such as as_csg (the angelCAD script compiler) and xcsg (The AngelCAD boolean engine) and possibly also the viewer.

Done right, this will give your customers the ability to customize the parameters without being intimidated by complicated scripts :-)

I suggest you use a realistic project that you probably have already defined as a case study. If successful it would be nice to have it presented here on the forum in a nice way, and possibly in other places afterwards.

raymw

  • Newbie
  • *
  • Posts: 28
    • View Profile
Re: Plans for the future of AngelCAD?
« Reply #8 on: 2020-08-25, 15:45:53 »
For a cnc machine, lets talk 3 axis mill, to keep it simple, what exactly is required? You need a tool path, you need to know the tool diameter, cutting rate, and a load of other stuff. For 3d printing, many of the fdm machines are basically lightweight 3 axis mills, but you're laying down, instead of taking away, so an stl file is easy to pass into a slicer, to produce the desired object.

It is easy enough to generate cnc tool paths programmatically. You can use an stl file, and sort of scan the surface (raster like) . Plenty of free software exists to do that. If you want a graphics program, any graphics program to drive the machine directly, in some other way, then you need to work with tool paths, directions, profile of tool, material of work-pieces, etc. The actual cad, is trivial in comparison. Laser cutting, water jet, plasma, even edm, is simpler then pushing rotating tools through lumps of metal.

WillAdams

  • Newbie
  • *
  • Posts: 11
    • View Profile
Re: Plans for the future of AngelCAD?
« Reply #9 on: 2020-08-25, 20:13:54 »
Exporting to an STL and using traditional CAM tools isn't working for the work which I wish to do.

If you know of a CAM tool which will apply a radius (hollow) endmill or V endmill to an STL accurately enough for joinery I'd be glad to know of it.

Carsten Arnholm

  • Administrator
  • Newbie
  • *****
  • Posts: 45
    • View Profile
Re: Plans for the future of AngelCAD?
« Reply #10 on: 2020-08-25, 20:29:02 »
Guys, the talk about CNC machining is interesting, but it does not really belong in a thread about future plans for AngelCAD.
If you want to discuss CNC machining further you are welcome to do so, but please open a thread about CNC machining and discuss it there.