Trim the asparagus and cut into 2-inch pieces, then set aside. Finely julienne the sun-dried tomatoes into thin strips and set aside. Slice the green onions and chop the fresh parsley, keeping them separate. Freshly grate the parmesan cheese and set aside. Fill a large pot with salted water and bring it to a boil—this will be ready when you finish roasting the asparagus.
Preheat your oven to 400°F and lightly oil a baking sheet. Toss the asparagus pieces with 1.5 tbsp olive oil, salt, and pepper until evenly coated. Spread them in a single layer on the baking sheet and roast for 15 minutes until they're tender with slightly caramelized edges. While the asparagus roasts, your pasta water should reach a boil.
Once your pasta water is boiling, add the penne and cook according to package directions until al dente (usually 9-11 minutes). While the pasta cooks, remove the asparagus from the oven and let it cool slightly. Drain the pasta well when it's ready, then toss immediately with 1.5 tbsp olive oil to prevent sticking—I like to do this right in the pot while it's still warm so the oil distributes evenly.
Transfer the warm oiled pasta to a large mixing bowl. Add the sun-dried tomatoes, lemon juice, and butter while the pasta is still warm—the residual heat will help the butter melt and coat everything beautifully. Gently fold in the roasted asparagus, grated parmesan, sliced green onions, chopped parsley, and red pepper flakes. Toss everything together gently until well combined, being careful not to break the asparagus pieces.
Transfer the pasta salad to a serving bowl or plate. Serve while still warm or at room temperature, depending on your preference. This dish tastes wonderful either way, though I prefer serving it warm so the flavors are more vibrant and the butter coating feels more luxurious on the palate.