关键词不能为空

当前您在: 主页 > 高中公式大全 >

LISP经典程序

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-01-25 06:11
tags:

描写花的诗句-

2021年1月25日发(作者:邵桂芳)
;;
一、绘制地形图符号





1.
点状符号

对于点状符号
,
其位置固定
,数量较多
,
且一般都带有一定的标注
,
可逐个制作属性块图元
,
单独插入。





2.
线状符号

利用
AutoCAD
中强大的线型定义。





3.
面状符号

由充填符号在面域内按一定的排列方式组合而成。


目前
Auto CAD
在建筑设计、
工程施工放样得到广泛应用
, Auto CAD
在工程 测量上的应用
,
大大减少手算坐标
的工程量或帮助人们复核手算坐标的准确性。

(1)
删除未选择对象

(defun c:sd()


(princ
选择要保留对象
:


(setq SS(ssget) ss1(ssget


(command
);end

;;(2)
画圆弧型铁路

;
输入铁路中线上三个点,轨距及绘图比例尺,起、中、始点

(defun c:ytl()


(setvar
取消扑捉



(setq PB(getpoint
输入起点:



(setq PM(getpoint
输入中点:



(setq PE(getpoint
输入终点:



(setq WD(getreal
输入铁路宽度
(m)




(setq S(getreal
绘图比例尺
=


输入
1.0


(setq W1(/(* WD S) 2) W2(+ W1(* 0.6 S)));
轨道及枕木符号的半宽



(setq D(distance PB PE))


(setq A1(angle PB PM) A2(angle PB PE) A3(angle PE PB) A4(angle PE PM))


(setq FB(- A1 A2) FE(- A3 A4) P12(* PI 2))


(if (< FB 0)(setq FB(+ FB P12)));


PB

PE
点的圆周角



(if (< FE 0)(setq FE(+ FE P12)))


(setq F(+ FB FE) R(/ D(* (sin F)2)));
求全弧所对圆心角之半,圆弧半径



(setq F1(- (/ PI 2) F) ABC(- A2 F1))


(if (< ABC 0) (setq ABC(+ ABC P12)))


(setq C(polar PB ABC R));
求圆心之点位



(setq ACB(angle C PB) ABC(angle PB C));
起点左右垂直于中线切线的方位角



(setq ACM(angle C PM) AMC(angle PM C));
中点左右垂直于中线切线的方位角



(setq ACE(angle C PE) AEC(angle PE C));
终点左右垂直于中线切线的方位角



(setq PBL(polar PB ACB W1) PBL1(polar PB ACB W2))


(setq PBR(polar PB ABC W1) PBR1(polar PB ABC W2))


(setq PML(polar PM ACM W1) PMR(polar PM AMC W1))


(setq PEL(polar PE ACE W1) PER(polar PE AEC W1))


(setq S2(* 0.2 S) S4(* 0.4 S) S10(* 10 S))


(command
画左右铁路连线



(command


(command
画起点处枕木



(setq DF(/(* 10 S) R));
求一个分段圆弧所对圆心角



(setq FF 0);
动态分段圆弧之和,所对圆心角初值赋
0


(while(< FF(* F 2))




(command
画分段处枕木





(setq FF(+ FF DF))




(setq ACP(- ACB FF) P(polar c ACP R))




(setq APC(angle P C)PL(polar P ACP W2) PR(polar P APC W2))


)


(PRINC)
);END

;;(3)
弧度化度分秒函数

;;

0.356
弧度化为


20
°
23'50
(defun dfm(hdj)




(setq jd(/(* hdj 180) pi))




(setq du(fix jd));
截去小数
,
提取度数





(setq f1(* 60 (- jd du)))




(setq ff( fix f1));
截去小数
,
提取分数





(setq mm(rtos(* 60 (- f1 ff)) 2 0));
按四舍五入提取秒数





;;
上面的
du,ff
是整型数
,mm
是字符串





(setq du(itoa du) ff(itoa ff));

du,ff
转化为字符串





(if (<(strlen ff) 2);

ff
长度


(setq ff(strcat
如果
ff
长度小于
2
,执行此表达式


(setq ff ff);
如果
ff
长度等于
2
,执行此表达式





)




(if (<(strlen mm) 2);

mm
长度


(setq mm(strcat
如果
mm
长度小于
2
,执行此表达式


(setq mm mm);
如果
mm
长度等于
2
,执行此表达式





)




(setq jd(strcat du
把度,小数点
,

,
秒放在一个字符串中

) ;end

描写花的诗句-


描写花的诗句-


描写花的诗句-


描写花的诗句-


描写花的诗句-


描写花的诗句-


描写花的诗句-


描写花的诗句-



本文更新与2021-01-25 06:11,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/564453.html

LISP经典程序的相关文章