aws 发表于 2023-3-28 15:35:17

批量直线标注,折弯标注

此插件还不够完美,文字偶有碰撞,看看有没有大佬,给出出主意,让文字互相避让。

aws 发表于 2023-3-28 15:47:35

另外如果是多段线,我该咋改,有点摸不着思路

liuhe 发表于 2023-3-28 16:41:08


;;164.12 [功能] 多段线子段数量
;;相当于组码90
;;示例 (HH:GetCurveNum (car (entsel)))
(defun HH:GetCurveNum (obj)
(if (vlax-curve-isClosed obj)
(fix (1- (vlax-curve-getendParam obj)))
(fix (vlax-curve-getendParam obj))
)
)

;;164.13 [功能] 曲线中点
;;示例 (HH:GetMidpointCurve (car (entsel)))
(defun HH:GetMidpointCurve (curve / d)
(setq d (/ (vlax-curve-getDistAtParam curve (vlax-curve-getEndParam curve)) 2))
(vlax-curve-getPointAtDist curve d)
)

;;164.14 [功能] 曲线一点的参数param
;;(HH:PtToParam (car (entsel)) (getpoint))
(defun HH:PtToParam (obj pt)
(vlax-curve-getParamAtPoint obj pt)
)
;;164.15 [功能] 参数param处的坐标
;;(HH:ParamTopt (car (entsel)) 0)
(defun HH:ParamTopt (obj param)
(vlax-curve-getPointAtParam obj param)
)
;;164.16 [功能] 多段线第n子段的起点坐标
;;示例 (HH:GetSegStratPt (car (entsel)) 0)
(defun HH:GetSegStratPt(curve n)
(vlax-curve-getPointAtParam curve (fix n))
)
;;164.17 [功能] 多段线第n子段的终点坐标
;;示例 (HH:GetSegEndPt (car (entsel)) 0)
(defun HH:GetSegEndPt (curve n)
(vlax-curve-getPointAtParam curve (1+ (fix n)))
)


By 自贡黄明儒

非本人

aws 发表于 2023-4-5 17:41:29

liuhe 发表于 2023-3-28 16:41
By 自贡黄明儒

非本人

感谢帮助!收获到了新方法。

gaolei_gaolei 发表于 2023-6-27 13:23:41

大侠能实现画线和长一起标出来吗,

vormittag 发表于 2023-6-27 13:51:17

碰撞是没办法避免的,一个很小的图,非要用大字标注,想不碰撞那是不可能的。
页: [1]
查看完整版本: 批量直线标注,折弯标注