lz123456 发表于 2012-6-2 16:33

怎样把TEXT文字转换成ATTDEF定义的属性

怎样把TEXT文字转换成ATTDEF定义的属性.明经上有把那属性转换成单字,这就是那相反的功能。最好是集合那功能。互相转换

psdcdr 发表于 2012-6-4 09:28

本帖最后由 psdcdr 于 2012-6-4 09:36 编辑

忘记在哪里找到的,一起分享下,

祝愿所有找LSP的朋友,都能得到答案!







andyzha 发表于 2022-12-8 11:24

试试这个
(DEFUN C:TXT2ATT (/ SS1 N TXTENT AA A1 A73 LST_210 LST_10)
(VL-CMDF "_.undo" "_group")
(SETVAR "blipmode" 0)
(PRINC "\n选择TEXT文本对象: ")
(setq SS1 (SSGET '((0 . "TEXT"))))
(VL-CMDF "_.UCS" "W")
(setq N 0)
(REPEAT (SSLENGTH SS1)
    (setq TXTENT (SSNAME SS1 N))
    (setq LST_210 (APPEND LST_210 (LIST (ASSOC 210 (ENTGET TXTENT)))))
    (setq LST_10 (APPEND LST_10 (LIST (ASSOC 10 (ENTGET TXTENT)))))
    (setq AA (MEMBER '(100 . "AcDbEntity") (ENTGET TXTENT)))
    (setq A73 (CDR (ASSOC 73 AA)))
    (setq A1 (CDR (ASSOC 1 AA)))
    (ENTMAKE
      (APPEND '((0 . "ATTDEF"))
            (REVERSE (CDDR (REVERSE AA)))
            '((100 . "AcDbAttributeDefinition") (70 . 8))
            (LIST (CONS 74 A73) (CONS 3 A1) (CONS 2 A1))
      )
    )
    (setq N (1+ N))
)
(VL-CMDF "_.erase" SS1 "")
(VL-CMDF "_.UCS" "P")
)

fawn_lgc 发表于 2012-6-4 15:24

(defun ATTDEFtoTEXT(elist / ename fawn);;属性转文本
;; (ai_undo_push)
(setq ename(cdr(assoc -1 elist)))
(entdel ename)
(setq fawn(assoc 74 elist))
(setq elist(subst '(0 . "TEXT") '(0 . "ATTDEF")elist))
(setq elist(subst (cons 73 (cdr fawn)) fawn elist))
(mapcar '(lambda(x);;匿名函数
       (setq elist(vl-remove(assoc x elist)elist))
       )
    '(-1 330 5 100 100 100 3 2 70)
    )
(entmake elist)
;;(ai_undo_pop)
)
(defun TEXTtoATTDEF(elist / ename fawn);;文本转属性
;;(ai_undo_push)
(setq ename(cdr(assoc -1 elist)))
(entdel ename)
(setq fawn(assoc 73 elist))
(setq elist(subst '(0 . "ATTDEF") '(0 . "TEXT")elist))
(setq elist(subst (cons 74 (cdr fawn)) fawn elist))
(mapcar '(lambda(x);;匿名函数
       (setq elist(vl-remove(assoc x elist)elist))
       )
    '(-1 330 5 100 100 100)
    )
(setq elist(append elist '((2 . "未命名属性")(3 . "请输入 未命名属性")(70 . 0))))
(entmake elist)
;;(ai_undo_pop)
)

pxt2001 发表于 2012-11-11 12:11

fawn_lgc 发表于 2012-6-4 15:24 static/image/common/back.gif


这个程序实用。

蒹葭_Keirll 发表于 2012-11-11 13:38

刚刚需要这个程序就看到帖子

云牧帆 发表于 2013-2-2 10:48

本帖最后由 云牧帆 于 2013-2-2 18:43 编辑

fawn_lgc 老师的程序加载后,TEXTtoATTDEF作为命令,命令行显示【未知命令“TEXTTOATTDEF”。按 F1 查看帮助。】请问应该怎么用?谢谢

为何生 发表于 2013-2-8 21:57

psdcdr 发表于 2012-6-4 09:28 static/image/common/back.gif
忘记在哪里找到的,一起分享下,

祝愿所有找LSP的朋友,都能得到答案!

非常感谢!!

goldwheat 发表于 2013-9-14 12:43

正在找这方面的资料,多谢大家分享。

iamhuangjinming 发表于 2016-7-4 22:46

不能运行的。怎么办

淡雅香 发表于 2018-6-10 02:44

psdcdr 发表于 2012-6-4 09:28
忘记在哪里找到的,一起分享下,

祝愿所有找LSP的朋友,都能得到答案!

谢谢,非常实用
页: [1] 2
查看完整版本: 怎样把TEXT文字转换成ATTDEF定义的属性