本帖最后由 尘缘一生 于 2024-7-19 20:27 编辑
本坛有的,就是啊,原位改文字定位方式函数,因为三领是左定位系统,可以直接注销这一句。
对于文字定位方式:历史演变是这样的:最早啊,PKPM,就用的双穴点定位,那么中科院为什么这么用?哪当然好处是大大的好。可以作到系统对文字
准确定位,为什么后来左定位的多了?哪都因为天正的出现,中科院根本不在乎建筑界的发展的!所以才有了,当你打开别人的图纸,总说明部分,由于字库的不同,右侧总是参差不齐的毛病,没办法,这都是历史演变造成的。好在啊,这个问题早已不是个问题了。那么三领的开发呢,在前10年,是紧跟PKPM系统的。后来又出现了,装潢,室内....这些行业,更乱了。为了适应,才改为了全部左定位。
- ;原位修改文字对齐方式---(一级)----
- (defun text:alignmod (nam mode / p10 p11 ent box b ang)
- (setq ent (entget nam) p10 (dxf1 ent 10) b (cadr (textbox ent)) ang (dxf1 ent 50))
- (setq ent
- (entmod
- (cond
- ((= (strcase mode) "L") ;左对齐
- (sl:list-substassoc (list (cons 10 p10) '(72 . 0) '(73 . 0)) ent t)
- )
- ((= (strcase mode) "C") ;中对齐
- (sl:list-substassoc (list (cons 11 p10) '(72 . 1) '(73 . 0)) ent t)
- )
- ((= (strcase mode) "R") ;右对齐
- (sl:list-substassoc (list (cons 11 p10) '(72 . 2) '(73 . 0)) ent t)
- )
- ((= (strcase mode) "M") ;中心对齐
- (sl:list-substassoc (list (cons 11 p10) '(72 . 4) '(73 . 0)) ent t)
- )
- ((= (strcase mode) "A") ;对齐
- (setq p11 (polar p10 ang (car b)))
- (sl:list-substassoc (list (cons 10 p10) (cons 11 p11) '(72 . 3) '(73 . 0)) ent t)
- )
- ((= (strcase mode) "F") ;调整
- (setq p11 (polar p10 ang (car b)))
- (sl:list-substassoc (list (cons 10 p10) (cons 11 p11) '(72 . 5) '(73 . 0)) ent t)
- )
- ((= (strcase mode) "BL") ;左下
- (sl:list-substassoc (list (cons 11 p10) '(72 . 0) '(73 . 1)) ent t)
- )
- ((= (strcase mode) "BC") ;中下
- (sl:list-substassoc (list (cons 11 p10) '(72 . 1) '(73 . 1)) ent t)
- )
- ((= (strcase mode) "BR") ;右下
- (sl:list-substassoc (list (cons 11 p10) '(72 . 2) '(73 . 1)) ent t)
- )
- ((= (strcase mode) "ML") ;左中
- (sl:list-substassoc (list (cons 11 p10) '(72 . 0) '(73 . 2)) ent t)
- )
- ((= (strcase mode) "MC") ;正中
- (sl:list-substassoc (list (cons 11 p10) '(72 . 1) '(73 . 2)) ent t)
- )
- ((= (strcase mode) "MR") ;右中
- (sl:list-substassoc (list (cons 11 p10) '(72 . 2) '(73 . 2)) ent t)
- )
- ((= (strcase mode) "tL") ;左上
- (sl:list-substassoc (list (cons 11 p10) '(72 . 0) '(73 . 3)) ent t)
- )
- ((= (strcase mode) "tC") ;中上
- (sl:list-substassoc (list (cons 11 p10) '(72 . 1) '(73 . 3)) ent t)
- )
- ((= (strcase mode) "tR") ;右上
- (sl:list-substassoc (list (cons 11 p10) '(72 . 2) '(73 . 3)) ent t)
- )
- (t ent)
- )
- )
- )
- (setq ent (entget (dxf1 ent -1)))
- (setq p11 (mapcar '+ (mapcar '- p10 (dxf1 ent 10)) (dxf1 ent 11)))
- (entmod (sl:list-substassoc (list (cons 10 p10) (cons 11 p11)) ent t))
- )
|