天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 70|回复: 0

[讨论] 仿JUSTIFYTEXT

[复制链接]
  • TA的每日心情
    开心
    1 小时前
  • 签到天数: 82 天

    [LV.6]常住居民II

    1578

    主题

    204

    回帖

    214748万

    积分

    管理员

    积分
    2147483647
    发表于 2024-4-1 20:29:05 | 显示全部楼层 |阅读模式
    1. ;; [功能] 获取两点的中点坐标
    2. (defun MJ:MIDPOINT (P1 P2)
    3.   (mapcar '(lambda (X Y) (* (+ X Y) 0.5)) P1 P2)
    4. )


    5. (defun C:t1 (/ KEY SS)
    6.   (setq ss (ssget '((0 . "TEXT"))))
    7.   (initget "L A F C M R TL TC TR ML MC MR BL BC BR ")
    8.   (setq        key
    9.          (getkword
    10.            "\n[左对齐(L)/对齐(A)/布满(F)/居中(C)/中间(M)/右对齐(R)/左上(TL)/中上(TC)/右上(TR)/左中(ML)/正中(MC)/右中(MR)/左下(BL)/中下(BC)/右下(BR)] <正中(MC)>:"
    11.          )
    12.   )
    13.   (if (not key)
    14.     (setq key "MC")
    15.   )
    16.   (MY-JUSTIFYTEXT ss key)
    17.   (princ)
    18. )

    19. (DEFUN MY-JUSTIFYTEXT(ss key / E EN N P P10 PTS)
    20.   (repeat (setq n (sslength ss))
    21.     (setq e (ssname ss (setq n (1- n))))
    22.     (setq en (entget e))
    23.     (setq p10(cdr (assoc 10 en)))
    24.     (setq pts (textbox en))
    25.     (setq p (apply 'MJ:MIDPOINT pts))
    26.     (cond
    27.       ((= key "L");左对齐
    28.        (entmod (append en
    29.                        (list (cons 10 p10)
    30.                              '(71 . 0)
    31.                              '(72 . 0)
    32.                              '(11 0 0)
    33.                              '(73 . 0)
    34.                        )
    35.                )
    36.        )
    37.       )
    38.       ((= key "A");/对齐
    39.        (entmod (append en
    40.                          (list (cons 10 p10)
    41.                                '(71 . 0)
    42.                                '(72 . 3)
    43.                                (list 11 (+ (car p10) (caadr pts)) (cadr p10))
    44.                                '(73 . 0)
    45.                          )
    46.                  )
    47.          )
    48.       )
    49.       ((= key "F");/布满
    50.        (entmod (append en
    51.                          (list (cons 10 p10)
    52.                                '(71 . 0)
    53.                                '(72 . 5)
    54.                                (list 11 (+ (car p10) (caadr pts)) (cadr p10))
    55.                                '(73 . 0)
    56.                          )
    57.                  )
    58.          )
    59.       )
    60.       ((= key "C");居中
    61.        (entmod (append en
    62.                          (list (cons 10 p10)
    63.                                '(71 . 0)
    64.                                '(72 . 1)
    65.                                (list 11 (+ (car p10) (car p)) (cadr p10))
    66.                                '(73 . 0)
    67.                          )
    68.                  )
    69.          )
    70.       )
    71.       ((= key "M");/中间
    72.        (entmod (append en
    73.                        (list (cons 10 p10)
    74.                              '(71 . 0)
    75.                              '(72 . 4)
    76.                              (cons 11 (mapcar '+ p p10))
    77.                              '(73 . 0)
    78.                        )
    79.                )
    80.        )
    81.       )
    82.       ((= key "R");右对齐(R)
    83.        (entmod (append en
    84.                          (list (cons 10 p10)
    85.                                '(71 . 0)
    86.                                '(72 . 2)
    87.                                (list 11 (+ (car p10) (caadr pts)) (cadr p10))
    88.                                '(73 . 0)
    89.                          )
    90.                  )
    91.          )
    92.       )
    93.       ((= key "TL");/左上
    94.        (entmod (append en
    95.                        (list (cons 10 p10)
    96.                              '(71 . 0)
    97.                              '(72 . 0)
    98.                              (list 11 (car p10) (+ (cadr p10) (cadadr pts)))
    99.                              '(73 . 3)
    100.                        )
    101.                )
    102.        )
    103.       )
    104.       ((= key "TC");/中上
    105.        (entmod (append en
    106.                        (list (cons 10 p10)
    107.                              '(71 . 0)
    108.                              '(72 . 1)
    109.                              (list 11 (+ (car p10) (car p)) (+ (cadr p10) (cadadr pts)))
    110.                              '(73 . 3)
    111.                        )
    112.                )
    113.        )
    114.       )
    115.       ((= key "TR");/右上
    116.        (entmod (append en
    117.                        (list (cons 10 p10)
    118.                              '(71 . 0)
    119.                              '(72 . 2)
    120.                              (list 11 (+ (car p10) (caadr pts)) (+ (cadr p10) (cadadr pts)))
    121.                              '(73 . 3)
    122.                        )
    123.                )
    124.        )
    125.       )
    126.       ((= key "ML");/左中
    127.        (entmod (append en
    128.                        (list (cons 10 p10)
    129.                              '(71 . 0)
    130.                              '(72 . 0)
    131.                              (list 11 (car p10) (+ (cadr p10) (cadr p)))
    132.                              '(73 . 2)
    133.                        )
    134.                )
    135.        )
    136.       )
    137.       ((= key "MC");/正中
    138.        (entmod (append en
    139.                        (list (cons 10 p10)
    140.                              '(71 . 0)
    141.                              '(72 . 1)
    142.                              (cons 11 (mapcar '+ p10 p))
    143.                              '(73 . 2)
    144.                        )
    145.                )
    146.        )
    147.       )
    148.       ((= key "MR");/右中
    149.        (entmod (append en
    150.                        (list (cons 10 p10)
    151.                              '(71 . 0)
    152.                              '(72 . 2)
    153.                              (list 11 (+ (car p10) (caadr pts)) (+ (cadr p10) (cadr p)))
    154.                              '(73 . 2)
    155.                        )
    156.                )
    157.        )
    158.       )
    159.       ((= key "BL");/左下
    160.        (entmod (append en
    161.                        (list (cons 10 p10)
    162.                              '(71 . 0)
    163.                              '(72 . 0)
    164.                              (cons 11 p10)
    165.                              '(73 . 1)
    166.                        )
    167.                )
    168.        )
    169.       )
    170.       ((= key "BC");/中下
    171.        (entmod (append en
    172.                        (list (cons 10 p10)
    173.                              '(71 . 0)
    174.                              '(72 . 1)
    175.                              (list 11 (+ (car p10) (car p)) (cadr p10))
    176.                              '(73 . 1)
    177.                        )
    178.                )
    179.        )
    180.       )
    181.       ((= key "BR");右下
    182.        (entmod (append en
    183.                        (list (cons 10 p10)
    184.                              '(71 . 0)
    185.                              '(72 . 2)
    186.                              (list 11 (+ (car p10) (caadr pts)) (cadr p10))
    187.                              '(73 . 1)
    188.                        )
    189.                )
    190.        )
    191.       )
    192.     )
    193.   )
    194. )

    复制代码

     

     

     

     

    [讨论] 仿JUSTIFYTEXT
    中国膜结构网打造全中国最好的膜结构综合平台 ,统一协调膜结构设计,膜结构施工,膜材采购,膜材定制,膜结构预算全方位服务。 中国空间膜结构协会合作单位。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|中国膜结构网_中国空间膜结构协会

    GMT+8, 2024-5-16 09:33 , Processed in 0.088063 second(s), 21 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表