Electron-flow arrows

User 870ab5b546

19-10-2004 10:47:11

Hi,





Now that you're ready to reveal Marvin's new electron-flow arrows to the world, I have a few suggestions to improve them further.





(1) If two atoms are within bonding distance, it's not possible to draw an electron-flow arrow from one of those atoms to the incipient bond between them. It should be.





(2) If the target atom has a + sign that lays along the axis between the two atoms, it's not possible to draw an electron-flow arrow from one of those atoms to the incipient bond between them. It should be. E.g., I can't draw an electron-flow arrow from Cl to the incipient bond between Cl and CH+ in this structure:





Code:
<?xml version="1.0"?>


<MDocument>


  <MChemicalStruct>


    <molecule molID="m1">


      <atomArray


          atomID="a1 a2 a3 a4 a5 a6"


          elementType="C C C C C Cl"


          formalCharge="0 0 0 0 1 -1"


          x2="-10.616666793823242 -11.86253312284027 -11.386670705453048 -9.846662882193435 -9.370800464806214 -6.133274692321049"


          y2="4.92665881018222 4.0214422116702195 2.5568947717503274 2.5568947717503274 4.0214422116702195 4.653357128774585"


          />


      <bondArray>


        <bond atomRefs2="a1 a2" order="1" />


        <bond atomRefs2="a2 a3" order="1" />


        <bond atomRefs2="a3 a4" order="1" />


        <bond atomRefs2="a4 a5" order="1" />


        <bond atomRefs2="a1 a5" order="1" />


      </bondArray>


    </molecule>


  </MChemicalStruct>


</MDocument>








(3) When drawing an electron-flow arrow from an atom to an incipient bond between that atom and a target atom, the cursor needs to be dragged fairly close to the target atom (that's good), but when Marvin "locks onto" the desired incipient bond, the arrow suddenly "jerks back" so that it is pointing to the midpoint of the incipient bond. The "jerk-back" action is distracting to the user.





Thanks,





Bob

ChemAxon 7c2d26e5cf

19-10-2004 15:29:13

We will fix the first two issues and discuss the third.


Thanks a lot for the feedback.

User ef5e605ae6

13-01-2005 09:31:06

(1) I don't really understand... Could you send an example mrv file?


(2) Fixed. It will be possible in Marvin 3.5.3.


(3) What should Marvin do instead?

User 870ab5b546

13-01-2005 18:41:06

(1) Try this:





Code:



<?xml version="1.0"?>


<MDocument>


  <MChemicalStruct>


    <molecule molID="m1">


      <atomArray


          atomID="a1 a2 a3 a4 a5 a6"


          elementType="C C O C O C"


          formalCharge="1 1 -1 0 -1 0"


          x2="-2.508333444595337 -4.433333396911621 -6.008333206176758 -7.548333206176758 -5.6583333015441895 -7.1983333015441895"


          y2="2.799999952316284 -1.3416666984558105 2.799999952316284 2.799999952316284 -1.3416666984558105 -1.3416666984558108"


          />


      <bondArray>


        <bond atomRefs2="a3 a4" order="1" />


        <bond atomRefs2="a5 a6" order="1" />


      </bondArray>


    </molecule>


  </MChemicalStruct>


  <MEFlow arcAngle="150.0" headSkip="0.15" headLength="0.5" headWidth="0.4"


          tailSkip="0.25">


    <MAtomSetPoint atomRefs="m1.a3" />


    <MAtomSetPoint atomRefs="m1.a3 m1.a1" />


  </MEFlow>


  <MTextBox>


    <Field name="text"><![CDATA[arrow can be drawn from O to between O and C]]></Field>


    <MPoint x="-0.6416667997837067" y="3.1499998569488525" />


    <MPoint x="12.653666533549625" y="3.149999856948856" />


    <MPoint x="12.653666533549625" y="2.4313331902821904" />


    <MPoint x="-0.6416667997837209" y="2.431333190282187" />


  </MTextBox>


  <MTextBox>


    <Field name="text"><![CDATA[arrow can't be drawn from O to between O and c]]></Field>


    <MPoint x="-1.691666841506958" y="-0.9333333596587181" />


    <MPoint x="11.706333158493042" y="-0.933333359658711" />


    <MPoint x="11.706333158493042" y="-1.6520000263253767" />


    <MPoint x="-1.6916668415069598" y="-1.6520000263253838" />


  </MTextBox>


</MDocument>








(3) Don't have the arrow "jerk back" until the mouse is released. The appearance of the dashed line between the two atoms lets the user know that the arrow has locked on to the appropriate atom-to-atom axis.

User ef5e605ae6

17-01-2005 11:08:08

(1) Thanks, I fixed it. It will be possible in 3.5.3.





(3) The proposed behavior would be easy to implement, only one line of code has to be changed. But such a behavior would be unfamiliar to the users. Try "snap to grid" in GIMP, OpenOffice Draw, or in any other drawing program which has a grid (probably ms programs too). When you draw a line, you see its the final position BEFORE releasing the mouse button. The line end is always locked to the closest grid point. I think it is a very practical feature in drawing programs, that you see the result before performing the operation. If we invent something else, then it should be better at least...

User 870ab5b546

11-12-2006 03:36:25

bobgr wrote:
(1) If two atoms are within bonding distance, it's not possible to draw an electron-flow arrow from one of those atoms to the incipient bond between them. It should be.


Hi folks,





This behavior continues to be a problem in the latest versions of MarvinSketch.





-- Bob

User f359e526a1

13-12-2006 08:44:10

All right, I will check the version control what went wrong.

User ef5e605ae6

05-01-2007 20:05:37

(Sorry for the late answer.)


Yes, it seems that it does not work if the atoms are very close. But it does not seem to be realistic, to place those atoms so close. Could you send a realistic example (in mrv)?





Peter

User 870ab5b546

05-01-2007 20:33:14

Remember, I'm dealing with undergraduates here.





But hm, now I appear to be able to do it. Here's the example:





Code:
<?xml version="1.0" ?>


<MDocument>


  <MChemicalStruct>


    <molecule molID="m1">


      <atomArray


          atomID="a1 a2 a3 a4 a5 a6"


          elementType="C O C C O C"


          formalCharge="0 0 0 0 -1 0"


          x2="-1.5750000476837158 -1.5750000476837158 -2.9086791695117515 -0.2413209258556801 -0.23333333432674408 1.306666665673256"


          y2="1.3416666984558105 2.8816666984558106 0.5716666984558105 0.5716666984558108 1.9249999523162842 1.9249999523162842"


          />


      <bondArray>


        <bond atomRefs2="a1 a2" order="2" />


        <bond atomRefs2="a1 a3" order="1" />


        <bond atomRefs2="a1 a4" order="1" />


        <bond atomRefs2="a5 a6" order="1" />


      </bondArray>


    </molecule>


  </MChemicalStruct>


</MDocument>


User 56c4fc7140

22-02-2007 20:28:10

Hi,





I'm a total NOOB, so please pardon my questions...





(1) how do you add a reaction object to a mdocument?





(2) how do you add an meflow object to a mdocument?





(3) how do you directly write (export) a mdocument object to disk? MolExport only works with mol/rxnmol objects. Is there another exporter utility?





Thanks!

ChemAxon 7c2d26e5cf

23-02-2007 14:48:02

Quote:
Hi,





I'm a total NOOB, so please pardon my questions...





(1) how do you add a reaction object to a mdocument?





(2) how do you add an meflow object to a mdocument?





(3) how do you directly write (export) a mdocument object to disk? MolExport only works with mol/rxnmol objects. Is there another exporter utility?





Thanks!
Dear P.


I've already answered the same questions to you in the other topic: saving meflow/reaction/mdocuments to disk