A method for enforcing a contract for a computer-aided-design (CAD) tool
is provided. In this method, a first payment for the CAD tool is made in
accordance with the contract. The first payment is associated with user
access to the CAD tool. At this point, the CAD tool can be used, wherein
the computer system running the CAD tool includes criteria for requesting
at least one additional payment for the CAD tool. Each additional payment
is associated with generating an output. The computer system is
responsive to one or more trigger conditions corresponding to the
criteria. A payment request is received when an output generated by the
CAD tool satisfies a trigger condition. For example, one trigger
condition adds a watermark to the output for identifying the output as
having been produced by the CAD tool.