Professional Documents
Culture Documents
BIMarabia
هي احدى لغات البرمجة الخاصة بشركة , Autodeskمثلها مثل VBA ،. ObjectARXو هي تعطي
قوة للتوكاد ,و تمكنك من الرسم بسرعة ,و اختصار الخطوات و توفير الوقت.
كل ما يمكنك فعله في التوكاد ,يمكنك بكل سهولة أن تفعله بالتوليسب مزيدا لناتاجك .
Lisp is a programmable programming language.
و هي مشتقة من لغة lispو هي احد لغات الذكاء الصناعي و التى هي من اناتاج جون ماكرثي في الخمسينات
,و كان اول ظهور لل AUTOLISPفي النسخة AUTOCAD 2.18في شهر يناير .1986
و هي اختصار
LISt Processing.
لتحميل الليسب
LOAD APPLICATION
1
اختر الليسب ثم LOAD
او سحب الملف من Windows Explorerالى مساحة العمل بالوتوكاد
CONTENTS
2
او اكتب aaploadفي سطر الوامر
Command: appload
و لكتابه اوامر تعمل عند بداية التشغيل ناضعها في ملف acad.lspاو acaddoc.lspو هو ملف يبحث عنه
التوكاد عند بداية التشغيل في مسارات support
)Command: (* (+ 3 4) (+ 2 5
>_(
)Command: (+ 4 2
6
عند اهمال المسافة بين الدالة و المتغير تظهر ل رساله خطأ BAD FUNCTION
)Command: (+4 2
; error: bad function: 4
3
;;; وصف للكود
مقدمة لمقطع في الليسب ;;
توضيح لجزء صغير ;
Command: (+ 4 2 ) ;comment
6
https://www.youtube.com/user/ENGWEB13/featured
عمر سليم
4
WWW.AMRSELIM.NET عمر سليم
و اذا كان المتداد غير ظاهر ناذهب الى قائمة toolsثم الى folder option
5
WWW.AMRSELIM.NET عمر سليم
و الصيغة العامة
اسم الداله)ناكتب هنا المتغيرات الخاصه بالداله او يمكن تركها فارغه ((defun c:
ناكتب هنا الدوال و الوامر
)
و يفضل ان يكون اسم الداله هو نافس اسم الملف لتسهيل المر و ليس شرطا .
مثال بسيط ناقوم فيه برسم مستطيل )سيتم شرح المثال لحقا(
)((defun c:REC1
))(setq a (getpoint
))(setq b (getpoint
)(command "rectangle" a b
)
6
WWW.AMRSELIM.NET عمر سليم
الدوال الحسابية:
المثلة التالية لشرح لغه التوليسب و يمكن كتابتها في سطر الوامر مباشرة .
الجمع +
المثال التالي ناجمع فية الرقم الول على الرقم الثاناي .
مع العلم انانا )عكس اكثر لغات البرمجة( ناكتب علمة الجمع اول
)Command: (+ 1 2
3
7
WWW.AMRSELIM.NET عمر سليم
)Command: (- 4 4
0
طرح رقم سالب من رقم موجب
)Command: (- 4 -4
8
عند طرح ثلثا ارقام يتم طرح الرقم الثاناي من الول ثم طرح الثالث من الناتج
)Command: (- 9 4 2
3
الضرب *
في هذا المثال ناضرب الرقم الول في الرقم الثاناي .
)Command: (* 4 10
40
في المثال التالي ناضرب ثلثا ارقام في بعض .
)Command: (* 3 7 100
2100
القسمة /
قسمة رقم على اخر
)Command: (/ 21 3
7
و عند قسمة ثلثا ارقام يتم قسمة الول على الثاناي ,ثم يتم قسمه نااتج القسمه على الرقم الثالث
)Command: (/ 8 4 2
1
مثال اخر
)Command: (/ 22 3
7
في المثال السابق ناجد ان لغة التوليسب تجاهلت الكسور حيث ان القسمة كانات بين رقمين حقيقين integer
و عند القسمه على كسر فاناه يتعامل على اناه doubleو يظهر لنا النتيجة بالكسور
)Command: (/ 21.2 3
7.06667
و عند قسمه رقم صغير حقيقي على اخر حقيقي اكبر منه فأن الناتج يكون يكون كسر و البرناامج سيتجاهل
الكسور و تكون النتيجة صفر
)Command: (/ 2 4
0
8
WWW.AMRSELIM.NET عمر سليم
و يجب الناتباه الى اهمية كتابه الصفر اذا كان العدد اقل من الواحد ,فعند عدم كتابته تظهر لنا رساله الخطأ
التالية
)Command: (* .2 5
; Error: misplaced dot on input
و اهمية ترك مسافة بين الرقم و الداله و ال فسقرأها على اناها كلمه واحده و لن يفهمها
)Command: (+2 5
; Error: no function definition: *2
المثال التالي يشرح اهمية القواس و ترتيب العمليات .حيث ان البرناامج يقوم بحل ما داخل القواس اول )و
هو ما يسمى التعشيش(فيجمع 5مع 6ثم يضربها في 3لينج لنا 11
))Command: (* 3(+ 5 6
33
و عند كتابه رقم أخر غير الواحد تظهر لي رساله تقول اناه ل توجد داله معرفة بهذا السم +2
)Command: (2+ 6
; Error: no function definition: 2+
دالة gcd
تقوم هذه الدالة باقتراح اناسب رقم يقبل عليه الرقمين القسمة عليه
)Command: (gcd 100 15
5
الدالة zerop
للتأكد هل الناتج صفر ام ل .
في حاله الصفر يكون الناتج t
و في حاله غير هذا يكون الناتج nill
)Command: (zerop 0
T
9
WWW.AMRSELIM.NET عمر سليم
الدالة exp
و تعطي القيمة السيه
)Command: (exp 1
2.71828
الدالة EXPT
و تعطي حاصل ضرب الرقم الول في نافسه عدد من المرات تساوي الرقم الثاناي
)Command: (expt 2 3
8
الدالة
و تعطينا المتمم للعدد
.The bitwise NOT (1's complement) of the argument
)Command: (~ 4
-5
)Command: (~ -4
3
الدالة MAX
و هي تعطينا الرقم الكبر
)Command: (MAX 950 314
950
الدالة MIN
و هي تعطينا الرقم الصغر
)Command: (MIN 3000 1000
1000
الدالة REM
للرقام ايجاد )REMINDERالممذكر(
المتبقي من القسمة
)Command: (REM 3 4
3
10
WWW.AMRSELIM.NET عمر سليم
الدالة FIX
تقريب لقرب عدد صحيح و الغاء الكسور
)Command: (FIX 3.2
3
)Command: (FIX 3.7
3
هل تذكر عندما ناقسم عدد حقيقي على اخر حقيقي و كان البرناامج يتجاهل الكسور؟؟
)Command: (/ 22 3
7
تأمل المثال التالي عند استخدام الدالة FLOAT
)Command: (/ (FLOAT 22) 3
7.33333
الدالة LOG
ايجاد اللوغريتم
)Command: (LOG 1
0.0
11
WWW.AMRSELIM.NET عمر سليم
الدالة SQRT
و تعطينا الجذر التربيعي
)Command: (SQRT 144
12.0
و عند اعطائه رقم سالب ,ل يتعرف عليه ,و يعطينا رساله خطأ.
)Command: (sqrt -4
; error: function undefined for argument: -4
دالة sin
و تعطينا جا الزاوية
و يتم ادخال الزاوية القطرية و ليست الدائرية
)Command: (sin 165
0.997797
دالة cos
و تعطينا جتا الزاوية
و يتم ادخال الزاوية القطرية و ليست الدائرية
)Command: (cos 165
-0.0663369
دالة atan
و تعطينا ظل الزاوية
و في حالة اعطائها زاويتين فأناها تعطي ظل )حاصل قسمة الولى على الثاناية(
)Command: (atan 1
0.785398
)Command: (atan 1 2
0.463648
دالة angle
و تستخدم ليجاد الزاوية
))Command: (angle '(1.0 1.0) '(1.0 4.0
1.5708
))Command: (angle '(5.0 1.33) '(2.4 1.33
3.14159
دالة minusp
هل الرقم المعطى سالب ام ل
اذا كان سالب تعطي t
اذا كان موجب ناعطي nil
)Command: (minusp -1
T
12
WWW.AMRSELIM.NET عمر سليم
inters دالة
و تعطي ناقطة تلقي اربع ناقط
Command: (inters a b c d)
(-443.205 399.475 0.0)
دوال المقارنة
اذا كانات النتيجة صحيحةt و هي تعطينا
اذا كانات النتيجة خاطئهnill و
= يساوي
Command: (= 3 3.0)
T
Command: (< 3 4 5 5)
nil
اي الحرفين اول
Command: (< "e" "t")
13
WWW.AMRSELIM.NET عمر سليم
T
اصغر من او يساوي
Command: (<= 5 8)
T
eq الدالة
السلسلتين متساويين ام ل
t اذا كاناا متساوين يعطينا
nil غير متساويين
Command: (setq a '(1 2) c '(2 3))
(2 3)
Command: (eq a c)
nil
Command: (setq a b)
(1 2)
Command: (eq a b)
T
equal الدالة
Command: (equal a b)
nil
الدوال النصية
SUBSTR دالة
و هي لظهار عدد معين من الحرف من سلسله ناصية
14
WWW.AMRSELIM.NET عمر سليم
السلسل الرقمية
مجموعة من القيم المتتالية
و يستخدم امر لتحدد
))Command: (setq x1(list 1 2 3 4
)(1 2 3 4
الدالة strcat
و هي تضم جملتين في جملة واحدة
)" (strcat " no god but allah " " Mohamed messenger of allah
""no god but allah Mohamed messenger of allah
الدالة car
عرض اول رقم في السلسلة
)Command: (car x1
1
الدالة caddr
عرض ثالث رقم في السلسلة
)Command: (caddr x1
3
الدالة cdr
عرض السلسلة بدون الرقم الول
(Command: (cdr x1
)(2 3 4
15
WWW.AMRSELIM.NET عمر سليم
الدالة nth
عرض عنصر معين من السلسلة الرقمية مع العلم اناه يبدأ بترقيم اول عنصر بصفر.
))Command: (nth 4 '(2 5 4 7 9 6
9
الدالة cons
اضافة عنصر لول القائمة
))Command: (cons 'a '(b c d
)(A B C D
الدالة apply
و هي تقوم بتنفيذ دالة معينة على السلسلة الحرفية
)) Command: (apply '* '( 2 3 4
24
دالة APEND
و هي تضم السلسل الرقمية بعضها الى بعض في سلسلة واحدة
))Command: (append '(a b c) '(d e f
)(A B C D E F
دالة reverse
و تقوم بعكس السلسلة الرقمية
))Command: (setq a '(1 2 3 4 5 6
)(1 2 3 4 5 6
)Command: (reverse a
)(6 5 4 3 2 1
دالة member
و هي تأخذ عنصر و اسم السلسلة الرقمية و تعطينا السلسلة الرقمية من اول هذا العنصر
))Command: (setq a '(2 3 4 5 6
)(2 3 4 5 6
16
WWW.AMRSELIM.NET عمر سليم
دالة listp
هل العنصر المعطى سلسلة رقمية ام ل
اذا كان سلسلة رقمية t
و اذا كان غير هذا nil
)Command: (listp a
T
دوال التحويل
دالة atof
لتحويل النص الى رقم حقيقي float
عند تخزين رقم مثل 314على هيئه stringفان العمليات الحسابية ل تؤثر عليه و ل يتجاوب معها .
دالة atoi
لتحويل النص الى رقم طبيعي
)"Command: (atoi"2.2
2
دالة rtos
لتحويل الرقم الى ناص
)Command: (rtos 2
""2
دالة cvunit
التحويل من وحدة الى وحدة اخرى سواء وقت او وزن او طول او .......الخ
17
WWW.AMRSELIM.NET عمر سليم
type الدالة
و تعطينا ناوع المتغير
Command: (SETQ A 2)
Command: (TYPE A)
INT
ALERT الدالة
اظهار رساله للمستخدم
Command: (ALERT ")"سبحان ا و بحمده
COMMAND الدالة
كرسم خط اوautolisp و هي لعطاء اوامر التوكاد و هناك الكثير من اوامر التوكاد تستخدم بالفعل في
النسخ
Command: (COMMAND "COPY")
Select objects:
18
WWW.AMRSELIM.NET عمر سليم
لرسم خط
))Command: (setq a (getpoint
))Command: (setq b (getpoint
)"" Command: (command "line" a b
لرسم قوس
الدالة LOAD
لتحميل ملف
)"الملف الذي تريد تحميه" "رساله خطأ عند عدم وجود الملف" (LOAD
علمة \ لها معنى خاص في لغة التوليسب لذلك عند كتابة مسار ملف تكتب مزدوجة \\ او ناستعيض عنها ب
علمة /
)"(LOAD "c:/amrselim/lisp" "I can't see anything , iam blind
الدالة DEFUN
و هي اهم الدوال على الطلق و ل يخلو منها ليسب ,و هي لتعريف الداله و اعطائها اسم للستدعاء
و هي اختصار DEFIN FUNCTIONتعريف داله
) ( (defun C:HATCH
)"!(alert "Using the BHATCH command
)"(princ "\n OLDHATCH to get to real HATCH command.\n
)"(command "BHATCH
)(princ
)
) ( (defun C:HATCH
السطر الول :اعطينا اسم للدالة ,.اسم الداله هنا هو HATCHو :Cلعلم البرناامج ان يعامل الدالة كأي
أمر من أوامر التوكاد
السطر الثاناي :رساله اعلم للمستخدم
19
WWW.AMRSELIM.NET عمر سليم
في هذا المثال عرفنا دالة باسم zeو هي بمثابة اختصار للمر zoom, Extents
و تفيد هذه الدالة و امثالها في حاله ناسيان المسافة بين اختصاري z , e
الدالة setq
تحديد قيمة لمتغير ,و هي اختصار set-quote
Quoteتعنى اقتبس و setاجعل
لستدعائها ناستخدم !
Command: !x
1
الدالة getpoint
لتحديد ناقطة و اعطاء البرناامج احداثيتها لستخدامها لحقا
الدالة getdist
و يستخدم لمعرفه المسافة بين ناقطتين حيث ناعطيه احدى النقطتين ثم ناحدد الثاناية بالماوس او نادخلها كتابه
)Command: (getdist a
20
WWW.AMRSELIM.NET عمر سليم
2727.41
الدالة distance
و تستخدم لمعرفة المسافة بين ناقطتين )الفرق بينها و بين getdistانانا هنا ناعطيها النقطتين مباشرة (
)Command: (distance a b
262.061
الدالة getint
و تستخدم للحصول على رقم صحيح من المستخدم
)"(getint "\Enter your age :
12
و عند اعطاء اي قيمة ل تساوي رقم صحيح ل يقبلها و يعطينا رساله الخطأ التالية
)Command: (getint
frog
Requires an integer value.
الدالة getreal
و تستخدم للحصول على اي رقم صحيح او كسر
)Command: (getreal
2.2
الدالة getstring
للحصول على ناص من المستخدم و الحد القصى 132حرف ,اذا كتبت اكثر من هذا سيتم تجنبه
))"Command: (setq q (getstring "it's a good day
it's a good day
""friday
فأن البرناامج يحولها الى \\ لتتمكن من استخدامها كمسار في دوال أخرى و اذا كتب المستخدم علمة\
21
WWW.AMRSELIM.NET عمر سليم
الدالة getcorner
و هي تعطيها ناقطة ثم تأخذ ناقطة اخرى من المستخدم عن طريق تحريك مؤشر الماوس مبتعدا عن النقطة على
هيئه مستطيل )للفهم اكثر طبق ثم اناظر في المثلة العملية ,الطريقة الثاناية لرسم مستطيل(
))Command: (setq b (getcorner a
)(5250.86 639.033 0.0
الدالة ascii
اعطاء رقم السكي للحرف
)"Command: (ascii "b
98
و في حاله عطائه كلمة يعطينا السكي لول حرف فقط
)"Command: (ascii "a
97
)"Command: (ascii "amr
97
الدالة chr
اعطاء الحرف المقابل لرقم السكي
(Command: (chr 97
""a
الدالة atom
و تعطي nilاذا كان سلسله و tاذا لم يكن سلسله
22
WWW.AMRSELIM.NET عمر سليم
الدالة quote
تجعل الحروف كبيرة
)Command: (quote q
Q
Command: !'a
A
))Command: (quote (a b
)(A B
الدالة setvar
اعطاء قيمه لمتغير التوكاد
مثل cmdechoالخاص بالستجابات الخاصه بسطر الوامر
)(setvar "cmdecho" 1
و filediaعرض مربعات الحوار التى تسمح لك باختيار الملفات او جعل التعامل في سطر الوامر وله
قيمتين
Taskbarمتغير يتحكم في ظهور كل ملفات التوكاد في شريط المهام او ظهور واحد فقط
Command: taskbar
Enter new value for Taskbar <1>: 0
الدالة getvar
الحصول على قيمة متغير التوكاد
)(if (< (getvar "filletrad") 1
)(setvar "filletrad" 1
)
و يمكن توفير خطوتين في خطوة واحدة كالمثال التالي حيث قمنا بعملية حسابية و اعطينا متغير قيمة
23
WWW.AMRSELIM.NET عمر سليم
Command: !Q
7
الدالة )(entlast
تعطينا بياناات عن أخر عنصر
)Command: (entlast
><Entity name: 7efb40b0
الدالة ssget
و تقوم هذه الدالة بحفظ العناصر التى يحددها المستخدم لستخدامها لحقا
)Command: (ssget
Select objects: Specify opposite corner: 2 found
24
WWW.AMRSELIM.NET عمر سليم
polar الدالة
يحدد ناقطة بناء على ناقطة اخرى و الزاوية التى ناحددها و المسافة بينهما
و المسافة عشرون0.1 و الزاويةa النقطة: في هذا المثال
Command: (setq a (getpoint))
Command: (setq q (polar a 0.1 20))
(917.808 2660.4 0.0)
assoc الدالة
عن زوج كل عنصرassociation list يبحث في السلسل المزدوجة
AND الدالة
و هي تخبرناا اذا كان المتغير او المعطى به قيمة ام ل
t اذا اعطيته اكثر من متغير فيشترط ان يكون كلهم بهم قيمة ليعطيني
nil اذا كان ليس به قيمه يعطينا
Command: (setq a 103 b nil c "string")
"string"
Command: (and 1.4 a c)
T
25
WWW.AMRSELIM.NET عمر سليم
Command: (and a)
T
Command: (and w)
Nil
Command: (AND 5)
T
arx دالة
المحملة حالياarx و تعطينا اسماء
AutoCAD Runtime Extension
Command: (arx)
("acapp.arx" "accamera.arx" "acdblclkedit.arx" "acdblclkeditpe.arx" "acdim.arx"
"acdwgrecovery.arx" "acdxnotify.arx" "aceplotx.arx" "acetlodr.arx"
"acetutil.arx" "acgsconfig.arx" "achapi17.dbx" "achlnkui.arx" "acidropmgr.arx"
"acismobj17.dbx" "acismui.arx" "aclayerp.arx" "acmgd.dll" "acpltstamp.arx"
"acprevinput.arx" "acsecopt.arx" "acsign.arx" "acspacetrans.arx" "acstd.arx"
"actaskbar.arx" "actp.arx" "acxrefesw.arx" "acxrefservice.arx" "movebak.arx"
"oleaprot.arx" "vl.arx" "whohas.arx" "wscommcntraccon.arx")
arxload دالة
arxload لتحميل ملف
Command: (arxload anyfile.arx)
arxunload دالة
arx للغاء تحميل ملف
Command: (arxunload anyfile)
boundp دالة
تنظر هل يحتوي العنصر على قيمة ام ل
t اذا كان يحتوي على قيمة الناتج
nil اما اذا كان ل يحتوي على قيمة الناتج يكون
Command: (setq x 13 y nil)
nil
Command: (boundp 'x)
T
Command: (boundp 'y)
nil
الشرطيةif الدالة
26
WWW.AMRSELIM.NET عمر سليم
و تستخدم لوضع شرط على حدثا فمثل ل ترسم دائرة ال اذا كان ناصف القطر اكبر من عشرين
و صيغتها
))حدثا اخر اذا لم يتحقق الشرط()حدثا اذا تحقق الشرط ( ) الشرط( Command: (if
Repeat
تكرار عمليه معينة عدد معين من المرات
)Command: (SETQ A 100
)))Command: (REPEAT 4 (SETQ A (+ A 10
140
في السطر الثاناي قمنا بتكرار عملية اضافة 10الى المتغير
While
افعل شئ ما حتى يحدثا حدثا معين
"استمر في سرقة الخزاناة حتى يكتشفك المدير"
"استمر في الغياب حتى تلدغ اخر الشهر "
)شرط( Command: (while
))الوامر التى سينفذها البرناامج(
27
WWW.AMRSELIM.NET عمر سليم
و السطر
(princ "\n")
( و الذي يقوم بالكتابه على السطر التاليterpri) مكافئ ل
acad_strlsort دالة
ا
( و هي ترتب السلسل الحرفية ترتيبا ابجديا )في هذا المثال رتبت الشهر ترتيبا ابجديا
Command: (setq mont '("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug"
"Sep" "Oct" "Nov" "Dec"))
("Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov"
"Dec")
Command: (acad_strlsort mont)
("Apr" "Aug" "Dec" "Feb" "Jan" "Jul" "Jun" "Mar" "May" "Nov" "Oct"
"Sep")
vl-file-delete دالة
ل ناكتب المسارSUPPORT للغاء ملف معين و اذا كان في ملف
(vl-file-delete "newauto.bat")
و يمكننا كتابة المسار
(vl-file-delete "c:/newauto.bat")
ACAD_COLORDLG دالة
3 داله تعطيك ناافذه تختار منها لون و في هذا المثال جعلنا اللون الفتراضي هو الخضر
Command: (ACAD_COLORDLG 3)
28
WWW.AMRSELIM.NET عمر سليم
DCL
لجعل واجهه رسومية
لبد من أمرينDCL و لتحميل ملف
او اضافة المسار الى ملفات التوكادSUPPORT في ملفات الDCL الول وضع الملف
DCL الثاناي استدعاء ملف
مثال
MyFirst : dialog {
label = " Hello World";
spacer;
: text {
label = "This is my first dialog.";
alignment = centered;
}
spacer;
ok_only;
}//MyFirst
29
WWW.AMRSELIM.NET عمر سليم
امثلة برمجية
.1تغير كل العناصر الى اللون البيض
.4رسم مستطيل
))Command: (setq a (getpoint
))Command: (setq b (getpoint
)Command: (command "rectangle" a b
السطر الول و الثاناي ناحدد فيهم ناقطتين
السطر الثالث نارسم مستطيل بمعلومية ركنيه
30
WWW.AMRSELIM.NET عمر سليم
السطر الثالث ناحدد ناقطة )النقطة (Cتأخذ من النقطة الثاناية موقعها على محور السينات و من النقطة
الولى موقعها على محور الصادات
السطر الرابع ناحدد ناقطة )النقطة (Dتأخذ من النقطة الثاناية موقعها على محور الصادات و من النقطة
الولى موقعها على محور السينات )رسم بياناي(
السطر الخامس نارسم اربع خطوط بين النقط الربعه
حيث نارسم مستطيل بسمك 2و ناقطتين معلوومتين هما ""10,10" "0,0
.7رسم دائرة
.9كتابة ناص
31
WWW.AMRSELIM.NET عمر سليم
32
WWW.AMRSELIM.NET عمر سليم
مصطلحات
الكلمة الشرح
REAL OR FLOAT 5-و2.3 و2 ارقام حقيقية مثل
INTEGER بدون ارقام عشرية3 و6 و5 رقم صحيحة مثل
32768- الى32767 و هي من
LIST مجموعة من الرقام المسلسلة ذات ترتيب معين
(6 5 2 14 8)
string "ناص "غزة رمز العزة
symbol point عنصر مثل
براماج ماساعدة
http://www.beowolftech.com/lispgen/home.html
www.amrselim.net
http://www.afralisp.net/
http://www.cadtutor.net
http://www.jefferypsanders.com/autolisp.html
33
WWW.AMRSELIM.NET عمر سليم
أشهر LISP
تضطر أحيان اا لجمع أرقام موجودة على الشاشه أمامك ،ومن الفأضل أن تقوم
add.lsp بعملية الجمع مباشرة دون الستعانة بالله الحاسبة ،وماعليك سوى أن تنقر على
الرقم مع زر الدخال فأترى الرقم فأي سطر الحالة ،ثم تنقر على الرقم
هذا البرنامج لكل من يحتاج إلى التحويل بين وحدات القياس المختلفة أثناء العمل،
يتميز ALLUNITSبطريقته السريعة للتحويل بين وحدات القياس المختلفة
)وحدات قياس الزمن ،الطول ،المساحة ،الحجم ،الوزن ،الزوايا( ،كل ذلك
ALLUNITS
باستخدام مربع حوار البرنامج و الذي يمكن تشغيله كذلك المر بشفافأية داخل
بعض أوامر اوتوكاد التقليدية و تمرير القيم الناتجة عن عملية التحويل إلى سطر
الوامر مباشرة.
AntiRot.VLX تدوير كائن أو مجموعة كائنات
AUTOLABEL.VLX ترقيم تلقائي
barea يستخدم لحساب مساحة منطقة عن طريق توقيع نقطة بها
bd لرسم الدكت )تكييف(
BreakAll احداث قطع فأي الخطوط المتقاطعة و ذلك فأي نقاط التقاطع
bylaybk.lsp يجعل لون البلوك لون اللير
يقوم البرنامج بحساب مساحات الشكال فأي أوتوكاد ،ويعطي نتيجة سريعة
للحساب حيث يقوم بإنشاء متعدد خطوط Polylineحول الشكل المطلوب حساب
CAR.LSP مساحته وبطبقة مستقلة لونها أصفر للتميز فأي حال وجود أكثر من جزء ثم يطلب
البرنامج نقطة لدراج النص مع إمكانية التحكم بحجمه بشكل ديناميكي وعلى
طبقة خاصة أيضاا.
CASE.LSP يحول حالة الكتابة
circle2pl تحويل دائرة الة POLYLINE
clipcopy نسخ كل الكلم المحدد و يمكنك بعد هذا نقلة لملف كتابي خارجي
CNT عمل حصر للكتل
EBL.lsp مسح البلوك
عند النتهاء من الملف و ارساله يقوم ب
EN.lsp
AUDIT, BIND,LAYOUT ZOOM,SAVE,
epts.LSP مسح كل النقاط Pointالموجودة فأي الرسم دفأعة واحدة
EXDWG.LSP فأتح المستعرض على اللوحة الحالية
flex لرسم FLEX
inch-cm.lsp يحول لنش الى سنتيمتر
INSORT ادراج بلوكات يتم تدويرها مع الحتفاظ باقثية العناصر الكتابية
layerhtm انشاء صفحة نت بها اسماء الطبقات و خصائصها
ll.lsp غلق كل الطبقات
برنامج أوتوليسب بسيط يحسب مجموع أطوال عدة خطوط Linesأو متعددات
LLN.LSP
خطوط .Polylines
openbak.lsp فأتح ملفات أوتوكاد ذات الهيئة BAKمباشرة
PEND.LSP رسم علمة القطع
prefix توليد ارقام متتالية يسبقها كلمة
RBL.LSP يبدل البلوك
RF.lsp لرص البلوكات
SAVEA.LSP انشاء نسخ احتياطية من الرسومات
WBA.LSP جعل كل بلوك فأي لوحة منفصلة مع كتابة ورقة باسماء البلوكات
wblockm.lsp تصدير كل بلوك فأي اللوحة الى لوحة منفصلة
WPIPE.LSP لرسم صاج تكييف
34
WWW.AMRSELIM.NET عمر سليم
ملخص للوامر
)(اسم الدالةdefun c: تعريف الدالة atof لتحويل النص الى رقم حقيقي
zerop للتأكد هل الناتج صفر ام ل atoi لتحويل النص الى رقم طبيعي
exp تعطي القيمة السيه rtos لتحويل الرقم الى نص
~ متمم العدد cvunit التحويل من وحدة الى وحدة اخرى
MAX الرقم الكبر TYPE تعطينا نوع المتغير
MIN الرقم الصغر princ اظهار رساله على سطر الوامر
REM المتبقي من القسمة ALERT اظهار رساله للمستخدم
FIX تقريب لقرب عدد صحيح و الغاء الكسور COMMAND لعطاء اوامر التوكاد
FLOAT تحول العدد الى كسر LOAD لتحميل ملف
LOG ايجاد اللوغريتم setq تحديد قيمة لمتغير
SQRT الجذر التربيعي getpoint لتحديد نقطة
sin جا الزاوية getdist يستخدم لمعرفأه المسافأة بين نقطتين
cos جتا الزاوية distance يستخدم لمعرفأه المسافأة بين نقطتين
atan ظل الزاوية getint للحصول على رقم صحيح من المستخدم
angle الزاوية getreal للحصول على اي رقم صحيح او كسر
minusp الرقم المعطى سالب ام ل getstring للحصول على نص من المستخدم
inters نقطة تلقي اربع نقط ascii اعطاء رقم السكي للحرف
=/ ل يساوي chr اعطاء الحرف المقابل لرقم السكي
eq السلسلتين متساويين ام ل atom و تعطي nilاذا كان سلسله و tاذا لم يكن
equal مقارنة بين سلسلتين eval تخبرني بالقيمة المسجلة فأي المتغير
SUBSTR لظهار عدد معين من الحرف من سلسله نصية quote تجعل الحروف كبيرة
strcat تضم جملتين فأي جملة واحدة setvar اعطاء قيمه لمتغير التوكاد
car عرض اول رقم فأي السلسلة getvar الحصول على قيمة متغير التوكاد
cadr عرض ثاني رقم فأي السلسلة entlast تعطينا بيانات عن أخر عنصر
caddr عرض ثالث رقم فأي السلسلة ssget بحفظ العناصر التى يحددها المستخدم
cdr عرض السلسلة بدون الرقم الول polar يحدد نقطة بناء على نقطة اخرى و الزاوية
nth عرض عنصر معين من السلسلة الرقمية AND المتغير او المعطى به قيمة ام ل
cons اضافأة عنصر لول القائمة arx و تعطينا اسماء arxالمحملة حاليا
apply تنفيذ دالة معينة على السلسلة الحرفأية arxload لتحميل ملف arxload
append تضم السلسل الرقمية فأي سلسلة واحدة arxunload للغاء تحميل ملف arx
reverse عكس السلسلة الرقمية boundp هل يحتوي العنصر على قيمة ام ل
listp هل العنصر المعطى سلسلة رقمية ام ل if لوضع شرط على حدث
strlen عدد حروف الجملة Repeat تكرار عمليه معينة عدد معين من المرات
للشرح :حمل كتاب شرح التوليسب من While افأعل شئ ما حتى يحدث حدث معين
www.amrselim.net acad_strlsort و هي ترتب السلسل الحرفأية ترتيبا ابجديا ا
في الختام اتمنى ان اكون وفقت في وضع قدمك على اول الطريق لتعلم لغة , AUTOLISPو اذا وجدت
خطأ فاعلمنى به ,او اصلحه مشكورا
35
عمر سليم
بعد دراسة لغة الوتوليسب من قبل الستاذ ممد شوقى والستاذ رضا فوزى
اصبح كتاب الوتوليسب وبرشامة الوتوليسب الذين قمت بعملهماها الرجع لدى عندما اقوم بعمل
او تعديل اى ليسب
فجزاك ال عن وعن كل رسام يستشد با تفعله خي الزاء
) بسم ال الرحن الرحايم ) و قل اعملوا فسيى ال عملكم و رسوله و الؤممنون
ممود فوزي
ابدا كلمي بشكرك علي هذا الهود الشكور من قبلك ف كيفية شرح لغة الوتوليسب
الت كانت من اللغات الثقيلة من زمان و لكنك من طريقة شرحاك للوتوليسب و تكنك من اللغة
قدرت توصل ال ايسر طريقة لفهم اللغة و جزاك ال عنا كل خي
الستاذ حاسي ممد
رئيس قسم الرسم ف مكتب انفايرو سيفك
كتبه :
عمر سليم
36