尘缘一生
发表于 2020-3-21 00:58:48
[*];;;;取中点函数---enam 实体名-----------------------(一级)------------------------------
[*](defun e-mid (enam / ent typ obj cen_po pt pt10 pt13 pt14 pt15 dis ang)
[*](setq ent (entget enam))
[*](setq typ (dxf1 ent 0))
[*](if (= typ "LINE")
[*] (setq pt (yy:mid (dxf1 ent 10) (dxf1 ent 11)))
[*])
[*](if (or (= typ "ARC") (= typ "SPLINE") (and (or (= typ "LWPOLYLINE") (= typ "POLYLINE")) (= (fy-recP enam) nil))) ;;;矩形非闭合多义线
[*] (progn
[*] (setq obj (en2obj enam))
[*] (setq dis (vlax-curve-getdistatparam obj (vlax-curve-getendparam obj)))
[*] (setq pt (vlax-curve-getPointAtDist obj (* dis 0.5))) ;取得中点
[*] )
[*])
[*](if (= typ "CIRCLE")
[*] (setq pt (dxf1 ent 10))
[*])
[*](if (= typ "DIMENSION")
[*] (progn
[*] (if (= (dxf1 ent 70) 37) ;;圆弧标注
[*] (progn
[*] (setq pt11 (dxf1 ent 11))
[*] (setq pt15 (dxf1 ent 15))
[*] (setq ang (angle pt11 pt15))
[*] (setq pt (polar pt11 ang (* (getvar "dimscale") (+ (* (getvar "dimtxt") 0.5) (getvar "dimgap")))))
[*] )
[*] )
[*] (if (= (dxf1 ent 70) 34) ;;角度标注
[*] (progn
[*] (setq pt11 (dxf1 ent 11))
[*] (setq pt13 (dxf1 ent 13))
[*] (setq pt15 (dxf1 ent 15))
[*] (setq ang (angle pt11 (yy:mid pt13 pt15)))
[*] (setq pt (polar pt11 ang (* (getvar "dimscale") (+ (* (getvar "dimtxt") 0.5) (getvar "dimgap")))))
[*] )
[*] )
[*] (if (vl-position "AcDbAlignedDimension" (mapcar 'cdr (vl-remove-if-not '(lambda (x) (= (car x) 100)) ent))) ;;;如果对齐32 线性 33 标注
[*] (progn
[*] (setq pt11 (dxf1 ent 10))
[*] (setq pt13 (dxf1 ent 13))
[*] (setq pt14 (dxf1 ent 14))
[*] (setq dis (distance pt14 pt13))
[*] (setq ang (angle pt14 pt13))
[*] (setq pt (polar pt10 ang (* dis 0.5)))
[*] )
[*] )
[*] (if (null pt)
[*] (setq pt (dxf1 ent 11));;;标注文字中心,近似中点
[*] )
[*] )
[*])
[*](if (or (= typ "TEXT") (= typ "MTEXT"))
[*] (setq pt (yy:mid (car (txbox enam nil)) (caddr (txbox enam nil))))
[*])
[*](if (null pt)
[*] (setq cen_po (get-box (SL:PickSet-fromList (list enam)))
[*] pt (yy:mid (car cen_po) (cadr cen_po))
[*] )
[*])
[*]pt
[*])
[*];;----------------------------------------------------------------------------------------------
13916020908
发表于 2020-3-21 08:02:07
依然小小鸟 发表于 2020-3-20 13:34
希望能实现这样的功能
这样的效果能实现吗
wudechao
发表于 2020-3-21 09:59:58
尘缘一生 发表于 2020-3-21 00:58
[*];;;;取中点函数---enam 实体名-----------------------(一级)------------------------------
[*]( ...
缺了几个自定义函数
无名之辈
发表于 2020-3-25 17:24:32
学习一下!
love_cq
发表于 2020-4-22 10:27:00
依然小小鸟 发表于 2020-3-20 13:34
希望能实现这样的功能
这个好!有了吗,发一个学习下。
love_cq
发表于 2020-4-22 10:30:12
Gu_xl 发表于 2020-3-19 11:47
D:\autolisp\【czj】个人函数库\【20200420】批量自动修改梁宽和梁偏位范例图及需求描述\柱居中对齐
love_cq
发表于 2020-4-22 10:35:18
Gu_xl 发表于 2020-3-19 11:47
G版您好,下图所示的这种批量对齐,怎么实现呢。感觉跟您这个很类似的一个思路。
柱居中对齐后的效果
柱居中对齐后的效果
845245015
发表于 2020-4-22 12:09:59
持续追踪此类问题
cqu20104225
发表于 2020-4-22 23:12:29
持续追踪,G版出手
yangchao2005090
发表于 2020-6-9 23:34:36
Gu_xl 发表于 2020-3-19 11:47
请问可以实现实体表格居中吗