level 1
闲人第三
楼主
(defun c:ksl(/p1 pt pts d n1 xk ent1)
(command"layer""m""ksl""");设置生成层
(setq p1 (getpoint "\n第一个路中心点:")
pts'() ;空点表
pt p1
)
(while(setq pt (getpiont pt"\n下一个路中心点:"))
(setq pts (cons pt pts));把输入的点存放于空点表pts中
)
(setq d (getreal"\n请输入路宽(m):"))
d(/d2)
n1 (angel p1 (nth 0 pts));线路方向的角度
p3 (polar p1 ( + n1 1.570796) d);左边线起点坐标
p4 (polar p1 ( - n1 1.570796) d);右边线起点坐标
)
(setq xk 0.4);设定线宽
(command "pline"p1 "w" xk " ");抬笔画线,直到鼠标右击为止
(foreach pt (reverse pts)(command pt));倒置pts表中数据,并依次赋给pt
(command " ")
(setq ent1 (entlast));最后线实体的赋值
(command "zomm" "c" p1(*d 4));以起点p1位置开始屏幕放大
(command "offset" d ent1 p3 " ");平移完成左边线的绘制
(command "offset" d ent1 p4 " ");平移完成右边线的绘制
(command "erase" ent1 " ""zoom""p");删除中间的线实体
(command "layer" " s" "0" " ");设置当前层
(command "linetype" " s" "continuous" " ");设置线型
)
2015年06月04日 07点06分
1
(command"layer""m""ksl""");设置生成层
(setq p1 (getpoint "\n第一个路中心点:")
pts'() ;空点表
pt p1
)
(while(setq pt (getpiont pt"\n下一个路中心点:"))
(setq pts (cons pt pts));把输入的点存放于空点表pts中
)
(setq d (getreal"\n请输入路宽(m):"))
d(/d2)
n1 (angel p1 (nth 0 pts));线路方向的角度
p3 (polar p1 ( + n1 1.570796) d);左边线起点坐标
p4 (polar p1 ( - n1 1.570796) d);右边线起点坐标
)
(setq xk 0.4);设定线宽
(command "pline"p1 "w" xk " ");抬笔画线,直到鼠标右击为止
(foreach pt (reverse pts)(command pt));倒置pts表中数据,并依次赋给pt
(command " ")
(setq ent1 (entlast));最后线实体的赋值
(command "zomm" "c" p1(*d 4));以起点p1位置开始屏幕放大
(command "offset" d ent1 p3 " ");平移完成左边线的绘制
(command "offset" d ent1 p4 " ");平移完成右边线的绘制
(command "erase" ent1 " ""zoom""p");删除中间的线实体
(command "layer" " s" "0" " ");设置当前层
(command "linetype" " s" "continuous" " ");设置线型
)