You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Horizon's parameter programs have an aspect that makes them very hard to edit: polygon coordinate lists hard-coded in the program. The most common use case for the parameter program is to take some existing shape (such as a polygon on the copper layer) and expand or shrink it (to generate an offset polygon for the solder paste or solder mask layers). Yes, you can click the 'generate expand polygon' button to populate the coordinates. But why not express this workflow in the parameter program directly?
Here is an example of an existing parameter program, from the WDFN8 Pads 5-8 padstack:
Parameter programs should be idempotent, i.e. you should be able to run them any number of times on a single document with the output not changing. Expanding the polygon in-place would defeat that.
I see. Yes, it would require separately storing a polygon's "as-drawn" state from the shape of the polygon after the parameter program's execution, so that only the as-drawn state is usable as the polygon program input. Maybe that's too much complexity.
Horizon's parameter programs have an aspect that makes them very hard to edit: polygon coordinate lists hard-coded in the program. The most common use case for the parameter program is to take some existing shape (such as a polygon on the copper layer) and expand or shrink it (to generate an offset polygon for the solder paste or solder mask layers). Yes, you can click the 'generate expand polygon' button to populate the coordinates. But why not express this workflow in the parameter program directly?
Here is an example of an existing parameter program, from the WDFN8 Pads 5-8 padstack:
Look at all those magic numbers... So hard to make any changes to this padstack!
What if all that could be replaced by something like this:
Or even this:
What do you think?
The text was updated successfully, but these errors were encountered: