如何自定义对齐方式?
本帖最后由 zilong136 于 2024-5-10 02:34 编辑我想做左对齐、中对齐、右对齐三种文字对齐方式,如何优化下列代码?不想每次重新设置。
[*];1【DQ1】文字对齐--TEXTALIGN
[*](defun c:dq1 ()
[*](prompt "\n dq1:文字左对齐--垂直") ;输出命令行显示
[*] (setvar "cmdecho" 0) ;关闭CAD命令行显示
[*](command-s "TEXTALIGN" "O" "V") ;自定义命令
[*](command-s "TEXTALIGN" "I" "L") ;自定义命令
[*](setvar "cmdecho" 1) ;打开CAD命令行显示
[*](princ)
[*])
[*]
[*]
[*];2【DQ2】文字对齐--TEXTALIGN
[*](defun c:dq2 ()
[*](prompt "\n dq2:文字中对齐--垂直") ;输出命令行显示
[*] (setvar "cmdecho" 0) ;关闭CAD命令行显示
[*](command-s "TEXTALIGN" "O" "V") ;自定义命令
[*](command-s "TEXTALIGN" "I" "C") ;自定义命令
[*](setvar "cmdecho" 1) ;打开CAD命令行显示
[*](princ)
[*])
[*]
[*];3【DQ3】文字对齐--TEXTALIGN
[*](defun c:dq3 ()
[*](prompt "\n dq3:文字右对齐--垂直") ;输出命令行显示
[*] (setvar "cmdecho" 0) ;关闭CAD命令行显示
[*](command-s "TEXTALIGN" "O" "V") ;自定义命令
[*](command-s "TEXTALIGN" "I" "R") ;自定义命令
[*](setvar "cmdecho" 1) ;打开CAD命令行显示
[*](princ)
[*])
水平对齐列表改变不了系统上一次的选择,如何优化?
[*];10.5.7.3【hdq】文字对齐--水平
[*](defun c:hdq ()
[*] (princ "\n hdq:文字对齐--水平")
[*](initget "L C R TL TC TR ML MC MR BL BCBR")
[*](setq align (getkword "\n[左对齐(L)/中对齐(C)/右对齐(R)/左上(TL)/中上(TC)/右上(TR)/左中(ML)/正中(MC)/右中(MR)/左下(BL)/中下(BC)/右下(BR)]"))
[*](cond
[*] ((= align "L") (setq promptMsg "\n文字左对齐--水平"))
[*] ((= align "C") (setq promptMsg "\n文字中对齐--水平"))
[*] ((= align "R") (setq promptMsg "\n文字右对齐--水平"))
[*] ((= align "TL") (setq promptMsg "\n文字对齐--水平"))
[*] ((= align "TC") (setq promptMsg "\n文字对齐--水平"))
[*] ((= align "TR") (setq promptMsg "\n文字对齐--水平"))
[*] ((= align "ML") (setq promptMsg "\n文字对齐--水平"))
[*] ((= align "MC") (setq promptMsg "\n文字对齐--水平"))
[*] ((= align "MR") (setq promptMsg "\n文字对齐--水平"))
[*] ((= align "BL") (setq promptMsg "\n文字对齐--水平"))
[*] ((= align "BC") (setq promptMsg "\n文字对齐--水平"))
[*] ((= align "BR") (setq promptMsg "\n文字对齐--水平"))
[*])
[*](prompt promptMsg) ; 输出命令行显示
[*](setvar "cmdecho" 0) ; 关闭CAD命令行显示
[*](vl-cmdf "TEXTALIGN" "O" align) ; 自定义命令
[*](setvar "cmdecho" 1) ; 打开CAD命令行显示
[*](princ)
[*])
http://bbs.mjtd.com/thread-189766-1-1.html?_dsign=9c09c2a4 有没有可能天正已经做好了?比如ALXLEFT、ALXMID、ALXRIGHT 自贡黄明儒 发表于 2024-5-9 07:57
http://bbs.mjtd.com/thread-189766-1-1.html?_dsign=9c09c2a4
我在使用JUSTIFYTEXT命令,选择对齐方式后,命令自动结束了,不知道什么情况。使用你的LSP也是一样情况。 xkey 发表于 2024-5-9 11:36
有没有可能天正已经做好了?比如ALXLEFT、ALXMID、ALXRIGHT
我要的是纯CAD环境 (defun c:dq ()
(initget "L C R ")
(setq align (getkword "\n[左对齐(L)/中对齐(C)/右对齐(R)]"))
(cond
((= align "L") (setq promptMsg "\n文字左对齐--垂直"))
((= align "C") (setq promptMsg "\n文字中对齐--垂直"))
((= align "R") (setq promptMsg "\n文字右对齐--垂直"))
)
(prompt promptMsg) ; 输出命令行显示
(setvar "cmdecho" 0) ; 关闭CAD命令行显示
(command-s "TEXTALIGN" "O" "V") ; 自定义命令
(command-s "TEXTALIGN" "I" align) ; 自定义命令
(setvar "cmdecho" 1) ; 打开CAD命令行显示
(princ)
) 本帖最后由 zilong136 于 2024-5-10 01:52 编辑
359321852 发表于 2024-5-9 21:03
要把这一行去掉(command-s "TEXTALIGN" "O" "V") ; 自定义命令
要不然你作的表不起作用,选择你那个表之后还要再一次进行选择才行。
页:
[1]