brbright 发表于 2016-8-7 14:58:23

[fb]尺寸断开-逐点标注v2.1

本帖最后由 brbright 于 2016-9-11 14:53 编辑

尺寸断开-逐点标注v2.0
这是我抽空写的尺寸断开/逐点标注的程序
说明:
1.默认快捷键FB
2.支持多选。默认单选,找不到就自动切换为多选。
3.支持UCS
4.原理是复制一个新的标注,再根据给定的点调整两个标注
5.源码有大量的注释,方便修改
6.v2.1版增加标注检测,不是标注则退出。

[备注]
这是一个很常用的功能。天正和探索者都有。
纯CAD的朋友则比较痛苦,因为真的很难找。以下是我知道的:
1.MSteel结构工具箱 www.mymsteel.com
2.YAD建筑及结构软件 www.yad.ys168.com
3.edata提到的迷你建筑工具 szmaicy.ys168.com
如果您对我的程序不满意,可以尝试上面这几款,谢谢。

关于之前的V1.0版,谢谢edata的指正,我据此对程序的循环部分进行了修订。
V1.0版在遇到和XY轴平行的标注,会出错,原因是以下这条语句写错了:
(if (< (abs (sin d_rotation)) 0.707)
    ;;按X轴排序
    (setq li_3points
         (vl-sort li_3points
                  (function (lambda (e1 e2) (> (cadr e1) (cadr e2))))
         )
    )
    ;;按Y轴排序
    (setq li_3points
         (vl-sort li_3points
                  (function (lambda (e1 e2) (> (car e1) (car e2))))
         )
    )
)
我是通过SIN函数计算角度,判断3点角度所在的象限,避免X轴恒等于零的时候对点按X轴排序。
结果在car和cadr这里不小心用反了。

meja 发表于 2019-1-6 16:11:47

合并功能应该加上,比较简单

bai2000 发表于 2016-8-7 20:02:53

一般在建筑上不用箭头,用斜线,在哪改?

brbright 发表于 2016-8-7 20:17:37

bai2000 发表于 2016-8-7 20:02 static/image/common/back.gif
一般在建筑上不用箭头,用斜线,在哪改?

这个程序不会修改箭头或斜线。
原理是复制一个新的标注,原来是箭头新生成的就是箭头,斜线亦然。
要修改成斜线,建议参考CAD“标注样式”相关知识。

davide888 发表于 2016-8-8 09:09:06

关注      

edata 发表于 2016-8-8 14:16:28

简单测试了下,
1、断开效果可能有点问题,有的断开后原来的尺寸不变化,标注样式默认acadiso模板的iso-25..
2、对于选择点是没有提示,也没有对点检测,ssget 返回值没有检测。
3、repeat 1000不合理(while(setq breakPt(getpoint "\n指定一个点")) .......)这个模式比较适合 。
4、断开标注在 迷你建筑工具箱 已经有了很不错的版本,你可以研究研究。。

brbright 发表于 2016-8-8 22:19:44

edata 发表于 2016-8-8 14:16 static/image/common/back.gif
简单测试了下,
1、断开效果可能有点问题,有的断开后原来的尺寸不变化,标注样式默认acadiso模板的iso-25 ...

很好的建议!谢谢!

429014673 发表于 2016-8-8 22:37:48

再优化下,改为可以不用框选也可以逐点标注

brbright 发表于 2016-9-11 13:46:51

429014673 发表于 2016-8-8 22:37 static/image/common/back.gif
再优化下,改为可以不用框选也可以逐点标注

感谢建议,修订如下。
默认单选,找不到就自动切换为多选。

yoyoho 发表于 2016-9-11 16:16:37

感谢 brbright 更新版本下载学习了!

huai-xiao-hai 发表于 2016-9-11 21:21:07

很不错,谢谢
页: [1] 2
查看完整版本: [fb]尺寸断开-逐点标注v2.1