Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: 3DC.io – A dead simple cross-platform 3D design tool (3dc.io)
161 points by eerikkivistik on May 17, 2017 | hide | past | favorite | 71 comments



Developer here, would love to get some feedback and answer any questions you might have. The app is available on iOS, Android and Web (https://3dc.io/download). There is also a gallery of user built content (https://3dc.io/gallery).


Thanks for making this and sharing it on HN; I like the simplicity of it! The way that selection works really confused me, though. Here's what happened:

I made two objects. I clicked on one, which clearly indicated it as selected. I tried to deselect that object by clicking on the grid outside it, but nothing happened. OK, fine, let's try a different strategy -- selecting the second object (thereby deselecting the first) by clicking on it.

After clicking the second object, it went back to looking like neither was selected. Huh? So I clicked again on the first object to select it... and the second object got selected?! Then I realized that both objects had been selected! I found this behavior so odd that I came here to write this feedback.

FWIW, here's how I think it should work: clicking an item should deselect all the other items unless you're holding the shift key. Selected items should be clearly marked -- don't just dim the deselected items: this keeps the "all selected" and "none selected" states from looking so similar.


Hi! You make a good point, that the current behavior might not make sense on desktop. We started out on Android and iOS and there "tapping" on objects makes a whole lot more sense. We should probably revisit the entire controls logic in the future. In the meantime, try it out on mobile, might feel more fluid.


I was confused on selection patterns too. But now that you mentioned that it was meant to be used by 'tapping' (started out on touch devices), selection behavior makes much more sense. Tap to select, tap again to deselect. Tap another item to add to current selection. Thanks!


What about holding the finger on the first object, then tapping on the second for extending the selection?


I'm seeing the same behavior on mobile (surprised it worked so well on my ancient phone!). Make two items, tap the first item, then tap the second one. It still looks confusingly like nothing is selected.


Yeah, the behavior is the same, I meant it feels more natural on the phone :) I'll add it to our backlog, to take a look at it and maybe rethink the selection logic.


Your rotation widget is nonstandard compared to most other 3D editors. See for example Blender[1] or Maya's[2] widgets (which are both basically the same).

It's also kind of confusing as it seems like pulling one axis' rotation manipulator actually rotates about a different axis. So pulling on X rotates about Z, Y about X, and Z about Y.

[1] https://wiki.blender.org/index.php/User:Simtron/Doc:2.6/Manu... [2] https://knowledge.autodesk.com/support/maya/learn-explore/ca...


Agreed, the controls need a rework. They are the legacy of the prototype version we built a while back.


I think pulling the pins is fine, but the shape should rotate around the pin's axis. I would suggest associating pulling it out with a clockwise rotation.


- Camera rotation is way too slow for my tastes.

- Tools should have keyboard shortcuts.

- It's rather ambiguous, say, what the subtract tool subtracts from.

- Scaling tool must include a Ctrl or Shift modifier key to scale all axes.

- Tools must bring up a precise control box as, say, Blender does.

- Information about object positions, scales, and tri-count would be great to have.

- Not sure if I missed it, but there ought to be a vertex-level editing tool.

All in all, it seems like a basic toy rather than something that allows you to have a great deal of freedom. Can be improved upon if the toolset is extended and allows for a higher degree of control.


Hi, our desktop features including hotkeys etc. have been lagging behind, since we started as a mobile-first tool, but they are on the roadmap. You are correct in the conclusion that it is more like a basic toy, we try to keep things as simple and minimal as possible to attract people with no 3d design background. However, we plan to add features to support more experienced people on our platform.


I'll add some information about the development stack as well. First and foremost Three.js, that made getting a prototype up and running in a weekend viable.

For mobile, we use Cordova and package the app up for various platforms.

On top of Cordova we run a lot of custom code to smooth out the filesystem and streaming of data to and from the engine that relies heavily on Three.js internally.

We also built a custom IOC container to manage the ever increasing amount of components and integrations.


The iOS app is a pleasure to use. I would love the ability to input numerical values via keyboard for things like dimensions, positions, rotations, etc. Another user mentioned the non– standard rotation widgets, however I actually enjoy the rotation tool in its current form.

I would also like to express my appreciation for the ability to save/import/export files instead of locking those functions behind in-app purchases.

Overall, great job! Thank you for creating this.


Thank you. Numerical input is on its way, probably a month or so.


First, thank you! I use the ipad version.

Some needed features:

- precise editing

- manual entry of dimensions

- different materials and transparency

- library of common items such as batteries, usb ports, etc

- sub-mm scale

- pencil support for ipad pro


- precise editing (planned)

- manual entry of dimensions (planned)

- different materials and transparency (planned)

- library of common items (had multiple extremely long arguments about this, still no consensus on this)

- batteries, usb ports, etc (?)

- sub-mm scale (for 3D printing?)

- pencil support for ipad pro (not currently planned, if there is demand we could add it)


Thank you for replying!

The sub-mm scale would be to accurately model small things. When making a case for a raspi0, for example.


Makes sense, we will consider adding a few decimal points.


The web app works great in Chrome for Android, which is awesome. I downloaded the native Android app, too; it looks like it targets an API less than 23. It's not a huge deal but it'd be cool if that got updated ️


We have wanted to upgrade to 23 ourselves for the new permissions API, but a lot of our users are still on Android 4.*, so we decided to keep compatibility for now. Although it is a pain in the ass if we need a new permission for say a texture feature, since half our user base gets left behind on an old version by not auto-upgrading.


You can target a target a newer API version than your minimum version, and branch your behaviour at runtime.


True.


One feature I didn't see would be a way to specify a desired size. To be to type 50mm to get an object at that length would be helpful. Similar to when using the ruler in Tinkercad.


Overall, it seems pretty interesting. But, models should be in some sort of layers-like menu, like what blender has, that way you can easily select overlapping or embedded models.


Great work so far!

Lots of work to go if you're going to differentiate yourself from the leader (i.e. Tinkercad).

Add tools that allow manipulation of edges and faces and you'll achieve that.


I would love to have some info on particular object size and ability to set sizes/rotations precisely, so I can do some simple modeling for 3d printing.


Check back in a month or so, going to release 2 large updates.


Yes, it's in the pipeline and will be added quite soon.


What are use cases for this tool? It's too simplistic. No shapes other than (combined) primitives, no textures.


One of the most interesting use cases so far has been in education, where the low learning curve provides a frictionless experience in studying design as well as materialising one's ideas. Thus, lowering the barrier of entry for younger creators. (Another developer here)


3DC enables anyone to start creating in just a few minutes. No previous professional 3D experience needed. It's designed like LEGO for the digital world. By combining the primitives, one can start fast and gradually come up with ever more complex designs.


A lot of people build and sketch prototypes. There is basic constructive solid geometry via the subtract tool for some more complex stuff. As for textures, we will be adding them in the next update.


I don't use facebook. Mind offering other options to sign up or log in?


Yes, we are adding more login options in the next update. But in the meantime, you can simply skip the login, it is not required. Fun fact, I don't use Facebook either, so I don't have an account myself.


Let me know if you want to do an integration with our https://Clara.io 3D presentation and modeling tool! Would be nice to have some data transfer back and forth.


We should have a chat yeah, just saw a three.js pull request by you, that I want to discuss :) (Image and Texture related, single image -> multiple textures. Long story short, we are building the exact same thing :) )


3D tools can often be overwhelming, especially if you only use them occasionally. The push/pull feature reminds me a bit of SketchUp, which I really like.

Anyone have any thoughts on what I could use for building up a scene? Ideally something where I can move things around the world with scripting.


The threejs.org/editor has some functionality for this. We will be adding Three.js export support soon as well, so hey, maybe combine the two.


How did you get the push pull aspect of things? I couldn't get that to work.


Press the <-> arrows on the bottom right.


Can you specify a bit? Do you mean translate/scale/rotate specifically or how we track the arrow movement?


Good stuff btw. I don't think most people appreciate the amount of work that goes into making something simple to use like this.


Thank you. And yes, the details take up 10x more time than the features.


I can see myself using this for simple communication on 3D geometry work to my colleagues (I work a lot with 3D rendering). Hand drawing is so hard sometimes :). However, for that it would need at least a transparency option so I can layer boxes and all.

Otherwise, it feels really smooth in my browser. Good job there. I can see more shortcuts in the future but as I have very basic needs these are not a showstopper for me.


A lot of people have been asking for transparency lately. We can add it, but would need to rework how object selection/deselection looks visually. Thank you for the feedback.


What you probably want to do is draw an outline around your object when selected.


We played around with it a while back, but didn't quite get it right (visually), will give it another shot.


It's a bit tricky to get right, try a Sobel filter.


Impressive! I think a "Lathe" tool could be made from your "Draw" shape tool fairly easily.

Interesting problems you have... Balancing flexibility/power/precision and simplicity/low learning curve/finger input.

I'd be tempted to go more the flexibility route... but what is essential? for who? Where's the line drawn for "dead simple"?

Would precision for the "drafters" slow down/confuse the "doodlers"?... Could build flexibility underneath and carefully build an advanced UX that people can graduate to, but at what costs?... At what point is the focus lost?


i like it. i like that it's offline (or atleast when my firewall blocks it, it still works)!! and i like that you dont need an account to use it.

Mobile version is basic and exporting to obj is the freedom i'm looking for. I see myself using this for when i'm really mobile and i need to prototype a basic idea then use another program to take it to the next level.

Keep improving it, there is lots to do but focusing on enhancing modularity should be your core focus as you already know -- and an obvious idea is selling batches of models (not singles like 50s or 100s) so folks can plug and play and maybe try to create a unique rendering style so your program has a signature.


I've been a blender hobbyist for about a year now and it's a bit creepy how smooth this is on my iPhone at the moment. Thanks for sharing I hope I remember to dig more into this tomorrow.


Thank you! A lot of that is on Apple as well, Safari with all its bugs is really fast on mobile.


This is a really great app if you want to troll someone. Been using it on the great Danish Troll Hunt servers to make big things happen. ~~~~~~~~D()()=(solve the puzzle to make a rocket ship)


Love it! Would be nice to get the option to log-in without a facebook account. I don't have facebook, so I used it without logging in. Not sure which features I was missing.


Adding google login in the next release. Basically you are missing out on a public profile/portfolio and the option to comment.


Full CSG. Very nice. Clipping a cube with a sphere works.


Oh boy. Getting that to work fast enough on mobile devices warrants an article of its own.


What is the best 3D design tool for Linux?


https://www.onshape.com/ Cross platform, real CAD.


I don't have any experience to know if it is "best", but check out FreeCAD:

https://www.freecadweb.org/

Cross platform, open-source, etc. I haven't tried a recent version, but last time I played with it, it had some funky issues with the CSG algorithm (well - the algo worked ok, but if you wanted to edit the tree - well, the editor had some issues with moving and changing nodes). I'm not a CAD expert though - I was looking at the tool originally because TinkerCAD went away.

I also found this tool - which is kinda like TinkerCAD, but open-source:

https://shapesmith.net/

Unfortunately, it's been a dormant project for a couple of years:

https://github.com/bjnortier/shapesmith

Maybe someone could pick it up and flesh it out more?

(note - the "current" version of shapesmith is written in javascript, but there is an older version in his repos that was originally written in Erlang IIRC)


Blender


As much as I love Blender, I don't think Blender is very good for "design". It lacks parametric solid modeling primitives and operators. I've tried many times to do architectural modeling in Blender. It's good for sketching and rendering stuff like that, but not so much for "design". It's just not streamlined and is missing too much fundamental stuff. Some day, I'd love to see Blender improve in that regard! Someone recently made an addon called "archimesh". There's also "sverchok", a parametric modeling plugin. I suppose that could be used for design. And of course, if you're writing your own python scripts, the sky's the limit.

I think with a couple basic improvements, Blender could crush as a design tool:

1) Comprehensive solid modeling tools, including quality measuring tools for volumes, surface areas and lengths.

2) Some kind of plugin or extension to allow for composable, parametric "widget" type object groups. So you'd have a parametric wall section composed of parametric material pieces. The window unit would be a parametric composition of parametric subcomponents, like layers of glass, a tweakable frame, etc. A window widget would know to boolean cut through a wall. Archimesh does this kind of thing, but it's buggy and still in beta, and not so general purpose. Maybe Sverchok and some python would do it.

Along with Blender's excellent constraint and modifier system, these would go a long way.

Edit: I Just remembered that there was (and maybe still is) a long term push for "node based everything". I think this might fulfill #2.


For a more of a cad thing, solvespace is my favorite. It is pretty simple as far as cads go, but still capable enough.


I love it. Would really love the ability to "code" a shape using JavaScript.


Keeps on showing the spinning art for me, for couple of minutes.


It's possible that WebGL isn't supported on your device and our error detection fails to give you a message. Looking into it.


This works sooo well on mobile, loving this!!!


Thank you! What platform are you on and are you using the browser version or the native app?


there's been a mobile openSCAD app for ages.


Are you talking about Scorch CAD or something else?

If the former, then yeah - it's been around for a while, but the one thing I wish the developer would fix is the ability to switch between perspective projection and iso projection; right now, iso is all there is. Which is great when you want to check measurements without distortion, but sometimes you just want a regular 3D view.

Unless you know of another app?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: