- A+
所属分类:CAD
几天前遇到了麻烦,需要在一条多线段上标注某点距离起点距离,在网上查了半天,找到了方法(部分代码来自网络,作者不详),可以测量距离,但是不能标注距离,之后进行了一下修
标注。现在分享给大家。
1.加载lsp命令为appload
也可以添加到启动组,这样不用每次都需要加载,启动组—内容—找到.lsp文件。2.命令为zhbz,选择多线段(不能为封闭线段)—点击需要测量的位置—点击标注距离文字的位置,(注意,自己判断起点\终点,头尾可不一定哦,当然,你自己画的线就没问题了。)将以下代码复制到记事本,以【.lsp】为后缀命名,存储以ANSI编码形式,打开cad,【appload】加载,命令【zhbz】就可以查询并标注。
(defun C:zhbz ( / &dis1 &k1 &n1 &p1 &ss1) (if (null vlax-dump-object) (vl-load-com) ) (setq &ss1 '("LINE" "LWPOLYLINE" "CIRCLE" "ARC" "HELIX" "ELLIPSE" "SPLINE" "POLYLINE")) ;曲线有起点:直线,多段线,圆,圆弧,螺旋对象,椭圆,样条曲线,二维多段线 (if (and (setq &k1 (entsel "\n请选择曲线")) (setq &k1 (car &k1)) (member (cdr (assoc 0 (entget &k1))) &ss1);确认是曲线 (setq &p1 (getpoint "\n请选择指定点")) (setq &p1 (vlax-curve-getclosestpointto &k1 &p1));取得最近点 (setq &n1 (vlax-curve-getParamAtPoint &k1 &p1));取得参数 (setq &dis1 (vlax-curve-getDistAtParam &k1 &n1));到起点距离 (setq b (rtos &dis1 2 2)) ;将数据结果由实数转换成字符串,且设置为两个精度,即小数点后两位 (setq a (getpoint "\n屏幕单击插入点")) ;指定插入点 (entmake (list '(0 . "text") ;建立文字图元属性列表,文字,插入点,内容,字高 (cons 10 a) (cons 11 a) (cons 1 b) '(40 . 15);字高 ) ) ) (princ (strcat "\n指定点到起点距离为" (rtos &dis1)));命令行显示 ) (princ) );复制到记事本,以【.lsp】为后缀命名,存储以ANSI编码形式,打开cad,【appload】加载,命令【zhbz】就可以查询并标注,by xkbuild,更多搜索 xkbuild
历史上的今天:
- 2021: CAD如何不显示圆弧标注的尺寸界线?
- 2021: 大理石云石胶怎么拆?
- 2021: 空开跳闸推不上去怎么办?经验人士为你支招
- 2021: 甲醛的释放周期是多久?
- 2021: 装修用到的科定板是什么材料?

自学设计网
微信扫一扫领取设计学习资料/本站会员