This is how I do it.
Machforms allows URL parameters, which means you send variables to a Machform and it will pre-populate the fields with those variables.
You need to allocate which variable goes into which field, and the field name is the [element] number.
For example. If element_1_1 if a forename field you want pre-populated with “John”, and alement_1_2 if a surname you want pre-populated with “Smith”, then the URL you call the Machform would be something like:
https://www.yoursite.com/form/view.php?id=1&element_1_1=John&element_1_2=Smith
In you case, you use a non-Machform, so you need to make that form call the above-URL to pre-populate the machform.
If you have a complex variable arrangement, then create a php script that that is executed by the non-machform when the client submits it, then have the php script create the custom URL with your variables and calls the Machform, and et-voila! For Machform is pre-populated.