AutoLISP
יש להשלים ערך זה: בערך זה חסר תוכן מהותי. יש להוסיף מידע בכל ההיבטים הנוגעים ל-AutoLISP.
| ||
יש להשלים ערך זה: בערך זה חסר תוכן מהותי. יש להוסיף מידע בכל ההיבטים הנוגעים ל-AutoLISP. | |
תאריך השקה | ינואר 1986 |
---|---|
מתכנן | David Betz |
מפתח | Autodesk-תאגיד תוכנה אמריקני. |
גרסה אחרונה | (13 בפברואר 1995.) |
ניבים | Vital-LISP, Visual LISP |
הושפעה על ידי | Lisp, XLISP |
סיומת | .lsp |
AutoLISP היא ניב של שפת התכנות Lisp אשר נבנתה במיוחד בשביל השימוש בגרסה המלאה של תוכנת AutoCAD והתוכנות אשר נגזרו ממנה כגון AutoCAD Map 3D, AutoCAD Architecture, ו-AutoCAD Mechanical.
היסטוריה
[עריכת קוד מקור | עריכה]AutoLISP נגזרה מגרסה מוקדמת של XLISP, אשר נוצרה על ידי דייוויד בץ (David Betz). ניב ה-AutoLISP הוצג לראשונה בשנת 1986 בגרסה 2.18, ושופר בגרסאות רבות עד לגרסה 13, בפברואר 1995. מאוחר יותר, Autodesk הזניחה את AutoLISP לטובת פיתוח סביבות פיתוח פופולריות יותר כגון Visual Basic for Applications (VBA), .NET Framework ו-ObjectARX.
1955 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2019 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LISP 2, LISP 1.5, LISP 1 | ||||||||||||||
Maclisp | ||||||||||||||
Interlisp | ||||||||||||||
Lisp Machine Lisp | ||||||||||||||
Scheme | R5RS | R6RS | R7RS small | |||||||||||
NIL | ||||||||||||||
Franz Lisp | ||||||||||||||
Common Lisp | ||||||||||||||
Le Lisp | ||||||||||||||
T | ||||||||||||||
Emacs Lisp | ||||||||||||||
AutoLISP | ||||||||||||||
PicoLisp | ||||||||||||||
EuLisp | ||||||||||||||
ISLISP | ||||||||||||||
OpenLisp | ||||||||||||||
PLT Scheme | Racket | |||||||||||||
GNU Guile | ||||||||||||||
Visual LISP | ||||||||||||||
Qi, QiII | Shen | |||||||||||||
Clojure | ||||||||||||||
Arc | ||||||||||||||
LFE | ||||||||||||||
Hy |
דוגמאות קוד
[עריכת קוד מקור | עריכה]תוכנית פשוטה אשר מדפיסה "Hello World" ב-AutoLISP :
(defun hello ()
(princ "\nHello World!")
(princ)
)
דוגמה מורכבת יותר של קוד ב-AutoLISP :
(defun c:pointlabel ( / pnt )
(if (setq pnt (getpoint "\nSpecify point: "))
(progn
(entmake
(list
'(0 . "POINT")
(cons 10 (trans pnt 1 0))
)
)
(entmake
(list
'(0 . "TEXT")
(cons 10 (trans (cons (+ (car pnt) 0.6) (cdr pnt)) 1 0))
(cons 40 (getvar 'textsize))
(cons 1 (strcat "X:" (rtos (car pnt)) " Y:" (rtos (cadr pnt))))
)
)
)
)
(princ)
)
הקוד לעיל מגדיר פעולה חדשה היוצרת אובייקט AutoCAD ( נקודה במרחב עם ערכי X ו Y ) ואובייקט טקסט של שורה אחת המציג את ערכי ה X וה Y. שם הפעולה מכיל את התחילית ':c', אשר גורם ל AutoCAD לזהות את הפונקציה כפקודה רגילה. המשתמש יצטרך לכתוב 'pointlabel' ולהזין את קואורדינטות ה-X וה-Y, או ללחוץ על מיקום מסוים בשרטוט. אז הפונקציה תציב את הסמן בנקודה הזו, ותיצור אובייקט טקסט של שורה אחת לידו, המכיל את קואורדינטות ה X וה Y של הנקודה בהתאם ל- ( User Coordinate System ( UCS הפעיל. הפעולה לא דורשת פרמטרים, ומכילה משתנה לוקלאי אחד ('pnt').
קישורים חיצוניים
[עריכת קוד מקור | עריכה]- האתר הרשמי של Autodesk
- AutoLISP
- "AutoCAD LT vs. AutoCAD". קישור למקור.
- מדריך AutoLISP למתחילים (PDF)
- ההיסטוריה של AutoLISP
- "VBA support in AutoCAD 2011"
- "BricsCAD Compare versions"
- "IntelliCAD CAD Platform – Features and Benefits"
- (About the User Coordinate System (UCS