Hi Yawei,
schSheetTitles is primarily there to allow you to set up the Edit->Sheet Titles form so that the user can then fill in properties which get stored on the instance of the sheet, and are displayed via an NLP Label on the sheet symbol (e.g. [@company] or [@project].
You can make the labels have a default value. Instead of the label being [@company] say, it could be [@company:%:Designer's Guide] - so it would show "Designer's Guide" until you'd gone to Edit->Sheet Titles and changed it to the value you want.
That doesn't really help you for a project though, since you're unlikely to want a single default value.
A couple of possibilities:
- Have some SKILL trigger (using schRegPreCheckTrigger for example) which at check (and save) time looks for an instance of a sheet on your schematic, and fills in the project property for you.
- Change the label to be a label of labelType ILLabel, and have it a SKILL expression - e.g. getShellEnvVar("PROJECT"). This means it will show whatever the PROJECT UNIX environment variable is.
- If the UNIX env var is too transient - you could add a property on your design library (for example) to indicate the project to which it belongs. Assuming this property was called PROJECT, your ILLabel could have the expression ilInst~>cellView~>lib~>PROJECT
You might also find this solution on Cadence Online Support useful:
http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:ViewSolution;solutionNu...Kind Regards,
Andrew.