请高手写个.不用command由点表求偏移指定距离后的点表.
;;已知点表lst和要偏移的方向点pt求偏移后的点表.我似乎听到了陈伯雄老师的说GCAD..但就是想看看高手是怎么实现这个的,;;像复制,移动,镜像,旋转,等基本功能好像都已有lisp源码公布,现请高手写个偏移的. 本帖最后由 llsheng_73 于 2013-10-30 14:09 编辑
刚才写了一个,不过没发到这里
点表偏移(模拟OFFSET命令对多线段的处理)
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=108141&fromuid=202795
(mapcar '(lambda (x) (mapcar '+ x pt)) lst) 先明确“点表偏移”的含义 本帖最后由 llsheng_73 于 2013-10-30 13:52 编辑
点表是不是可以理解为多边形的顶点?
如果是的话,那我们可以通过自己绘图的方式来实现OFFSET,以相邻两条边为例,我们可以先根据偏移距离作这两条边的平行线,再把这两条边延长至它们的交点。通过这个过程那在不绘图的情况下可以把那个交点算出来,先计算其中一条边的方位角ANG,将这个方位角加90度(或者减,具体根据距离所),根据偏移距离D,通过(polar p1 ang D)分别计算出它的平行线的两个端点坐标,接下来(inters pt1 pt2 pt3 pt4 NIL)求出新的交点,这个点就是相邻两条边的交点经过offset指定距离后的新的交点。能求出一个新的交点自然能求出所有点OFFSET一定距离后的点吧
页:
[1]