You can do this part with the calculations also. You can create an adjusted price column that will vary dependent on the size of the item like this:
AdjPrice = ((abs([size] == "1.7") * 1) * (45)) + ((abs([size] == "3.4") * 1) * (65))
In the calculation above the abs() function is a mathematic operation that will return either a 1 or 0 based on weather the expression or condition is true (1) or false (0). So if you have a 1.7 ounce it will multiply 1 * 45 then add 0, if you have the other size this will be 0 and added to 65.
If you have these prices held in the database along with the size then you could also get the price to reflect the size by filtering a recordset based on the selected size, then in the add to cart server behavior you will reference this price column from the recordset instead of the value you have bound to this column already.