I believe what you're describing is best done using a product variation.
The answer posted about using Rules is a good idea. I'm very, very new to Commerce, but I have an alternate approach that might work for you.
You'll start by creating a Product type of "rope": /admin/commerce/products/types
In that product type, you'll add two new fields: length and diameter.
I would suggest to you that you create ranges of length and diameter, as this will be the easiest method to control pricing. So your diameter will be a pulldown list of values. The length will also be a pulldown list, but contain ranges: "less than 4 feet", "4 to 8 feet".
With both of these fields you want to check: Enable this field to function as an attribute field on Add to Cart forms.
NOW! "Add a product" of the type "Rope". This is where things get a bit complex, but essentially you're going to create a product variation. Each variation of the product has to be created and have a price assigned by you. This can be HELL if you have a lot of options, as the amount of variations grows rapidly. Maybe outside the scope of this question, but I have found a way to auto-generate product variations: Moving or creating many product variations.