2009年3月25日 星期三

AutoLiap 數學運算功能函數

項目 函數語法 傳 回
01-01 (+ 數值 數值 ...) 累計數值
(+ 1 2) 3
(+ 1 2 3 4.5) 10.5
(+ 1 2 3 4.0) 10.0
------------------------------------------------------------------------------------------------
01-02 (- 數值 數值 ...) 減去數值
(- 50 40) 10
(- 50 40.0) 10.0
(- 50 40.0 2.5) 7.5
(- 8) -8
------------------------------------------------------------------------------------------------
01-03 (* 數值 數值 ...) 所有數值乘積
(* 2 3) 6
(* 2 3.0) 6.0
(* 2 3 4.0) 24.0
(* 3 -4.5) -13.5
(* 3) 3
------------------------------------------------------------------------------------------------
01-04 (/ 數值 數值 ...) 第一個數值除以第二個以後數值的商
(/ 100 2) 50
(/ 100 2.0) 50.0
(/ 100 20.0 2) 2.5
(/ 100 20 2) 2 ...除數為整數,小數點後面會不見喔!!!
(/ 4) 4
--------------------------------------------------------------------------------------------------
01-05 (1+ 數值) 數值+1
(1+ 5) 6
(1+ -17.5) -16.5
---------------------------------------------------------------------------------------------------
01-06 (1- 數值) 數值-1
(1- 5) 4
(1- -17.5) -18.5
---------------------------------------------------------------------------------------------------
01-07 (abs 數值) 數值的絕對值
(abs 100) 100
(abs -100) 100
(abs -99.25) 99.25
---------------------------------------------------------------------------------------------------
01-08 (atan 數值) 反正切值
(atan 1) 0.785398
(atan 1.0) 0.785398
(atan 0.5) 0.463648
(atan -1.0) -0.785398
(atan 2.0 3.0) 0.588003
(atan 2.0 -3.0) 2.55359
(atan 1.0 0.0) 1.5708
----------------------------------------------------------------------------------------------------
01-09 (cos 角度) 角度的餘弦值,角度值為弳度
(cos 0.0) 1.0
(cos pi) -1.0
----------------------------------------------------------------------------------------------------
01-10 (exp 數值) 數值的指數
(exp 1.0) 2.71828
(exp 2.2) 9.02501
(exp -0.4) 0.67032
----------------------------------------------------------------------------------------------------
01-11 (expt 基數 指數) 基數的指數值
(expt 2 4) 16
(expt 3.0 2.0) 9.0
----------------------------------------------------------------------------------------------------
01-12 (fix 數值) 將數值轉換為整數值
(fix 3) 3
(fix 3.7) 3
----------------------------------------------------------------------------------------------------
01-13 (float 數值) 將數值轉換為實數值
(float 3) 3.0
(float 3.75) 3.75
----------------------------------------------------------------------------------------------------
01-14 (gcd 數值1 數值2) 二數值的最大公因數
(gcd 81 57) 3
(gcd 12 20) 4
-----------------------------------------------------------------------------------------------------
01-15 (log 數值) 數值的自然對數值
(log 4.5) 1.50408
(log 1.22) 0.198851
-----------------------------------------------------------------------------------------------------
01-16 (max 數值 數值 ...) 數值中的最大值
(max 4.07 -144) 4.07
(max -88 19 5 2) 19
(max 2.1 4 8) 8.0
-----------------------------------------------------------------------------------------------------
01-17 (min 數值 數值 ...) 數值中的最小值
(min 683 -10.0) -10.0
(min 73 2 48 5) 2
(min 73.0 2 48 5) 2.0
(min 2 4 6.7) 2.0
-----------------------------------------------------------------------------------------------------
01-18 pi 常數p ,其值約為 3.1415926
-----------------------------------------------------------------------------------------------------
01-19 (rem 數值1 數值2) 二數值的相除的餘數
(rem 42 12) 6
(rem 12.0 16) 12.0
(rem 26 7 2) 1
-----------------------------------------------------------------------------------------------------
01-20 (sin 角度) 角度的正旋值,角度值為弳度
(sin 1.0) 0.841471
(sin 0.0) 0.0
-----------------------------------------------------------------------------------------------------
01-21 (sqrt 數值) 數值的平方根
(sqrt 4) 2.0
(sqrt 2.0) 1.41421
=============================================

動手試試看,
在Auto CAD的指令行, 輸入Auto Lisp 的功能函數, 看看結果有沒有一樣.

指令: (sqrt 2.0)
1.41421

指令: (sin 1.0)
0.814171

*********************************************************************

2009年3月17日 星期二

2009年3月11日 星期三

AutoCAD Macro #2

A4 ^C^Climits;0,0;297,210;line;0,0;@297<0;@210<90;@297<180;c;^czoom;a;grid;on;
layer ^C^C_-layer;make;pipe;
erase all ^C^Cerase;all;;
Rectangle ^C^Cline;\@100<0;@100<90;@100<180;c

^C^C(setq p1 (getpoint "input start point:"));\;^C(setq d1 (getreal "input length:"));\;^Cline;!p1;(list (+ (car p1) d1) (cadr p1) (caddr p1));(list (+ (car p1) d1) (+ (cadr p1) d1) (caddr p1));(list (car p1) (+ (cadr p1) d1) (caddr p1));c;

AutoCAD Macro #1


5 分鐘完成
^C^Cline;\@100<0;@100<90;@100<180;c;^carray;@5,-100;;r;10;1;10;^cline;@;@10<90;;
^cmove;l;;0,0;@10<0;^carray;l;;r;5;5;20;20;^ccopy;l;;0,0;-70,-70;^carray;l;;r;5;4;20;20;