669423907 发表于 2019-3-5 10:58:52

leader引线时,如何自动在在段落里开启段落行距

本帖最后由 669423907 于 2019-3-5 11:02 编辑

请教一个leader引线问题:
如何自动在在段落里开启段落行距,并设置值为0.7
[*](defun c:13(/ o s)
[*](if (setq o(getpoint"\n 请指定坐标原点(右键为之前的原点): "))
[*]    (command "qleader" "non" o "\\" "" "" 0 "" "ucs" o "")
[*]    (command "ucs" "p")
[*])
[*](while
[*]    (setq o (getpoint"\n 请指定坐标点:"))
[*]    (if (setq s (ssget "c" o o '((0 . "circle,arc"))) )
[*]      (progn
[*]      (setq s (entget (ssname s 0)))
[*]      (setq o (trans (cdr (assoc 10 s)) 0 1)) ;trans坐标转换
[*]      )
[*]    ) ;如果选中的是圆或圆弧,则自动移到圆心
[*]    (princ (strcat "\n 请指定 "(strcat"X "(rtos(car o)2 2))"   "(strcat"Y "(rtos(cadr o)2 2))" 的文字位置"))
[*]    (command "leader" "non"o"\\" ""(strcat"X "(rtos(car o)2 2))(strcat"Y "(rtos(cadr o)2 2))"")
[*]) ;while
[*](command "ucs" "")
[*](setq o nil s nil)
[*](princ))







file:///D:\Documents\Tencent Files\669423907\Image\Group\Image3\6ZKCB0C`~0`RQG}UW}I$Y$I.png



669423907 发表于 2019-3-21 11:25:02

(defun c:zb(/ o s)
(Y引线设置)
(if (setq o (getpoint"\n 请指定坐标原点(右键为之前的原点): "))
    (command "qleader" "non" o "\\" "" "" "{\\C6;0" "" "ucs" o "")
    (command "ucs" "p")
)
(while
    (setq o (getpoint"\n 请指定坐标点:"))
    (if (setq s (ssget "c" o o '((0 . "circle,arc"))) )
      (progn
      (setq s (entget (ssname s 0)))
      (setq o (trans (cdr (assoc 10 s)) 0 1)) ;trans坐标转换
      )
    ) ;如果选中的是圆或圆弧,则自动移到圆心
    (princ (strcat "\n 请指定 "(strcat"X "(rtos(car o)2 2))"   "(strcat"Y "(rtos(cadr o)2 2))" 的文字位置"))
    (command "qleader" "non" o "\\" "" "" (strcat "{\\C201;X {\\C2" "\\pxsm0.7;"(rtos(car o)2 2) "\\P" "{\\C181;Y {\\C2" "\\psm0.6;" (rtos(cadr o)2 2)) "") ;leader
) ;while
(command "ucs" "")
(setq o nil s nil)
(princ))

;设置 Qleader 命令“引线设置”对话框的相关参数
;注:<font color="red">引线的箭头跟DIMSTYLE使用同一设置,可以直接修改DIMLDRBLK系统变量
;caoyin 2011.5.5 http://bbs.mjtd.com/forum.php?mod=viewthread&tid=86738&extra=&highlight=qleader&page=1
(defun Y引线设置(/ DICEN)
(setq DICEN (namedobjdict))
(if (dictsearch DICEN "AcadDim")
    (dictremove DICEN "AcadDim")
)
(dictadd DICEN
         "AcadDim"
            (entmakex '((0 . "XRECORD")
                        (100 . "AcDbXrecord")
                        (280 . 1)
                        (90 . 990106)
                        (3 . "") ;引线和箭头-〉箭头[用户箭头的缺省块名,""则表示未设置]
                        (60 . 0) ;注释-〉注释类型
                        (61 . 0) ;注释-〉重复使用注释
                        (62 . 2) ;附着-〉文字在右边
                        (63 . 2) ;附着-〉文字在左边
                        (64 . 0) ;附着-〉最后一行加下划线
                        (65 . 0) ;引线和箭头-〉引线
                        (66 . 0) ;引线和箭头-〉点数-〉无限制
                        (67 . 4) ;引线和箭头-〉点数[任意正整数]
                        (68 . 1) ;注释-〉多行文字选项-〉提示输入宽度
                        (69 . 0) ;注释-〉多行文字选项-〉始终左对齐
                        (70 . 0) ;引线和箭头-〉角度约束->第一段
                        (71 . 0) ;引线和箭头-〉角度约束->第二段
                        (72 . 0) ;注释-〉多行文字选项-〉文字边框
                        (40 . 0.0) ;字高
                        (41 . 0) ;自定义宽度
                        (46 . 0) ;自定义高度
                        (170 . 2) ;控制“引线设置”对话框的缺省选项卡
                     ;(340 . 图元名)
                      ;当DXF组码60的值为3,且已经设定了块参照的块名,则340组码才会出现
                      ;格式为(340 . 上次使用块参照作为注释对象,实际插入的块实例的图元名)
                      )
            )
    )
)

alexmai 发表于 2019-3-21 19:37:51

建议做个属性文字块,修改比较方便
页: [1]
查看完整版本: leader引线时,如何自动在在段落里开启段落行距