Nota: Este artigo foi escrito e publicado em inglês e é uma versão traduzida do original aqui.
Sempre quis mostrar árvores na localização exata em InfraWorks? É fácil! Vejamos como automatizar esse procedimento. Na maioria das vezes, quando recebemos uma vistoria, as árvores são bloqueadas. Há uma rotina em Lisp anexada chamada Blocks2Points. Isso criará um ponto no AutoCAD onde os blocos estão. Isso é o que eu tenho atualmente…
Essas árvores são blocos e vou convertê-las em um ponto AutoCAD usando a rotina lisp mencionada acima. Você tem a opção de excluir os blocos ou mantê-los. Vou mantê-los. Esta lisp rotina cria os pontos no ponto de inserção dos blocos em árvore. Abaixo você pode ver os pontos. Eu os isolei para clareza e seleção mais fácil…
Você pode alterar o estilo e o tamanho desses pontos, se desejar, digitando PTYPE.
Em seguida, digite MAPEXPORT. Altere o tipo de arquivo para ESRI Shapefile (*.shp), atribua-lhe um nome e uma localização para salvar. A caixa de diálogo "Exportar" será exibida. Para o tipo de objeto, alternar o botão de opção para Ponto. Agora, altere o botão de opção para Selecionar manualmente e escolha o botão de seleção…
Selecione todos os pontos por janela. Você deve ver na parte inferior da caixa de diálogo quantos você selecionou e quantos (se houver) foram filtrados…
Agora passamos para InfraWorks. Abra o cartão de recurso Conexões de dados. Escolha SHP na lista.
Procure o arquivo exportado de Civil 3D. Agora ele aparecerá na lista. Agora podemos clicar nele duas vezes para configurá-lo. Para o Tipo, selecione Árvores…
Clique na guia Origem e, em Opções de modelagem, defina Modelagem. Eu escrevi um script que vou colar abaixo para randomizar as árvores. Clique na guia Script e, em seguida, clique no botão Editar e copie e cole o código abaixo sobre o texto existente que aparece nessa guia…
function Process(SOURCE, TREES) {
TREES.EXTERNAL_ID = SOURCE.FeatId;
var scaleFactor = 0.3;
var scaleVariationMax = 0.15;
if (Math.random() > 0.5) {
TREES.RULE_STYLE = "3D Model/Vegetation/Populus Nigra";
//Set baseline scale and randomize by variation
scaleFactor = 2;
scaleVariationMax = 1;
var variation = scaleVariationMax * Math.random() * 2 - scaleVariationMax;
TREES.MODEL_SCALE_X = scaleFactor + variation;
TREES.MODEL_SCALE_Y = scaleFactor + variation;
TREES.MODEL_SCALE_Z = scaleFactor + variation;
} else {
TREES.RULE_STYLE = "3D Model/Vegetation/Adaptive Trees/Beech Tree";
//Set baseline scale and randomize by variation
scaleFactor = 0.8;
scaleVariationMax = 0.3;
var variation = scaleVariationMax * Math.random() * 2 - scaleVariationMax;
TREES.MODEL_SCALE_X = scaleFactor + variation;
TREES.MODEL_SCALE_Y = scaleFactor + variation;
TREES.MODEL_SCALE_Z = scaleFactor + variation;
}
return true;
}
Agora, clique em Fechar e em Atualizar. Se você estiver usando uma versão mais recente do InfraWorks, receberá um aviso sobre scripts. Continue e clique em "Continuar com a atualização". É isso. Suas árvores estarão no local correto. Se você quiser usar árvores diferentes, substitua o nome da árvore que deseja usar no script por "ÁRVORES". RULE_STYLE.
Nota: Este artigo foi escrito e publicado em inglês e é uma versão traduzida do original aqui.
Você deve ser um usuário registrado para adicionar um comentário aqui. Se você já estiver registrado, faça logon. Se você ainda não estiver registrado, registre-se e faça logon.