Environment Information
Open Babel version: Open Babel 3.1.1 - Feb 7 2022 - 06:51:49 Operating system and version: Ubuntu 22.04.2 LTS
Expected Behavior
3D-structure generation from given SMILES string. Converting from SMILES -> OXYZ (coordinates). By using the defaults in the -gen3D it should generate valid OXYZ coordinates (not broken fragments)
Actual Behavior
Instead it generates OXYZ coordinates that when visualized correspond to a molecule broken in fragments, with no warnings.
Steps to Reproduce
Using as example the SMILES: "C1=Cc2csc(C3=c4[se]c5c(ccc6ncccc65)c4=CC3)c2[SiH2]1" if I try to generate the 3D structure (OXYZ):
- Using the default parameters: obabel -:"C1=Cc2csc(C3=c4[se]c5c(ccc6ncccc65)c4=CC3)c2[SiH2]1" -gen3D -h -O test1.xyz (terminal output): $ 1 molecule converted then I visualize the structure loading the XYZ coordinates with AVOGADRO:

- Specifying the correct force-field to be used: obabel -:"C1=Cc2csc(C3=c4[se]c5c(ccc6ncccc65)c4=CC3)c2[SiH2]1" -gen3D -h -minimize -ff UFF -O test2.xyz (terminal output): $ 1 molecule converted then I visualize the structure loading the XYZ coordinates with AVOGADRO:

From the openbabel -gen3D documentation (https://open-babel.readthedocs.io/en/latest/3DStructureGen/SingleConformer.html):
-gen3D will use MMFF94 by default which will not work since atoms like "Se" are not defined in MMFF94 (see https://open-babel.readthedocs.io/en/latest/Forcefields/mmff94.html#mmff94-force-field)
c
MMFF94 will not work because of some of the atoms (Se) present in my molecule, but that in principle its ok because according to the -gen3D documentation (https://open-babel.readthedocs.io/en/latest/3DStructureGen/SingleConformer.html) by default also it uses the -medium which DOES forcefield optimization.
Summary
I believe that the default configuration of the -gen3D command should result in it recognizing that it cant use MMFF94 forcefield on my molecule because of the "Se" atom and then because by default it uses -medium it should optimize the forcefield and use UFF instead. And if this is not the case, and it is using MMFF94 it should print out a warning or do not give any output, since any other output would be wrong.