Discuss Scratch
- Discussion Forums
- » Show and Tell
- » XLchem - 3D live molecule render (HD) V.1.0 discussion forum
- xlk
-
Scratcher
100+ posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum

Welcome to XLchem, a 3D molecule rendering program!
·Contents·
-Introduction-
-Controls-
-Making formulas- NEW editor content
-Rendering and examples-
-History-
-Bugs-
-Introduction-
This is the Xlchem thread, here you can post ideas, formulas you've made, bug reports, or anything you'd like thats too long for a project comment. XLchem is a program that helps get a 3D model of a molecule, this is fun, but it can be useful for getting an idea of what something looks like (not just a 2D diagram, but a fully movable 3D model), designing molecules for the fun of it, or for educational purposes, so kids can get a better idea of what things are, or for more advanced users to learn how atoms interact in a molecule, and why they make th shapes they make.
-Controls-
XLchem is meant to be easy to control, yet some of the features…. just aren't easy, so heres a list of the current controls:
(arrow keys) : rotate the molecule, not recommended while simulating
(E) : reset zoom to 100% , somewhat small, but this is intended for large organic molecules.
(W) : zoom in
(Q) : zoom out
(B) : cycle BG colour (black, red, blue, white)
(R) (in v2) : To keep atoms from blinking, they draw a 1-pixel-long line, pressing (R) disables this.
(in initial release) Switches to render mode, which shades the molecule as long as you hold (R).
(F) : forces one frame worth of simulation, the speed slider determines how much they repel each other. This is in case your molecule folds into itself.
(G) : forces 100 frames of simulations, so you don't have to hold (F).
(space) : opens a dialogue for introducing a formula.
(S) : enter a number. That number atom will be selected and highlighted.
-Making formulas-
ULTIMATE NEW METHOD: EDITOR
http://scratch.mit.edu/projects/53977538/
OLD SYSTEM
Let's take water for example, here's a tutorial for encoding it's formula:
1. Water is H2O, right? That's 2 hydrogen, and one oxygen
2. Their respective symbols are “H” and “O”
3. So the first part is listing all the atoms inside this molecule with their symbol, so we end up with: HOH
4. Now we move on to telling it which atoms link to which, so to keep things separate we put a “*” right after it: HOH* (“*” is typed holding shift and “+”)
5. In water, the hydrogens bond to the oxygen, right? So we link the first and third atoms (both “H”s) to the second (the “O”) by writing the number of the atom we intend to link, a dash (“-”), and the atom to which it links. We separate these links with more “*” : HOH*1-2*3-2
6. We end this with another “*” : HOH*1-2*3-2*
ADVANCED
7. “Why is my water straight and not bent like it's supposed to be?” You might know that oxygen forms convalescent bonds, which means it “shares” electrons with what it's bonding to. Meanwhile, the rest of it's electrons that aren't being shared form “electron clouds”, which basically repel other atoms.
8. “So how do I fix it?” You should read up on the Internet how many electron clouds said atom uses, but oxygen has 2. you can simulate these by adding 2 extra atoms to your formula, like this: HOHZZ*1-2*3-2*4-2*5-2*
These are a work in progress, but in XLchem element “Z” is a non-rendered atom which repels others like any other. Keep in mind, the processing power necessary for simulating is proportional to the square of the number of atoms, so more of these will lower the fps.
NEW v2 SYSTEM
Let's take water for example, here's a tutorial for encoding it's formula:
1. Water is H2O, right? That's 2 hydrogen, and one oxygen
2. Their respective symbols are “H” and “O”
(NEW)3. So the first part is listing all the atoms inside this molecule with the amount of said atom followed by it's symbol: 2H1O
4. Now we move on to telling it which atoms link to which, so to keep things separate we put a “*” right after it: 2H1O*
5. In water, the hydrogens bond to the oxygen, right? So we link the first and second atoms (both “H”s) to the second (the “O”) by writing the number of the atom we intend to link, a dash (“-”), and the atom to which it links. We separate these links with more “*” : 2H1O*1-3*3-2
6. We end this with another “*”, and we add a tag to let the program know it's in the new system : 2H1O*1-3*3-2*
ADVANCED
7. “Why is my water straight and not bent like it's supposed to be?” You might know that oxygen forms convalescent bonds, which means it “shares” electrons with what it's bonding to. Meanwhile, the rest of it's electrons that aren't being shared form “electron clouds”, which basically repel other atoms. Check out Wikipedia's article on Lewis structures to learn more.
8. “So how do I fix it?” You should read up on the Internet the lewis structure of your molecule, but in this case, the oxygen has 2. you can simulate these by adding 2 extra atoms to your formula, like this: 2H1O2Z*1-3*3-2*4-3*5-3*
In XLchem element “Z” is a non-rendered atom which repels others like any other. Keep in mind, the processing power necessary for simulating is proportional to the square of the number of atoms, so more of these will lower the fps, but are necessary to render some molecules adequately.
(NEW)9. Double bonds: yes, they are possible. Ethylene for example, has a double bonds between “C”s, so we write this: 4H2C*1-5*2-5*3-6*4-6*5-6@2*
Putting an “@” followed by the order of the bond (2 for a double, 3 for a tripe,…) will make those two atoms stay closer, simulating a double bond.
Still, this isn't correct: you will notice that the 2 “H”s on one side are turned 90º relative to the other side… To fix this, add as many “Z”s as the order of the bond (2 for a double bond, 3 for a triple, …) that are attached to one of the atoms forming the bond, and to the other atom forming the bond.
So, we end up with this: 4H2C2Z*1-5*2-5*3-6*4-6*5-6@2*5-7*7-6*5-8*8-6* It's a lot longer, but it's perfect.
-Rendering and examples-
So, you've made a cool formula? want a picture to keep? Heres how:
1. Go full screen
2. Jiggle the molecule around until you're happy with it.
3. Press to switch BG color
4. If you want, get GIMP. a free image editor similar to photoshop, or any other image editing software and search on-line how to replace a color with transparency to give it a transparent BG, or give it one of your own.
Here's an example result:

TNT, trinitrotoluene. encoded formula:
HHHCCNOOCHCNOOCHCNOOC*1-4*2-4*3-4*4-5*5-9*9-6*6-7*6-8*9-11*11-10*11-15*15-12*12-13*12-14*15-17*17-16*17-21*21-18*18-19*18-20*21-5*

An amino acid base, by @AchillesX . Encoded formula:
HHNCCOHHO*1-3*2-3*3-4*4-5*4-7*5-6*5-9*8-9*

A cube made out of carbon. I made this in math class, not that you're supposed to do that… Encoded formula:
HCCHHCCHHCCHHCCH*1-2*3-4*5-6*7-8*9-10*11-12*13-14*15-16*2-6*3-7*10-14*11-15*2-10*3-11*6-14*7-15*2-3*6-7*10-11*14-15*

A bucky ball, a dodecahedron made out of carbon XD Encoded formula:
CCCCCCCCCCCCCCCCCCCCHHHHHHHHHHHHHHHHHHHH*1-2*1-3*1-4*2-5*3-6*3-7*4-8*4-9*2-10*5-6*7-8*9-10*10-11*5-12*6-13*7-14*8-15*9-16*17-12*17-13*18-14*18-15*19-16*19-11*11-12*13-14*15-16*17-20*19-20*18-20*1-21*2-22*3-23*4-24*5-25*6-26*7-27*8-28*9-29*10-30*11-31*12-32*13-33*14-34*15-35*16-36*17-37*18-38*19-39*20-40*

trihidroxitrinitrobenzene, something I slapped together for the fun of it. Formula:
COHCNOOCOHCNOOCOHCNOOZZZZZZZZZ*1-4*4-8*8-11*11-15*15-18*18-1*1-2*2-3*4-5*5-6*5-7*8-9*9-10*11-12*12-13*12-14*15-16*16-17*18-19*19-20*19-21*2-22*2-23*5-24*9-25*9-26*12-27*16-28*16-29*19-30*19-31*

Glucose in cyclic form. Dont forget to add the “v2” tag, scratch forums hate “][” Formula: 6C6O12H*1-2*2-3*3-4*4-5*5-6*5-7*7-1*8-6*10-4*11-3*12-2*9-1*13-1*14-2*15-3*16-4*17-5*18-6*19-6*20-8*21-9*22-10*23-11*24-12*

Isopropil alcohol by @POTATO-ATTACK999
-History-
This project has been in my mind for several years, I just never had The 3D coding skill, nor a render engine. A while back I made my first 3D point renderer, which tested several equations to compare (logarithms vs trigonometry). I eventually decided they were both terrible, and switched to a set of maths I'd recently gotten really good at: triangles and proportions, after all, the center of the screen, the rendered point, and our eyes make one triangle, the code's point's coordinates, their projection onto x=0/y=0, and the estimate position of our eyes makes another one, of same proportions. No more angles or approximations necessary, just multiplying and dividing.
So now I had a 3D point renderer of my own which worked amazingly, so I looked back at gravity simulations of the sorts, and decided to attempt to replace their trig with more triangle logic. They worked nicely. So I tried 3D. It worked terribly.
I decided to abandon 3D simulations for then, until I got back to school, and thought of it a great way to get extra marks, and also make some sense of some of the more complex formulas we had to name/formulate.
I grabbed my 3D point renderer, gutted th excess code and unused functions, and started making a code for points to repel each other, thought of a link system, wrote it on paper, coded it, and… it worked! Sort of…
The original code was glitchy, made distortions, and larger molecules would literally explode. Over time though, I ironed out glitches until it all worked, and decided to release it, so I patched a couple of things up, added a few extra atoms and buttons and wrote this page!
For the name I doubted a bit, since I wanted my user name in it, yet I wanted it to sound nice, and Xchem is used already, so I thought: XLK->XL“kay”->XL“kem”->XLchem. Bingo.
Future plans include making a separate editor, an export code, and possibly reshuffling the inner workings a bit to make it less “hard-coded”
-Bugs-
-miss-typed formulas and long formulas freeze the program. Still trying to figure out why….
LINK: http://scratch.mit.edu/projects/36830854/
Suggestions? Ideas? Formulas? Post the here, just make sure to state what you're posting, so it's easy to find suggestions between bug reports and vice-versa.
Last edited by xlk (April 9, 2015 19:47:39)
- SilverEagle
-
Scratcher
500+ posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
I'm posting feedback. 
This is amazing! I love this! My younger brother loves science and molecules, and we've spent the better part of an hour experimenting with molecules and making others. Incredible! Also, how do you make elements that have two letters (eg. Cu) work?

This is amazing! I love this! My younger brother loves science and molecules, and we've spent the better part of an hour experimenting with molecules and making others. Incredible! Also, how do you make elements that have two letters (eg. Cu) work?
Last edited by SilverEagle (Oct. 5, 2014 19:54:12)
- xlk
-
Scratcher
100+ posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
I'm posting feedback.elements with 2 letters are writen as they are, Cu would be Cu, so copper oxide would be CuO*1-2*
This is amazing! I love this! My younger brother loves science and molecules, and we've spent the better part of an hour experimenting with molecules and making others. Incredible! Also, how do you make elements that have two letters (eg. Cu) work?
Keep in mind, it only has a few elements in it so far, I'll add more as time goes on. So far the elements that have been added are:
C H O Li Na N F S Cl
“Z” is a work in progress, it's meant to simulate electron clouds (electrons which aren't forming a bond, they give H2O it's characteristic angle), which will eventually work realistically, and after that will be something the program adds on its own.
Any elements you'd like added specifically? let me know! There are plenty to add, yet many are generally not used…
- SilverEagle
-
Scratcher
500+ posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
You should add Copper (Cu), Zinc (Zn), and Phosphorus (P).
- AchillesX
-
Scratcher
4 posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
Buckyball… wut. That's a really long code. It would be insane if you could Just put in H2O or C6H12O6 in and it would spit out the correct molecule, but that's close to impossible xD. Really really great project!
- DanloVorje
-
Scratcher
100+ posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
Here's some feedback:
Excellent project! A few notes/suggestions/questions:
Number 1: Z placement
The arrangement system is unreliable for molecules where the central atom has steric number 5. Inputting the same code over and over again will yield different results as the nonbonding electron pairs are sometimes placed incorrectly, other times correctly. Two examples, chlorine trifluoride and sulfur tetrafluoride, are listed below:
ClFFFZZ*1-2*1-3*1-4*1-5*1-6* (should be T-shaped)
SFFFFZ*1-2*1-3*1-4*1-5*1-6* (should be seesaw-shaped)
What's needed is a script that prioritizes placement of nonbonding pairs to minimize the number of 90-degree angles they are at from bonding pairs and each other.
Number 2: Double bonds
It would be cool to add in a way for the program to accurately render double bonds between atoms. I tried out ethylene (code below) and the two carbons seemed to be arbitrarily rotated about their shared bond, rather than the entire molecule being planar.
CHHCHH*1-2*1-3*1-4*1-4*4-5*4-6*
Perhaps you could set something up so that the notation *1=2* means that 1 is double-bonded to 2, and thus the atoms must be equatorially aligned. (or more generally, since you aren't messing with bond lengths, just use *1=2* to represent any multiple bond between 1 and 2 (ie CN triple bond or NO2 pi-network bond)).
Number 3: Debug mode
It would be nice to have a mode where the nonbonding pairs are shown so that users can check to make sure they remembered to enter all of the requisite part of the atoms. This would help distinguish between user error and program error. I'm mostly asking for this because as much as I tried, I couldn't get formic acid to look right, and I wanted to see where the program was placing those nonbonding pairs.
Number 4: Coloring
Is there any particular reason you aren't using standard CPK color-coding of atoms?
If you need clarification on anything, just ask! I'm looking forward to updates on this project.
–Danlo
Excellent project! A few notes/suggestions/questions:
Number 1: Z placement
The arrangement system is unreliable for molecules where the central atom has steric number 5. Inputting the same code over and over again will yield different results as the nonbonding electron pairs are sometimes placed incorrectly, other times correctly. Two examples, chlorine trifluoride and sulfur tetrafluoride, are listed below:
ClFFFZZ*1-2*1-3*1-4*1-5*1-6* (should be T-shaped)
SFFFFZ*1-2*1-3*1-4*1-5*1-6* (should be seesaw-shaped)
What's needed is a script that prioritizes placement of nonbonding pairs to minimize the number of 90-degree angles they are at from bonding pairs and each other.
Number 2: Double bonds
It would be cool to add in a way for the program to accurately render double bonds between atoms. I tried out ethylene (code below) and the two carbons seemed to be arbitrarily rotated about their shared bond, rather than the entire molecule being planar.
CHHCHH*1-2*1-3*1-4*1-4*4-5*4-6*
Perhaps you could set something up so that the notation *1=2* means that 1 is double-bonded to 2, and thus the atoms must be equatorially aligned. (or more generally, since you aren't messing with bond lengths, just use *1=2* to represent any multiple bond between 1 and 2 (ie CN triple bond or NO2 pi-network bond)).
Number 3: Debug mode
It would be nice to have a mode where the nonbonding pairs are shown so that users can check to make sure they remembered to enter all of the requisite part of the atoms. This would help distinguish between user error and program error. I'm mostly asking for this because as much as I tried, I couldn't get formic acid to look right, and I wanted to see where the program was placing those nonbonding pairs.
Number 4: Coloring
Is there any particular reason you aren't using standard CPK color-coding of atoms?
If you need clarification on anything, just ask! I'm looking forward to updates on this project.
–Danlo
Last edited by DanloVorje (Oct. 7, 2014 18:59:59)
- xlk
-
Scratcher
100+ posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
A few notes/suggestions/questions:1: That's on the to do list in an odd way: Extra data. This will be a list of particle positions. Useful also for cis/trans molecules, the ones that can be flipped,like HOOC=COOH Also, electron clouds are a work in progress, I haven't learnt much about them other than general effects and aproximation, but I have 2 major modifications planned for th physics engine.
There will also be a 2D editor at some point, but my main problem now is finding time… ^,^''
2: I was thinking about that, and your “=” idea for identifying them gave me an idea for making them: adding 2 “Z” atoms, this would disable spining, so something like this: HHCCHHZZ*1-3*2-3*3-4*4-5*4-6*3-7*7-4*3-8*8-4* Try it, it works. “Z” was meant as a structural component, though its main use was simulating electron clouds. These “Z”s will be disabled and added automatically eventually.
3: That fits in to the 2D editor, which will show bonded atoms with a line.
4:CPK coloring? thats new to me, thank you for letting me know! I just went coloring them as I went along, whatever looked nice and realistic-ish. It will eventually have vector sprites for rendering showing symbol of each atom.
—
After looking it up, I know understand where all that red oxygen models come from… anywho, I'll look into it, this means a whole new color table, but meh, I'll work on it.
Thanks a ton for the feedback! I'll put higher priority to these suggestions.
- -Jie-
-
Scratcher
13 posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
Hi!
You have a fantastic project, I'm very impressed that you worked out your own 3D renderer.
I haven't look at your code very much in detail, and I'm not a chemist (physics FTW) so my input will be small but I have a couple of suggestions.
For the Cl-I/C-Li problem, I have two.
First one, in your formulas separate every element by commas, then you can parse the individual elements out. It would make your formula a bit longer and uglier. To make is shorter, you could also use a language like: 2,H,1,O* (as in, “number of element” “comma” “element” repeat). It reduces the bucky ball to 20,C,20,H*. Just repeat 20 times adding “C” to your list and the rest of your code doesn't have to change.
Second, it's a very neat trick that I saw @griffpatch use in this project http://scratch.mit.edu/projects/22925968/ to differentiate between lower and capital letter.
You have to prepare costumes for your sprite, but they can be empty. Name the first one ‘lowercase’ and all the other costumes as all the capital letter you might need. Read a letter, put it in a variable c and then
Clever right? This blew my mind
Of course you can inverse lower case and upper case, just inverse the logic.
It's frightening sometimes how little things like capital letter can make tour code so much more complex. But it's fun to solve.
Other advice, but I won't go into too many details unless you want me to, but to render things faster, you could create one clone per atom, then each clone has one job, draw one atom. This goes much faster than one sprite drawing everything when you have a bunch of atoms. If you don't want to have too many clones, you can still divide the work. This requires a good understanding of how clones work (and especially local variables), I was able to use this trick very effectively in my last project, but I'm still learning. I'm sure many people use this, but it's a bit long, I'll try to explain more only if you want to try it out.
Anyway, great job!
- Jie -
You have a fantastic project, I'm very impressed that you worked out your own 3D renderer.
I haven't look at your code very much in detail, and I'm not a chemist (physics FTW) so my input will be small but I have a couple of suggestions.
For the Cl-I/C-Li problem, I have two.
First one, in your formulas separate every element by commas, then you can parse the individual elements out. It would make your formula a bit longer and uglier. To make is shorter, you could also use a language like: 2,H,1,O* (as in, “number of element” “comma” “element” repeat). It reduces the bucky ball to 20,C,20,H*. Just repeat 20 times adding “C” to your list and the rest of your code doesn't have to change.
Second, it's a very neat trick that I saw @griffpatch use in this project http://scratch.mit.edu/projects/22925968/ to differentiate between lower and capital letter.
You have to prepare costumes for your sprite, but they can be empty. Name the first one ‘lowercase’ and all the other costumes as all the capital letter you might need. Read a letter, put it in a variable c and then
switch costume to [lowercase v]If the variable c is a capital letter, the costume number will change to match it because the costume functions makes the difference between lower/upper. If the variable is a lower letter, it sees no match in the costume names and it doesn't change costume.
switch costume to (c)
if <(costume #) = [1 ]> then
set [islower? v] to [ yes ]
else
set [islower? v] to [ no ]
end
Clever right? This blew my mind

Of course you can inverse lower case and upper case, just inverse the logic.
It's frightening sometimes how little things like capital letter can make tour code so much more complex. But it's fun to solve.
Other advice, but I won't go into too many details unless you want me to, but to render things faster, you could create one clone per atom, then each clone has one job, draw one atom. This goes much faster than one sprite drawing everything when you have a bunch of atoms. If you don't want to have too many clones, you can still divide the work. This requires a good understanding of how clones work (and especially local variables), I was able to use this trick very effectively in my last project, but I'm still learning. I'm sure many people use this, but it's a bit long, I'll try to explain more only if you want to try it out.
Anyway, great job!
- Jie -
- AliyevElvin
-
New Scratcher
1 post
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
good
)
)
- Cukee8
-
Scratcher
49 posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
hey xlk. I made a list of some IRL molecules if you want to add them to your list Salt: NaCl*1-2* Fructose: HOHOHOHOHOO*1-2*3-4*5-6*7-8*9-10*1-11*1-3*3-5*5-7*7-9*9-11* Caffeine: CCCCCCCCHHHHHHHHHHOONNNN*1-9*1-10*1-11*1-21*2-21*3-21*19-3*3-24*24-8*13-8*14-8*15-8*24-6*6-20*5-6*2-6*2-22*6-23*22-7*23-7*7-12*23-4*4-16*4-17*4-18*
- tungsten
-
Scratcher
15 posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
cool!

I think you should do the elements with only one letter for symbol :
hydrogen(H)
boron(B)
carbon(C)
nitrogen(N)
oxygen(O)
fluorine(F)
phosphorus(P)
sulfur(S)
potassium(K)
vanadium(V)
yttrium(Y)
iodine(I)
tungsten(W)
uranium(U)


I think you should do the elements with only one letter for symbol :
hydrogen(H)
boron(B)
carbon(C)
nitrogen(N)
oxygen(O)
fluorine(F)
phosphorus(P)
sulfur(S)
potassium(K)
vanadium(V)
yttrium(Y)
iodine(I)
tungsten(W)
uranium(U)
- tungsten
-
Scratcher
15 posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
try this!
if <(answer) = [H ]> then
set pen color to [#ff0001]
set pen size to (1)
if <(answer) = [ He]> then
set pen color to [#ff0088]
set pen size to (1)
end
Last edited by tungsten (Oct. 17, 2014 13:13:16)
- Cukee8
-
Scratcher
49 posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
I made a monosaccharide! CCCCCCOOOOOOHHHHHHHHHHHH*1-2*2-3*3-4*4-5*5-12*12-1*1-7*2-8*3-9*7-11*4-10*5-6*1-12*2-13*3-14*4-15*5-16*6-17*7-18*8-19*9-20*10-21*11-22*12-23*6-24*
- rocketclock123
-
Scratcher
100+ posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
define XLchem
say [awesome!]
- tungsten
-
Scratcher
15 posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
I made CFCs!
FCClClCl*1-2*3-2*4-2*5-2*
FCClClCl*1-2*3-2*4-2*5-2*
- tungsten
-
Scratcher
15 posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
I also made sulphuric acid!
HOSOOOH*1-2*2-3*4-3*5-3*6-3*6-7*
HOSOOOH*1-2*2-3*4-3*5-3*6-3*6-7*
- tungsten
-
Scratcher
15 posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
I made so many compounds today!
ferrous sulphate: OOSOOFe*1-3*2-3*4-3*5-3*6-4*6-5*
copper sulphate:CuOOSOO*1-2*2-4*3-4*5-4*6-4*
aluminum arsenide: AlAs*1-2*
boron trifluoride: FFBFZZ*1-3*2-3*4-3*1-5*2-5*2-6*3-6*
hydrobromic acid: HBr*1-2*

ferrous sulphate: OOSOOFe*1-3*2-3*4-3*5-3*6-4*6-5*
copper sulphate:CuOOSOO*1-2*2-4*3-4*5-4*6-4*
aluminum arsenide: AlAs*1-2*
boron trifluoride: FFBFZZ*1-3*2-3*4-3*1-5*2-5*2-6*3-6*
hydrobromic acid: HBr*1-2*
- tungsten
-
Scratcher
15 posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
Potassium dichromate:KKCrCrOOOOOOO*1-5*2-6*5-4*6-3*7-3*7-4*8-3*9-3*10-4*11-4*
- tungsten
-
Scratcher
15 posts
XLchem - 3D live molecule render (HD) V.1.0 discussion forum
Potassium dichromate:KKCrCrOOOOOOO*1-5*2-6*5-4*6-3*7-3*7-4*8-3*9-3*10-4*11-4*
- Discussion Forums
- » Show and Tell
-
» XLchem - 3D live molecule render (HD) V.1.0 discussion forum










