Abundance molecule questions

Having fun with abundance. some questions. I tried to copy a project to make a molecule out of one of it’s parts. It didn’t copy fully because I hadn’t saved it recently. I figured that part out and am now saving often. I tried to delete the molecule and it sent me to a github project page where I found delete project at the bottom of the page. I entered my password and the page changed. I think I did it right but it did not disappear from my abundance directory?

When moving things around in the programming pane of abundance, is there a way to select multiple nodes in order to organize them?

Another question.

right now the abundance world is pretty small so if you are searching for things to make molecules in your projects they show up ok. My current project is going to have molecules inside of molecules inside of molecules. I have been trying to name them with names that will help me remember which parts are which at what level but it does make them kind of long. Long names don’t show up well in any of the abundance windows. Not urgent but as you refine things it might be useful Or to let people organize things inside of folders or something.

Also searching by tags in the main abundance window would be cool. I tried to make some tags but they didn’t seem to work.

Great questions!

I’ll have to look into this one. I think that it might take some time for it to realize that the project is gone.

Yes and no. You can hold down command to click on multiple atoms at the same time to select them, but right now you can only move them one at a time. Basically as soon as you move it it will de-select the other atoms. I’ll put this on my todo list, but knowing how that part of the code works it might be a bit hard to do so it could take some time.

This is an excellent suggestion!

1 Like

One other thing to consider here is that the project description gets searched too so if you call the project “Beam” and then in the project description put “A beam to be used in the folding frame project” if you later search “folding frame” you will be able to find it

1 Like

Thank you. May try that. Mainly it feels like the abundance search space is going to become cluttered at some point. Is it a problem if I name one of my projects the same as someone else’s ? If two people make something labeled “Beam” would that work?

1 Like

Yes, the same user can’t have two projects with the same name, but two different users can absolutely have the same name for a project

1 Like

Longer term /more complicated question. It occurs to me that if abundance is focusing on parameterized design there are a lot of things, supports, holes, ect that you would want inserted periodically in a design. It feels like an array or spacing function that would copy a molecule multiple times within a design subject to an external size might be interesting. Like a block for supporting the top of a table that you would want every foot or so. If we made a table design that was flexible about length, it would be cool if there was a way to periodically insert or and or space out support blocks as one changed the overall length. I appreciate any work you folks are doing on this project and am not demanding things, just thinking about abundance while I use it.

1 Like

I completely agree!

That actually already exists :grin:

Search for “pattern” and you will see a couple of options which do just that.

If you have an input for say the length of the table you can link that length to the pattern atom’s inputs to make it so that as the table grows more will be added and the spacing will adjust.

Use a equation atom for that.

1 Like

Nifty. Will try. Already got this part done but maybe worth reworking with that in mind.

1 Like

You can import parts (like beams) as github molecules, but you can also import tools which act on those parts (like pattern).

The goal is to make it easy for the community to include extensions onto the program instead of trying to support every possible feature.

1 Like

That makes sense. Cool. How complicated can the equation atoms get? In this case I would like to make a equation that says something like truncate to an integer. Or some combination of less than greater than things?

1 Like

Ok, one more question. Is it possible to output more than one overlapping volume from a molecule? It looks like I can only select one thing to output. I can assemble things and then output them but I need to output 2 overlapping volumes from a molecule so that I can use one to cut something in my main design and then use the second volume to cut off the first one. When I use assemble it doesn’t allow two things to occupy the same space.

I am doing this because I have had problems when I tried to intersect things that had a plane in common. In this case I want to make a leg to fit in a frame too long so that it can cut all of the way through a beam and then cut off the top of the leg with another volume. I wanted to put them in the same molecule because want the leg to be a modular thing that I can add more than one of in different places. I am trying to package the leg and the cut off tool in the same package.

Back again. I need to calculate something from an input that rotates a part. Rotations in Abundance are in degrees but the equation calculator seems to be in radians. Is there a cheatsheet for the equation calculator so I can figure out how to change it? Also It seems like in an engineering context that is based in degrees that abundance may wish to run the equations in degrees as well?

Sometimes it is treating pi as pi and sometimes as a variable? I think I can hack it but it is weird.

It seems that I can input pi or an expression with pi into the variable field and press enter and it will give a decimal of that calculation but If I do that in the equation field it treats pi like a variable? I just typed pi in where it pulled pi as a variable and that worked.

Update, I found the math.js instructions. https://mathjs.org/ so I can work from there. I still think that it might be a good idea to do degrees as default.

I see what you are using and why. Free math code library is pretty powerful. Hopefully this is useful to you when designing for usability as someone trying to figure out how to use it.

If I want to share a project here that is made out of many molecules, How do I do that? Would I need to share links to all of the parts?

Also when shrink wrapping, what is a “sketch” Does it mean 2D shapes on the same plane? I tried several things I tried flat shapes, I tried extruded shapes, I think my problem was that I had a hole in one of the things. Ok that worked. Got rid of the hole, used only two dimensional shapes. I have read the user guide which is pretty good but I am missing things.

How user friendly and accessible do you want this to be? It is hard when it is not possible to draw a right triangle of a given dimension. I can construct one but there is a significant barrier to entry when everything has to be constructed from only a couple of shapes. I am a geometry teacher with some cad, drafting, and engineering experience and so can do a lot of what I need to make this work but what is the goal? Also difficult that it is not possible to copy shapes formulas or nodes from inside a molecule. Is there a way to see all of the active shapes in a design while one is working? I am switching back and forth to try to see where things should go before subtracting or fusing them. Again, thankful and excited to see this develop but curious about the end goal.

Ok, so the inputs are weird. I deleted the first input but then the new one didn’t show up either. I think anything named “input” doesn’t show up in the main input menu and then is never visible again. hope that isn’t it. It is only showing one of the two inputs when I rename them.

Deleted and reloaded and saved until it all showed up. Maybe a save issue? but i did try saving a lot before, Maybe i was not saving at exactly the right time?

wouldchuck wrote:

Longer term /more complicated question. It occurs to me that if abundance is
focusing on parameterized design there are a lot of things, supports, holes,
ect that you would want inserted periodically in a design. It feels like an
array or spacing function that would copy a molecule multiple times within a
design subject to an external size might be interesting.

there will be a need for a rectangular spacing (not necessarily aligned with
X/Y) with both the number and spacing in each direction configured (ideally with
the ability to then flag some of the resulting copies to be skipped)

and a circular spacing (number of instance and degrees to cover) with the axis
not necessarily alighed with Z (and again the ability to flag some to skip)

Like a block for
supporting the top of a table that you would want every foot or so. If we made
a table design that was flexible about length, it would be cool if there was a
way to periodically insert or and or space out support blocks as one changed
the overall length.

being able to do math for spacing and number of copies is an extremely powerful
feature, need to include rounding functions (up, down, nearest). Having the
ability to specify precision so you can do this to 0.1 in instead of down(foo *
10)/10 is nice, even better if you could specify 0.25 in or other arbitrary
value.

David Lang

2 Likes

For something more complicated like that you might want to use the code atom. That will give you a full javascript environment to make it possible to do pretty much anything.

The code atom is a little bit confusing to use at the moment, but we’re working on adding an AI auto complete to make it easier to use.

If you build something useful like “Truncate to integer” that might be worth making it’s own project so anyone who wants it can import it without having to re-write it from scratch.

That is a great question. By design Abundance doesn’t support two shapes occupying the same volume but I think that there are some tools which should make what you are trying to do possible.

First I would check out tags. Tag and Extract Tag will let you put geometry into an assembly and then pull it back out in a way which makes it possible to pass multiple things out of a molecule and then separate them again.

The second thing I would check out is the “Keep Out” color. It’s basically a special color that is used to define areas which should be cut away, but which don’t have any geometry in them.

I agree, I think that we should probably be using degrees everywhere. Are you using Sin or Cos and that’s where it’s expecting radians?

This sounds like a bug to me. Let me look into that and see if I can figure out what is happening there.

How can we document this better? What do you wish the instructions said and where?

Nope! You can just share the project which contains all of the parts. Just make sure that the thing that you want to share is connected to the output and then use the share button to get a link which won’t require the person opening it to log in:

The goal is to be as user friendly as possible, but with the understanding that the vast majority of people don’t actually want to model anything at all, they just want to open an existing project with like the share link and then customize it slightly. That’s maybe 75% of the use case, then another 20% is people who are designing things but mostly by importing molecules which other folks have designed and combining them (ie import four table lets from one person and a table top from another and combine them) and then maybe 5% of users are actually generating new github molecules to share like you are doing. What you are doing is already super advanced.

The goal is to make it possible to build off of the work of others instead of having to start from scratch each time.

If there are tools that feel like they are missing (for example crating a right angle) then let’s make a new “Right Angle” tool which suddenly becomes available to everyone.

Think of it as somewhat similar to software development. Many people use software every day. Many fewer people write software, and even fewer people create their own software libraries.

It’s not? That should work :stuck_out_tongue: You can’t copy in one molecule and then paste in another?

Yes and no. If you have “Output Wire” turned on you will see a shadow of everything connected to the output so that you can see how things will fit in context. It is only for the current molecule tho, not the whole design.

That makes sense. My friend Tristan was messing around with inputs last week on Friday and I know he ran out of time to work on it before he was really satisfied with it. I’ll let him know that things are still weird there but it might be a couple of days before he has a chance to look at it.

Yeah. It is definitely in radians for sin(x) cos(x) and atan(x)

I tried both of these but it still cuts one out of the other. not really a big deal just a limitation that might be useful to be able to move more complicated things.

Maybe a mini dictionary in the abundance manual document? There is not that much that would need to be there, just so people know what type of things they can type in.

Thank you, I will try this.

Ah. I didn’t realize that control c and control v worked in there, I was trying to right click but that is already taken. Got it.

Thank you for your help. Fun tool. Will be back with other questions later.

1 Like

Thanks for asking questions and finding bugs! It is is really valuable feedback :grinning_face:

1 Like

Ok, I tried the cutting and pasting of nodes. It connected everything new together in weird ways and pasted it on top of the other nodes. the pasting did not take into account the mouse position and did not preserve the internal connections and made new ones on the pasted group.

1 Like