(defun c:AreaOfCircle (r) (* pi (* r r)))
Ask the right questions to secure the right AutoLISP talent among an increasingly shrinking pool of talent.
AutoLISP is a dialect of the programming language LISP, specifically designed for the customization of AutoCAD, a popular computer-aided design software. Introduced by Autodesk in 1986, it quickly became an essential tool for automating and simplifying complex drawing operations. AutoLISP allows users to create custom commands and routines that can significantly enhance productivity within AutoCAD. It's also used to develop third-party applications that extend the functionality of AutoCAD. Its unique features have made it a widely accepted standard in CAD programming (Source: Autodesk).
The next 20 minutes of the interview should attempt to focus more specifically on the development questions used, and the level of depth and skill the engineer possesses.
The 'if' function in AutoLISP is used for conditional execution of code. For example, '(if (> a 10) (print "a is greater than 10"))' will print the message if the value of 'a' is greater than 10.
'setq' is used to declare a variable and assign it a value, while 'defun' is used to define a new function.
In AutoLISP, variables are declared using the 'setq' function. For example, '(setq a 10)' declares a variable 'a' and assigns it the value 10.
The basic data types in AutoLISP are Integer, Real, String, List, and Symbol.
AutoLISP is a dialect of the LISP programming language built specifically for use with the full version of AutoCAD and its derivatives, which include AutoCAD Map 3D, AutoCAD Architecture and AutoCAD Mechanical.
This is important for producing high-quality, maintainable code.
The tech field is always evolving, so it's important for developers to be able to adapt and learn new skills.
AutoLISP is often used in conjunction with AutoCAD, so familiarity with this software is beneficial.
Good communication skills are necessary for understanding project requirements and collaborating with team members.
This is important as developers often need to troubleshoot and solve complex issues.
This is crucial as AutoLISP is the primary language they will be working with.
The next 20 minutes of the interview should attempt to focus more specifically on the development questions used, and the level of depth and skill the engineer possesses.
'mapcar' is a higher-order function that applies a given function to each element of a list and returns a list of the results.
A recursive function in AutoLISP is defined like any other function using 'defun', but it calls itself within its own definition. For example, a function to compute the factorial of a number could be defined recursively.
'cons' is used to add an element to the beginning of a list, while 'append' is used to concatenate two or more lists.
A list in AutoLISP can be created using the 'list' function. For example, '(list 1 2 3)' creates a list of three elements.
The 'progn' function in AutoLISP is used to group several expressions into a single composite expression, particularly in control structures where only one expression is allowed.
By this point, the candidate should demonstrate strong knowledge of AutoLISP programming and CAD software, problem-solving skills, and attention to detail. Red flags include lack of specific examples of past projects or difficulty explaining complex concepts clearly.
(defun c:AreaOfCircle (r) (* pi (* r r)))
(defun c:HelloWorld (/ name) (initget 1) (setq name (getstring T "
Enter your name: ")) (prompt (strcat "
Hello, " name "!")))
(defun c:FindMax (lst) (apply 'max lst))
(defun c:Parallel (p1 p2) (= (angle p1 p2) 0.0))
(defun c:CircleObj (center radius) (cons 'circle (cons center (cons radius nil))))
(defun c:Transform (transform-fn shape) (mapcar transform-fn shape))
The final few interview questions for a AutoLISP candidate should typically focus on a combination of technical skills, personal goals, growth potential, team dynamics, and company culture.
A custom command in AutoCAD can be created using AutoLISP by defining a function with the command name and using the 'defun-c' function. The command can then be called from the AutoCAD command line.
'vlisp-compile' is used to compile a LISP file into a Fast-Load AutoLISP (FAS) file, which loads faster than a regular LISP file.
AutoLISP provides several functions to interact with the AutoCAD database, such as 'entget' to retrieve the properties of an entity, 'entmod' to modify an entity, and 'entdel' to delete an entity.
'load' is used to load a LISP file into the AutoCAD environment, while 'autoload' loads a LISP file only when a function defined in that file is called.
Errors in AutoLISP can be handled using the 'error' function, which stops the execution of the program and prints an error message.
Back-end App Developer
Front-end Web Developer
Full Stack Developer (Java)
Full Stack Developer (.Net)
Full Stack Developer (MEAN)
Full Stack Developer (MERN)
DevOps Engineer
Database Engineer (AzureSQL)
Database Engineer (Oracle)
Database Engineer (General)
Solution Architect (.NET)
Solution Architect (Java)
Solution Architect (Ruby)
Solution Architect (Python)
AI Engineer (Python)
Sr. AI Engineer (Python)
AI Strategist (Python)
Business Intelligence Engineer
Systems Analyst
Mainframe Developer (COBOL)
Mainframe Developer (General)