MTEXT 文字竖向排版 -初学者来看
[*] (entmake (list '(0 . "MTEXT")
[*] '(100 . "AcDbEntity")
[*] '(100 . "AcDbMText")
[*] (cons 1 (strcat"中国葛洲坝集团股份有限公司")) ;
[*]
[*] (cons 10 PT)
[*] (cons 402 )
[*] '(41 . 5.74092);文字竖向排版
[*] '(71 . 5)
[*] '(72 . 5)
[*] (cons 50 0)
[*] (cons 62 3)
[*] (cons 8 "图框") )
[*] );标注
本帖最后由 尘缘一生 于 2023-2-19 16:39 编辑
还可以这样实现(三领集成展示)
[*];;单行MTEXT文本-动态拉伸---(一级)----
[*](defun macedit-mtext (nam / p0 loop gr pt)
[*](setq p0 (car (e-box4 nam t)) obj (en2obj nam))
[*](princ"\n 指定拉伸点:")
[*](setq loop t)
[*](while loop
[*] (setq gr (grread t 15 0) pt (cadr gr))
[*] (cond
[*] ((or (= (car gr) 3);;左键
[*] (member (car gr) '(11 25)) ;;右键
[*] )
[*] (setq loop nil)
[*] )
[*] ((= (car gr) 5)
[*] (vla-put-Width obj (distance p0 pt))
[*] )
[*] )
[*])
[*])
[*]
[*];;单行MTEXT文本-动态拉伸---(一级)----
[*](defun macedit-mtext (nam / p0 ent loop gr pt)
[*](if (= (oneorno nam) nil) ;MTEXT多行的,格式复杂者
[*] (progn
[*] (sl-ss-txt2mtext (expmtext nam) 1.5) ;分解MTEXT,并再次重生成不复杂格式MTEXT
[*] (setq nam (entlast))
[*] )
[*])
[*](setq p0 (car (txbox nam nil)) ent (entget nam))
[*](princ"\n 指定拉伸点:")
[*](setq loop t)
[*](while loop
[*] (setq gr (grread t 15 0) pt (cadr gr))
[*] (cond
[*] ((or (= (car gr) 3);;左键
[*] (member (car gr) '(11 25)) ;;右键
[*] )
[*] (setq loop nil)
[*] )
[*] ((= (car gr) 5)
[*] (entmod (emod ent 41 (distance p0 pt)))
[*] )
[*] )
[*])
[*])
感谢分享代码! 可以提供一下e-box4函数源代码吗 本帖最后由 尘缘一生 于 2023-2-20 18:34 编辑
清清绿茶 发表于 2023-2-20 11:21
可以提供一下e-box4函数源代码吗
这个就是取得MTEXT的包容盒的左下角,你换一换即可,E-BOX4集成太复杂,或者你这个任意取下点
[*];;单行MTEXT文本-动态拉伸---(一级)----
[*](defun macedit-mtext (nam / p0 loop gr pt)
[*](setq p0 (cadr (grread 5)) obj (en2obj nam))
[*](princ"\n 指定拉伸点:")
[*](setq loop t)
[*](while loop
[*] (setq gr (grread t 15 0) pt (cadr gr))
[*] (cond
[*] ((or (= (car gr) 3);;左键
[*] (member (car gr) '(11 25)) ;;右键
[*] )
[*] (setq loop nil)
[*] )
[*] ((= (car gr) 5)
[*] (vla-put-Width obj (distance p0 pt))
[*] )
[*] )
[*])
[*])
尘缘一生 发表于 2023-2-20 18:27
这个就是取得MTEXT的包容盒的左下角,你换一换即可,E-BOX4集成太复杂,或者你这个任意取下点
感谢大佬!
页:
[1]