书院扫地僧 发表于 2022-5-8 18:10:40

大佬们帮忙看下,怎么取消左对齐

本帖最后由 书院扫地僧 于 2022-5-8 18:25 编辑

;;;;;本代码来源于论坛,取消左对齐,只要调整行距
(defun c:test1 (/ e1 e2 ent heigh heighy i inpoint k lst ob ob_ptx ob_pty pt         pto ptx ss      )
   (setq ss (ssget '((0 . "text"))))
(setq i 0lst '())
(repeat (sslength ss)
    (setq ent (ssname ss i))
    (setq inpoint (Vlax-Get (Vlax-Ename->Vla-Object ent) 'InsertionPoint))
    (setq lst (append    (list (cons ent inpoint))    lst      )    )
    (setq i (1+ i))
    )
(setq lst (vl-sort lst
                     (function
                           (lambda (e1 e2)
                                     (< (caddr e1) (caddr e2))
                                     )
                           )
                     )
      )
(setq ob_ptx (cadr (last lst)))
(setq ob_pty (caddr (last lst)))
(setq heigh (Vlax-Get (Vlax-Ename->Vla-Object (car (last lst))) 'Height))
(setq k 0)
(repeat (length lst)
    (setq ob (Vlax-Ename->Vla-Object (car (nth k lst))))
(setq pt (Vlax-Get ob 'InsertionPoint))
    (setq ptx (subst    ob_ptx    (car pt)    pt      )    )
    (setq heighy (- ob_pty (* 2 heigh (- (length lst) (1+ k)))))
   (setq pto (subst    heighy    (cadr ptx)    ptx      )    )
    (Vlax-Put-Property ob 'InsertionPoint (Vlax-3d-Point pto))
    (Vlax-Put-Property ob 'Height heigh)
    (setq k (1+ k))
    )
(princ)
)

guosheyang 发表于 2022-5-8 19:19:07

这句(setq ptx (subst ob_ptx (car pt) pt ))替换为这句
    (setq ptx pt)   试试

书院扫地僧 发表于 2022-5-8 18:25:23

大佬们帮忙看下,怎么取消左对齐

书院扫地僧 发表于 2022-5-8 20:19:26

本帖最后由 书院扫地僧 于 2022-5-8 20:24 编辑

guosheyang 发表于 2022-5-8 19:19
这句(setq ptx (subst ob_ptx (car pt) pt ))替换为这句
    (setq ptx pt)   试试
感谢大佬,可以了,谢啦!!!!!!!!

A._建筑李工 发表于 2022-5-10 10:11:36

guosheyang 发表于 2022-5-8 19:19
这句(setq ptx (subst ob_ptx (car pt) pt ))替换为这句
    (setq ptx pt)   试试

大神,请教一下,这个左对齐+自动排列,这个间距怎么修改呢?

书院扫地僧 发表于 2022-6-11 23:02:56

A._建筑李工 发表于 2022-5-10 10:11
大神,请教一下,这个左对齐+自动排列,这个间距怎么修改呢?

(setq heighy (- ob_pty (* 2 heigh (- (length lst) (1+ k)))))      改几倍高度* 2 heigh
页: [1]
查看完整版本: 大佬们帮忙看下,怎么取消左对齐