我有一个lisp来改变我们在绘图背景中使用的映射。这是相当缓慢,不知道是否有人可以提供任何建议,如何提高。
它的一部分分解块贴图分片,以便将所有内容设置为“bylayer”。这能在没有爆炸的情况下完成吗?爆炸会大大减慢速度?
- (defun c:osmap1 (/ pref ss)
- (vl-load-com)
- (setq pref "CCC_OSMAP_") ;; <<-- Prefix
- (vlax-for lay (vla-get-layers
- (vla-get-ActiveDocument
- (vlax-get-acad-object)))
- (if (/= "0" (vla-get-Name lay))
- (vla-put-name Lay
- (strcat pref (vla-get-Name lay)))))
- (command "_-layer" "c" "253" "*" "")
- (and (setq ss (ssget "X" (list (cons 0 "INSERT")))))
- (command "explode" SS "")
- (command "_change" "all" "" "p" "color" "Bylayer" "")
- (command "_-layer" "F" "CCC_OSMAP_BDY_SYM" "F" "CCC_OSMAP_HT_CTRL" "F" "CCC_OSMAP_ROADS_CTR" "F" "CCC_OSMAP_ROADS" "F" "CCC_OSMAP_POLE_SYMB" "F" "CCC_OSMAP_LEGEND" "")
- (command "_-purge" "a" "*" "N")
- (command "regenall")
- (princ))
Tharwat |