试试下面的nababeer,我希望它能有所帮助:
- ([color=BLUE]defun[/color] c:mergedimtxt ( [color=BLUE]/[/color] cmd doc pos str )
- ([color=BLUE]setq[/color] doc ([color=BLUE]vla-get-activedocument[/color] ([color=BLUE]vlax-get-acad-object[/color])))
- ([color=BLUE]foreach[/color] col '(textstyles dimstyles)
- (mergedimtxt:processcollection ([color=BLUE]vlax-get-property[/color] doc col))
- )
- ([color=BLUE]vlax-for[/color] blk ([color=BLUE]vla-get-blocks[/color] doc)
- ([color=BLUE]if[/color] ([color=BLUE]=[/color] [color=BLUE]:vlax-false[/color] ([color=BLUE]vla-get-isxref[/color] blk))
- ([color=BLUE]vlax-for[/color] obj blk
- ([color=BLUE]if[/color]
- ([color=BLUE]and[/color]
- ([color=BLUE]wcmatch[/color] ([color=BLUE]vla-get-objectname[/color] obj) [color=MAROON]"AcDb*Text,AcDb*Dimension"[/color])
- ([color=BLUE]setq[/color] str ([color=BLUE]vla-get-stylename[/color] obj)
- pos ([color=BLUE]vl-string-position[/color] 36 str [color=BLUE]nil[/color] [color=BLUE]t[/color])
- )
- ([color=BLUE]vlax-write-enabled-p[/color] obj)
- )
- ([color=BLUE]vla-put-stylename[/color] obj ([color=BLUE]substr[/color] str ([color=BLUE]+[/color] 2 pos)))
- )
- )
- )
- )
- ([color=BLUE]setq[/color] cmd ([color=BLUE]getvar[/color] 'cmdecho))
- ([color=BLUE]setvar[/color] 'cmdecho 0)
- ([color=BLUE]setvar[/color] 'textstyle [color=MAROON]"Standard"[/color])
- ([color=BLUE]command[/color] [color=MAROON]"_.-dimstyle"[/color] [color=MAROON]"_r"[/color] [color=MAROON]"Standard"[/color] [color=MAROON]"_.-purge"[/color] [color=MAROON]"_r"[/color] [color=MAROON]"*"[/color] [color=MAROON]"_n"[/color] [color=MAROON]"_.-purge"[/color] [color=MAROON]"_a"[/color] [color=MAROON]"*"[/color] [color=MAROON]"_n"[/color])
- ([color=BLUE]setvar[/color] 'cmdecho cmd)
- ([color=BLUE]vla-regen[/color] doc [color=BLUE]acallviewports[/color])
- ([color=BLUE]princ[/color])
- )
- ([color=BLUE]defun[/color] mergedimtxt:processcollection ( col [color=BLUE]/[/color] pos str )
- ([color=BLUE]vlax-for[/color] obj col
- ([color=BLUE]if[/color]
- ([color=BLUE]and[/color]
- ([color=BLUE]setq[/color] str ([color=BLUE]vla-get-name[/color] obj)
- pos ([color=BLUE]vl-string-position[/color] 36 str [color=BLUE]nil[/color] [color=BLUE]t[/color])
- )
- ([color=BLUE]vl-catch-all-error-p[/color] ([color=BLUE]vl-catch-all-apply[/color] '[color=BLUE]vla-item[/color] ([color=BLUE]list[/color] col ([color=BLUE]substr[/color] str ([color=BLUE]+[/color] 2 pos)))))
- )
- ([color=BLUE]vla-put-name[/color] obj ([color=BLUE]substr[/color] str ([color=BLUE]+[/color] 2 pos)))
- )
- )
- )
- ([color=BLUE]vl-load-com[/color]) ([color=BLUE]princ[/color])
|