Hacker News new | ask | show | jobs
by roel_v 1218 days ago
This looks awesome. If the 'fillet' works, that'd be enough for me to switch from OpenSCAD. Although to be honest, having a utility library like BOSL would be necessary too, or at least some way to make threads.

I'm going to download but another thing I would need to switch away from OpenSCAD - the ability to use an external editor, where the 3d model reloads correctly every time I save the program. Maybe your already has it, I'm going to check it out :)

2 comments

Oof I'm back already, this is quite rough.

No editor included I see, that tripped me up for a second but it's IMO better than wasting your time on including one, once I got that it was fine.

I tried to enter the smallest program I could think of:

    cube(x=10, y=10, z=10);
but I couldn't get that to show anything. I can't resize the console it seems? So I'm not sure if there's an error on there. Either way, I'm not sure how I would go about finding out why I'm not seeing anything.

3d navigation seems wonky but maybe that's because there is no object yet? Sketchup has the same, it's no big deal, but I won't know until I can get something to render.

Some quick wins:

- draw axes in different colors and put a label on them - show scale markers on axes - add a minimal sample program, or some way to select a 'template' when doing 'new' that will provide a few samples - one minimal sample with a cube and a cylinder, one slightly more developed like the table in your screenshot, one that shows off each keyword/object. Maybe split across one for 2d, one for 3d. Or more as the library of functionality grows.

More work:

- Add a 3d navigation marker/tool like Blender has, that'll show where I'm looking at, and has 'zoom to all' function

All of these would have helped in terms of 'getting started'.

Apart from that - I'd first need to be able to at least render something to be able to say something useful :)

> No editor included I see, that tripped me up for a second but it's IMO better than wasting your time on including one [...]

It's using egui for the UI so adding an editor (w. syntax highlighting for the custom language) should be very easy[1].

[1] https://github.com/emilk/egui/blob/530e9f667c0969b09edb68f77...

Interesting. I just tried your example and it worked on my end.

Have you tried rendering any of the examples in the repo? I know its not ideal but just to see what is going on. Please add an issue on the repo so I can try to fix the issue you are experiencing.

I just tried a few, but no difference. One problem is that I can't see how far I'm zoomed in or out, and opening another file doesn't seem to reset the camera. So maybe there is something outside of the view that I can't seem, although zooming in and out doesn't seem to help.

I can open an issue but there isn't anything more than 'doesn't work' I can add. If you can describe some way for me to get information that's useful to debug, I can write that up.

Having renders "auto focus" has been on my mind. Probably will be coming soon. I was focused on getting the language and runtime in better shape first.
3D software commonly calls this "zoom extents" to automatically pan/zoom so that the model fills a useful portion of the screen.

In AutoCAD and Fusion 360 it's bound to double-click middle mouse because of how often it's used, though between users of 10 different 3D software packages you'll find 10 different but strongly held opinions on how the viewport navigation should work.

It is designed for use with an external editor. It watches the files and hot reloads when you save changes. I didn't want to do a sub par job building my own text editor.

I cant wait to hear about how it turns out for you.

While I understand not wanting to include a sub par job --- just including a basic text editing facility (whatever is included as the native text object in your programming toolkit) would lower the bar for new users, and facilitate folks doing quick/simple/one-off projects.
I've made my own fully 3d lovecraftian text editor, I'd like to give this a try and see if I can make a 3d object for my text editor, with my text editor.

Does it contain facilities for export into non-parametric mesh formats? (.obj / .fbx / collada..) np if not.

Not yet. Its certainly something that I want to support. I want to avoid supporting all the formats so settling on a few clear options in the space is the goal. Right now its only STL since its super standard and doesn't force me to cover everything. I will likely move away from STL as things settle.

Feel free to add a ticket requesting your favorite and I can look into moving to that format in the future.

Exporting to OBJ would get you 90% of the way there. If you're not doing anything but generating a mesh, then OBJ -> whatever converters exist for pretty much every datatype.

OBJ is also the easiest to implement, too. Assuming whatever geometry library you're using is using _real_ geometry and not using any sort of weird volumetric rendering, etc. then it should be 'trivial' to export to OBJ.

Sure thing.

I can still have fun with it in the meantime, if blender fails to export meshlab should succeed :p

Very cool project