• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Allegro X PCB Editor
  3. Problems with Tutorial

Stats

  • Replies 3
  • Subscribers 159
  • Views 14563
  • Members are here 0
More Content

Problems with Tutorial

budnoel
budnoel over 12 years ago
I have been attempting to learn SKILL by following a tutorial I found at referencedesigner.com   I've copied the instructions from the tutorial below and when I attempt to run the command I get the following message:  Command > formbutton
E- *Error* axlFormDisplay: argument #1 should be any user-defined (other) type (type template = "o") - nil   Can anyone explain what might be wrong?  Thanks in advance.
SKILL code tutorial begins here :

Allegro SKILL Tutorial | Forms




Copy the following code in a file form.il and save it in the directory C:/cadence/setup/skill (or the directory that allegro.ilinit points to). 

 
axlCmdRegister( "formbutton" `formbutton)
; -----------------------------------------------------------------
procedure( formbutton()

	les1_form = axlFormCreate( (gensym) "les1.form" nil 'les1_form_Action t)
	axlFormDisplay(les1_form)

); end of procedure
; -----------------------------------------------------------------
procedure( les1_form_Action(les1_form)
	case( les1_form->curField

		("Close_button"
        	axlFormClose( les1_form )
		 	axlCancelEnterFun( )
      	); --------------------------

 		("Run_button"
			if( axlFormGetField( les1_form "report") then  
				axlUIConfirm( "Report value is t (True) ")
			else
				axlUIConfirm( "Report value is nil (False) ")
			); end if
			
      	); --------------------------	
	); end case
); end of procedure
; -----------------------------------------------------------------


What does this skill code do



There are four axl statements for the form

axlFormCreate - Creates a Form
axlFormDisplay - to Display the form
axlFormClose - to Close the form 
axlFormGetField - retrieve the elements in the form



Other code should be easy to follown. 
Now creat another file called les1.form with the following content 
 
FILE_TYPE=FORM_DEFN VERSION=2
FORM
FIXED
PORT 25 20
HEADER "Referencedesigner.com"

TILE
#======================
FIELD report
FLOC 2 2
CHECKLIST "Create report"
ENDFIELD


FIELD Run_button
FLOC 2 17
MENUBUTTON "Run" 7 3
ENDFIELD

FIELD Close_button
FLOC 11 17
MENUBUTTON "Close" 7 3
ENDFIELD

#======================
ENDTILE

ENDFORM

Save the file in the same directory as you brd file. Assuming everything is right you can just type hello form at the Command and it will pop up a form.  
  • Sign in to reply
  • Cancel
  • eDave
    eDave over 12 years ago
    Did you save the form in the same folder as your brd file? Check also that the name of the form matches exactly the one in the axlFormCreate line of the code.
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • budnoel
    budnoel over 12 years ago
    Saving the form in the same directory as my board file was the trick.  Thanks, Dave.  You're the best!!
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • JuergenWeber
    JuergenWeber over 12 years ago

     Hi,

    Allegro looks at for configuration files in the following default locations:

    Cadence provided default configuration files: <cdsroot>/share/pcb

    Site (company) provided location (this is called CDS_SITE):<cdsroot>/share/local/pcb

    see attached PDF

     

    BR,

    Jürgen

     

    Site_Env.pdf
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Cadence Guidelines

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information