品茗新秀 发表于 2012-9-4 00:23:09

求柱梁名称加前缀或后缀lsp程序

本帖最后由 品茗新秀 于 2012-9-4 18:26 编辑

求名称加前缀或后缀lsp程序














yjr111 发表于 2012-9-4 00:23:10

本帖最后由 yjr111 于 2012-9-4 14:22 编辑

(DEFUN GETSTR(SS sign QZ HZ)
(REPEAT (SETQ N(SSLENGTH SS))
(SETQ STR(CDR(ASSOC 1(SETQ S(ENTGET(SETQ E(SSNAME SS(SETQ N(1- N)))))))))
(SETQ NUM (STRLEN STR))
    (IF(and(SETQ POS(vl-string-search sign STR))
           (not(vl-string-search "QL" STR))
           (not(vl-string-search "GZ" STR))
           )
      (PROGN
        (SETQ POS1(vl-string-search "(" STR))
        (IF (/= QZ "")
        (SETQ NEWSTR(STRCAT QZ(SUBSTR STR 1 (1+ POS))(SUBSTR STR (+ 3 POS))))
        (IF POS1
        (SETQ NEWSTR(STRCAT (SUBSTR STR 1 POS1)HZ(SUBSTR STR (1+ POS1))))
        (SETQ NEWSTR(STRCAT (SUBSTR STR 1 POS1)HZ))
        )
          )
        (ENTMOD (SUBST (CONS 1 NEWSTR)(ASSOC 1 S)S))
        (ENTUPD E)
        )
      )
)
)
(DEFUN C:TT()
(COMMAND "UNDO" "BE")
(PROMPT"\n选择梁柱")
(IF (SETQ SS(SSGET'((0 . "*TEXT"))))
    (PROGN
    (initget "LQ LH ZQ ZH")
    (SETQ KEY(GETKWORD"\n选择梁柱及前后缀:[梁前缀(LQ)/梁后缀(LH)/柱前缀(ZQ)/柱后缀(ZH)]"))
    (COND
      ((= KEY "LQ")
       (SETQ QZ (GETSTRING"\n输入前缀"))
       (GETSTR SS "L" QZ "")
       )
      ((= KEY "LH")
       (SETQ HZ (GETSTRING"\n输入后缀"))
       (GETSTR SS "L" "" HZ)
       )
      ((= KEY "ZQ")
       (SETQ QZ (GETSTRING"\n输入前缀"))
       (GETSTR SS "Z" QZ "")
       )
      ((= KEY "ZH")
       (SETQ HZ (GETSTRING"\n输入后缀"))
       (GETSTR SS "Z" "" HZ)
       )
      )
    )
    )
(COMMAND "UNDO" "E")
(PRINC)
)   
      
   
   

品茗新秀 发表于 2012-9-4 06:03:45

本帖最后由 品茗新秀 于 2012-9-4 06:04 编辑

测了一下,次梁和连梁也要能加前后缀

zhouren_cmi 发表于 2012-9-4 13:13:57

Ñ¡ÔñáoÖù?不懂

zhouren_cmi 发表于 2012-9-4 13:17:27

程序中有非中文、非英文字符,能否改改

【KAIXIN】 发表于 2012-9-12 12:11:40

来晚了

vladimirputin 发表于 2021-1-28 12:21:54

非常好的代码,谢谢分享好的代码
页: [1]
查看完整版本: 求柱梁名称加前缀或后缀lsp程序