欢迎来到天天文库
浏览记录
ID:40964201
大小:26.52 KB
页数:5页
时间:2019-08-12
《LISP经典程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、;;一、绘制地形图符号1.点状符号对于点状符号,其位置固定,数量较多,且一般都带有一定的标注,可逐个制作属性块图元,单独插入。2.线状符号利用AutoCAD中强大的线型定义。3.面状符号由充填符号在面域内按一定的排列方式组合而成。目前AutoCAD在建筑设计、工程施工放样得到广泛应用,AutoCAD在工程测量上的应用,大大减少手算坐标的工程量或帮助人们复核手算坐标的准确性。(1)删除未选择对象(defunc:sd()(princ"选择要保留对象:")(setqSS(ssget)ss1(ssget"X"))(command"eras
2、e"ss1"r"ss""zoom_e));end;;(2)画圆弧型铁路;输入铁路中线上三个点,轨距及绘图比例尺,起、中、始点(defunc:ytl()(setvar"osmode"0);取消扑捉(setqPB(getpoint"输入起点:"))(setqPM(getpoint"输入中点:"))(setqPE(getpoint"输入终点:"))(setqWD(getreal"输入铁路宽度(m):"))(setqS(getreal"绘图比例尺=:"));1:1000,输入1.0(setqW1(/(*WDS)2)W2(+
3、W1(*0.6S)));轨道及枕木符号的半宽(setqD(distancePBPE))(setqA1(anglePBPM)A2(anglePBPE)A3(anglePEPB)A4(anglePEPM))(setqFB(-A1A2)FE(-A3A4)P12(*PI2))(if(4、)(if(5、olarPBABCW2))(setqPML(polarPMACMW1)PMR(polarPMAMCW1))(setqPEL(polarPEACEW1)PER(polarPEAECW1))(setqS2(*0.2S)S4(*0.4S)S10(*10S))(command"pline"PBL"w"S2S2"A""S"PMLPEL"");画左右铁路连线(command"pline"PBR"w"S2S2"A""S"PMRPER"")(command"pline"PBL1"w"S4S4PBR1"");画起点处枕木(setqDF(/(*10S)R6、));求一个分段圆弧所对圆心角(setqFF0);动态分段圆弧之和,所对圆心角初值赋0(while(7、*hdj180)pi))(setqdu(fixjd));截去小数,提取度数(setqf1(*60(-jddu)))(setqff(fixf1));截去小数,提取分数(setqmm(rtos(*60(-f1ff))20));按四舍五入提取秒数;;上面的du,ff是整型数,mm是字符串(setqdu(itoadu)ff(itoaff));把du,ff转化为字符串(if(<(strlenff)2);求ff长度(setqff(strcat"0"ff));如果ff长度小于2,执行此表达式(setqffff);如果ff长度等于2,执行此表达式)(8、if(<(strlenmm)2);求mm长度(setqmm(strcat"0"mm));如果mm长度小于2,执行此表达式(setqmmmm);如果mm长度等于2,执行此表达式)(setqjd(strcatdu"."ffm
4、)(if(5、olarPBABCW2))(setqPML(polarPMACMW1)PMR(polarPMAMCW1))(setqPEL(polarPEACEW1)PER(polarPEAECW1))(setqS2(*0.2S)S4(*0.4S)S10(*10S))(command"pline"PBL"w"S2S2"A""S"PMLPEL"");画左右铁路连线(command"pline"PBR"w"S2S2"A""S"PMRPER"")(command"pline"PBL1"w"S4S4PBR1"");画起点处枕木(setqDF(/(*10S)R6、));求一个分段圆弧所对圆心角(setqFF0);动态分段圆弧之和,所对圆心角初值赋0(while(7、*hdj180)pi))(setqdu(fixjd));截去小数,提取度数(setqf1(*60(-jddu)))(setqff(fixf1));截去小数,提取分数(setqmm(rtos(*60(-f1ff))20));按四舍五入提取秒数;;上面的du,ff是整型数,mm是字符串(setqdu(itoadu)ff(itoaff));把du,ff转化为字符串(if(<(strlenff)2);求ff长度(setqff(strcat"0"ff));如果ff长度小于2,执行此表达式(setqffff);如果ff长度等于2,执行此表达式)(8、if(<(strlenmm)2);求mm长度(setqmm(strcat"0"mm));如果mm长度小于2,执行此表达式(setqmmmm);如果mm长度等于2,执行此表达式)(setqjd(strcatdu"."ffm
5、olarPBABCW2))(setqPML(polarPMACMW1)PMR(polarPMAMCW1))(setqPEL(polarPEACEW1)PER(polarPEAECW1))(setqS2(*0.2S)S4(*0.4S)S10(*10S))(command"pline"PBL"w"S2S2"A""S"PMLPEL"");画左右铁路连线(command"pline"PBR"w"S2S2"A""S"PMRPER"")(command"pline"PBL1"w"S4S4PBR1"");画起点处枕木(setqDF(/(*10S)R
6、));求一个分段圆弧所对圆心角(setqFF0);动态分段圆弧之和,所对圆心角初值赋0(while(7、*hdj180)pi))(setqdu(fixjd));截去小数,提取度数(setqf1(*60(-jddu)))(setqff(fixf1));截去小数,提取分数(setqmm(rtos(*60(-f1ff))20));按四舍五入提取秒数;;上面的du,ff是整型数,mm是字符串(setqdu(itoadu)ff(itoaff));把du,ff转化为字符串(if(<(strlenff)2);求ff长度(setqff(strcat"0"ff));如果ff长度小于2,执行此表达式(setqffff);如果ff长度等于2,执行此表达式)(8、if(<(strlenmm)2);求mm长度(setqmm(strcat"0"mm));如果mm长度小于2,执行此表达式(setqmmmm);如果mm长度等于2,执行此表达式)(setqjd(strcatdu"."ffm
7、*hdj180)pi))(setqdu(fixjd));截去小数,提取度数(setqf1(*60(-jddu)))(setqff(fixf1));截去小数,提取分数(setqmm(rtos(*60(-f1ff))20));按四舍五入提取秒数;;上面的du,ff是整型数,mm是字符串(setqdu(itoadu)ff(itoaff));把du,ff转化为字符串(if(<(strlenff)2);求ff长度(setqff(strcat"0"ff));如果ff长度小于2,执行此表达式(setqffff);如果ff长度等于2,执行此表达式)(
8、if(<(strlenmm)2);求mm长度(setqmm(strcat"0"mm));如果mm长度小于2,执行此表达式(setqmmmm);如果mm长度等于2,执行此表达式)(setqjd(strcatdu"."ffm
此文档下载收益归作者所有