-
Criação de layers
Pessoal, bom dia!
Estou com o seguinte problema: através de um comando, preciso criar uma lista de layers no cad. Esta lista é pré definida e não muda, por exemplo:
-terreno
-implantação
-cotas
-paredes
Para isto, gostaria de utilizar .net (c# ou vb.net). A lista pode estar inclusa no código ou pode vir externa, tanto faz.
Sou novato em visual studio. Dei uma olhada no "autocad.net users guide", até testei o código que esta lá: funcionou, mas cria apenas um layer e nao acho eficiente repetir o mesmo código para cada layer que for criar.
Se alguém souber de outra forma (lisp, por exemplo) também pode ser.
Obrigado pela atenção!
-
Re: Criação de layers
Bom dia, amigo
Criei um lisp bem simples para te ajudar:
Após carregado ele no seu AutoCad, funcionará da seguinte forma:
TER- Cria um layer terreno
IMP-Cria um layer implantação
COT-Cria um layer contas
PAR-Cria um layer parede
Obs: Se as cores dos layers não forem o padrão que usa é só alterar no programa para o numero da cor que voce desejar.
Espero ter ajudado. Segue o lisp abaixo:
Code:
;CRIAÇÃO DE LAYERS
(DEFUN C:ter()(command "layer" "n" "terreno" "c" "8" "terreno" ""))
(DEFUN C:imp()(command "layer" "n" "implantação" "c" "1" "implantação" ""))
(DEFUN C:cot()(command "layer" "n" "cotas" "c" "2" "cotas" ""))
(DEFUN C:par()(command "layer" "n" "paredes" "c" "5" "paredes" ""))
-
Re: Criação de layers
Com VS6, você pode fazer assim...
Sub Criar_layer_Click()
On Error Resume Next
Dim layerObj As Object
Dim newLayer As Object
Dim currLayer As Object
'Aquí começa a criação do layer
Set newLayer = ThisDrawing.Layers.Add("Nome da sua layer-1")
ThisDrawing.ActiveLayer = newLayer
Set newLayer = ThisDrawing.Layers.Add("Nome da sua layer-2")
ThisDrawing.ActiveLayer = newLayer
ThisDrawing.Regen acAllViewports
End Sub
Espero ter ajudado.