Civil 3d – Perfis e estilos

Você criou trocentos perfis, alguns de terreno, outros são os grades e outros são os superimposeds…. certo, mas os estilos estão todos bagunçados? que tal padronizar isso? cada tipo de perfil num estilo? veja a lisp abaixo:

ver a bendita…

salve o dcl:


setperfstyle :dialog {label = “Ajustar Estilos dos perfis”;
:
popup_list {label = “Terreno” ; key = “terreno”; }
:popup_list {label = “Grade” ; key = “grade”; }
:popup_list {label = “Super Imposed” ; key = “superimposed”; }
:text {label=“Powered by Neyton®”;}
:row{

:button {key = “cncl”; is_cancel = true; label = “melhor dêxa”; }
:button {key = “ok”; is_default = true; label = “é muda aí!!”; }}
}


salve a lisp:


(setq setperfstyle:Terreno “Terreno”
setperfstyle:grade “Grade”
setperfstyle:superimposed “Super”)

(defun c:setperfstyle (/ ss ent vla sty acao modes terreno grade superimposed lsty dcl)
(
tbn:error-init nil)
(
if (setq ss (ssget ((0 . “AECC_PROFILE”))))
(
progn
(vlax-for tmp (cvlp-get-LandProfileStyles aec-adoc)
(
setq sty (cons (list (cvlp-get-name tmp)
(
vla-get-layer (cvlp-get-LineDisplayStyle2d tmp)))
sty)))
(
setq dcl (load_dialog “setperfstyle.dcl”)
lsty (mapcar car sty)
modes (lambda nil (mode_tile “ok” (if (and terreno grade superimposed) 0 1)))
acao (lambda (key val)
(
set (read key) (nth (atoi val) lsty))
(
modes)))
(
new_dialog “setperfstyle” dcl )
(
multi_set_action_tile
(“terreno””grade” “superimposed”)
(
list (list setperfstyle:Terreno lsty “terreno”)
(
list setperfstyle:grade lsty “grade”)
(
list setperfstyle:superimposed lsty “superimposed”))
“(acao $key $value)”)
(
if (= 1 (start_dialog))
(
progn
(setq setperfstyle:Terreno Terreno
setperfstyle:Grade Grade
setperfstyle:Superimposed Superimposed
)
(
repeat (if ss (sslength ss) 0)
(
setq ent (ssname ss 0)
vla (vlax-ename->vla-object ent))
(
ssdel ent ss)
(
cvlp-put-style vla (setq tmp
(nth
(vl-position (cvlp-get-type vla)
(
list cvlc-aeccExistingGround
cvlc-aeccFinishedGround
cvlc-aeccSuperimposed
))
(
list Terreno Grade Superimposed))))
(
vla-put-layer vla (cadr (assoc tmp sty))))))
(
unload_dialog dcl)))
(
tbn:error-restore)
)


Link(s) da(s) subrotina(s) usada(s):
Inivars (funções cvl*)
tbn:error-init, multi_set_action_tile, tbn:error-restore

Para usar, digite o nome da rotina na linha de comando após carregar ela. Ah, claro, só irá funcionar para os perfis efetivamente desenhados nas profileviews, e sim, é preciso copiar as subrotinas também.

4 comentários em “Civil 3d – Perfis e estilos”

Deixe um comentário

Carrinho de compras
Rolar para cima