随意角度自动比例修订云线
本帖最后由 baogeu88 于 2020-6-11 18:40 编辑修订云线是大家比较常见的一个功能,有时候根据不同专业的作图需要,修订云线往往需要需要根据图纸不停地变化角度,而且云线比例也需要根据我们的选择范围进行调整。为了方便工作,最好能把这几个功能集成起来,也能方便大家的绘图。
感谢14#楼的建议!增加默认水平方向和修复会影响到矩形的角度的bug。详见v1.1版本。
修改了一下
(1)加了图层
(2)把其他改为q
;;任意云线TY
(defun c:TY(/ x0 y0 x1 y1)
(setvar "cmdecho" 0 )
(setq oldlayer (getvar "clayer"));;加层
(command-S "_layer" "n" "0-100-修改云线" "c" "6" "0-100-修改云线""N" "0-100-修改云线" "") ;;加层,如果"N"后加“P”则为不打印图层
(setvar "clayer" "0-100-修改云线");;加层
(vl-load-com)
------------------------
;设置水平方向默认值
(setq fx (getstring "\n输入修订云线偏转方向(默认水平-y;其他旋转角度-q)<空格-y>:"))
(if (= fx "")
(setq fx "y")
)
(princ fx)
----------------------
(SetQ
p0 (GetPoint "\n 指定第一个修订角点:")
)
;显示方向,方便查看
(if (= fx "y")
(Command "rectang" p0 "r"0pause )
(progn
(princ "\n指定角度方向")
(command "line" p0 pause "")
(setq xl (entlast))
(setq xdata (entget xl))
(setq pend (cdr (assoc 11 xdata)))
(grdraw p0 pend 2)
(setq angl (bao-rtd (angle p0 pend)))
(entdel xl);显示完成,删除
(princ "\n点选云线框角点")
(Command "rectang" p0 "r"anglpause )
)
)
-------------------------------------------------
;设定比例弧长
(setq xx (entlast))
(setq edata (entget xx))
(setq plst (bao_get_vertexsxx)) ;获取矩形四个顶点坐标
(setq pp1 (car plst)
pp2 (cadr plst)
pp3 (caddr plst)
pp4 (cadddr plst)
)
(setq dis1 (distance pp1 pp2)
dis2 (distance pp2 pp3)
)
(if(<= dis1 dis2)
(SetQ alenth (/ dis1 8))
(SetQ alenth (/ dis2 8))
)
(Command "revcloud" "a" alenth alenth "s" "c" "o" "l" "")
-------------------------
;返回矩形默认水平作图方向
(Command "rectang" p0 "r"0pp3 )
(setq xx (entlast))
(entdel xx)
------------------------------
(setvar "cmdecho" 1)
(princ)
)
;;弧度转换为度
(defun bao-rtd (ang) (/ (* ang 180.0) pi))
;;度转换为弧度
(defun bao-dtr (ang) (* (/ ang 180.0) pi))
;;获取矩形顶点
(defun bao_get_vertexs (en)
(mapcar 'cdr (vl-remove-if-not
'(lambda (x) (= (car x) 10))
(entget en)
)
)
)
本帖最后由 nyistjz 于 2020-6-11 15:27 编辑
发现有个BUG,以任意角度画云线后,会影响到矩形命令的操作,导致绘制角度出错。
另外,常规情况下,大家用水平向布置的情况较多,是否可以默认为水平向,有选择后,才进行任意角度的绘制?
nyistjz 发表于 2020-6-11 15:25
发现有个BUG,以任意角度画云线后,会影响到矩形命令的操作,导致绘制角度出错。
另外,常规情况下,大家 ...
非常感谢提出宝贵的意见 非常不错,支持楼主再接再厉~~~ 能加上引线+文字说明就好了 能否加一个备注引线呢?
这个备注可以进行设置的
这样就好了
谢谢 !baogeu88 分享程序!!!! 本帖最后由 1028695446 于 2020-6-5 20:14 编辑
我也来发一个哦,不过是动态的,把2个程序组合下就是了
谢谢楼主分享好程序 不错的程序,想法很好
不错的程序,想法很好 只是原捕捉设置都没有了
页:
[1]
2