(bit of a ramble, might have written the same thing twice, my brain is off to all places today
)
---
The XMOL has the information for both the frame and lens because that's what it does. It has the mesh information, alongside the belonging 3DIR. It also had other info, like age/gender/category/etc.
It has nothing to do with being one for the "frame" and one for the "lens" group (it's for all involved groups belonging to that XMOL/3DIR pair) - in accessories you get one XMOL for each involved age/gender when the file is directly from Bodyshop and unedited. You could be seeing fewer XMOLs with more ages/genders involved, but then that file is (with a very high degree of certainty) edited, due to how they behave when recolored in Bodyshop.
Why there are two (almost) identical ones? Check the "Age" and "Gender" lines
---
The XMOL/Mesh Overlay is the "PropertySet" variation for accessories.
There's also the Texture Overlay variation (for makeup and similar, can't remember the letters, too lazy to open
SimPE right now).
They seem to handle age/gender categories slightly different for recoloring***, and there are other minor differences, but otherwise they have the same function, same purpose, they just handle different types of CAS items.
There's a few glasses that have Frame, rim and lens. Can't remember the name of those, but if you just need one more mesh group those could be a good standin.
You can change them the same way you do Property Sets, but make sure you change all of the Frame XMOLs if there are multiple ones. Probably best to do the Frame group - the Lens group can sometimes have some issues.
*** One of the ways they handle recoloring different is that if they detect two genders used in one XMOL ("3" used in the "gender" parameter), they'll generate one XMOL for each gender in any recolors you make of that file, with genders 1 and 2 instead. If they detect more than one age in a XMOL - for instance if you only make AF and AM in the original file, but set them as 58 in the "age" parameter - it generates one for each age/gender, splitting them up.
However, in the PropertySet, if there is more than one age/gender, it's not going to generate more PropertySet resources.
(I "abuse" this very much when making accesory files, because who wants to link up almost double the files when it's possible to nearly halve the number? If I need all-age accessories, I'll also use the PM file to make infant recolors in the same files, and edit the age from toddler to infant in
SimPE later, because I can
- I only wish this particular method was possible with hairs...)
So if your accessory is lacking a gender/age, you can very easily "just" add it by editing the closest XMOL in age (add up the ages), then make a recolor, link up the mesh (usually needs to be the based on the proper age/gender, but otherwise fine) to the new XMOL (you can even add the mesh resources to the original mesh file if you want), and TADA, new age added
---
If there's two XMOLs for child and two for toddler, you can delete one XMOL each, and set both remaining to 3 for age.
If there's both AF and YF, and AM and YM, you can combine the AF/YF into 48 for age, and delete the YF XMOL. Do the same for the male AF/YF.
If it's a head-only, or hand-held accessory, you can also combine EF and EM with their respective YAF/YAM into 58 for age, and delete the EM/EF XMOLs.
If it's a hand-held accessory, you can combine all the adults into one adult (age 58, gender 3), and both teens into one teen (age 4, gender 3). Hand placement is the same across all adults (fingers vary a bit, so won't work with rings, but things like cups/flashlights/flowers/etc.), and across teens.
Then do the changes you need to do to the XMOLs, and make a test recolor to see if it worked.
This reduces your work with the editing significantly (mesh linking, copying over info), and your recolors will still come out with the usual amount of XMOLs.
---
And just a few general tips if you're somewhat new to accessories - if you're working with a recolor directly from ingame glasses, or from an older set, make sure to set the TXMTs to "SimStandardMaterial" in the "cMaterialDefinition" tab, or they could appear see-through. Some are fine, but about half have the wrong setting. It's been a bug since Pets, I think.
I also tend to change any TXMTs that are meant to be fabric or otherwise plain to these parameters (same as most clothes and skin) so they don't appear too dark or weird, because the default TXMTs are a bit off - maybe fine for dark glasses, but not for pretty much anything else:
stdMatDiffCoef: 1,1,1,1
- stdMatSpecCoef: 0.099,0.099,0.099
- stdMatSpecPower: 2