Você está aqui: AutoCAD Civil 3D .NET C# ::: Dicas & Truques ::: Superfície - Surface |
Como retornar a quantidade de pontos em uma superfície do AutoCAD Civil 3D usando C# e a propriedade NumberOfPoints do objeto GeneralSurfacePropertiesQuantidade de visualizações: 336 vezes |
Em algumas situações nós precisamos saber a quantidade de pontos existentes em uma superfície do AutoCAD Civil 3D. Uma das formas de se obter isso é expandir o nó Surfaces, clicar com o botão direito na superfície desejada e pedir Surface Properties. Agora basta ir na aba Statistics e expandir a seção General. Via programação podemos obter o número de pontos de uma surface usando a propriedade NumberOfPoints do objeto GeneralSurfaceProperties. Este objeto é obtido a partir de uma chamada à função GetGeneralProperties() do objeto CivSurface que estamos operando no momento. Veja o código AutoCAD Civil 3D C# .NET completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; using Autodesk.AutoCAD.Runtime; using Autodesk.Civil.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.EditorInput; using CivSurface = Autodesk.Civil.DatabaseServices.Surface; using Autodesk.Civil.DatabaseServices; namespace Estudos { public class Class1 : IExtensionApplication { [CommandMethod("Superficie")] public void Superficie() { // vamos obter uma referência ao documento atual do Civil 3D CivilDocument doc = CivilApplication.ActiveDocument; // obtemos o editor Editor editor = Application.DocumentManager.MdiActiveDocument.Editor; // vamos pesquisar a superfície chamada "TN - SUPERFÍCIE NATURAL" string nome = "TN - SUPERFÍCIE NATURAL"; // vamos iniciar um nova transação using (Transaction ts = Application.DocumentManager.MdiActiveDocument. Database.TransactionManager.StartTransaction()) { try { // efetuamos uma chamada ao método GetSurfaceByName() passando // o documento atual do AutoCAD Civil 3D e o nome da superfície // que queremos encontrar CivSurface superficie = GetSurfaceByName(doc, nome); // e mostramos o resultado if (superficie == null) { editor.WriteMessage("\nA superfície não foi encontrada."); } else { // agora que já temos a superfície, vamos obter suas propriedades // por meio do objeto GeneralSurfaceProperties GeneralSurfaceProperties prop = superficie.GetGeneralProperties(); // e obtemos a quantidade de pontos dessa superfície int quant_pontos = prop.NumberOfPoints; // e mostramos o resultado editor.WriteMessage("\nA superfície possui " + quant_pontos + " pontos."); } } catch (System.Exception e) { // handle bad file path editor.WriteMessage("Erro: {0}", e.Message); } } } // função C# que retorna uma superfície por nome, ou null em // caso de não encontrar a surface desejada public CivSurface GetSurfaceByName(CivilDocument doc, string nome) { // vamos declarar um objeto da classe CivSurface superficie = null; // agora vamos obter os ids de todas as superfícies ObjectIdCollection superficies = doc.GetSurfaceIds(); // vamos percorrer todos os ids de superfícies retornados foreach (ObjectId idSuperficie in superficies) { superficie = idSuperficie.GetObject(OpenMode.ForRead) as CivSurface; // encontramos a superfície if (superficie.Name.Equals(nome)) { return superficie; } } // retorna null se a superfície não for encontrada return null; } public void Initialize() { // pode deixar em branco } public void Terminate() { // pode deixar em branco } } } Ao executar este código AutoCAD Civil 3D .NET C# nós teremos o seguinte resultado: A superfície possui 18427 pontos. |
Link para compartilhar na Internet ou com seus amigos: |
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar o laço while do Python - Python para iniciantesQuantidade de visualizações: 15040 vezes |
O laço while da linguagem Python permite executar um bloco de códigos repetidamente até que uma condição seja verdadeira. Opcionalmente, uma cláusula else pode ser usado com o while em Python (a parte else será executada mesmo que o corpo principal do laço não seja executado). Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função principal do programa def main(): numero = 0 while numero <= 10: print(numero) numero = numero + 1 else: print("Terminei") if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: 0 1 2 3 4 5 6 7 8 9 10 Terminei Veja um exemplo de um laço while que nunca será executado: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função principal do programa def main(): numero = 0 while numero > 10: print(numero) numero = numero + 1 if __name__== "__main__": main() E agora um exemplo de laço usando um valor booleano: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função principal do programa def main(): continuar = True valor = 0 while continuar: print(valor) if valor > 5: continuar = False else: valor = valor + 1 if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: 0 1 2 3 4 5 6 |
VB.NET ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como copiar todos os elementos de um vetor para outro em VB.NET usando o método CopyTo() da classe ArrayQuantidade de visualizações: 6995 vezes |
Nesta dica eu mostro como podemos usar o método CopyTo() da classe Array do VB.NET para copiar todos os elementos de um array para um outro array. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Imports System Module Program Sub Main(args As String()) ' cria um array de inteiros Dim valores() As Integer = {1, 2, 3, 4, 5} ' exibe os valores do primeiro array For Each valor As Integer In valores Console.WriteLine(valor) Next ' cria um segundo array e copia os elementos ' do primeiro para o segundo Dim valores2() As Integer = {6, 7, 8, 9, 10, 15, 20} valores.CopyTo(valores2, 0) Console.WriteLine() ' exibe os valores do segundo array For Each valor As Integer In valores2 Console.WriteLine(valor) Next Console.WriteLine("\nPressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module Ao executar este código VB.NET nós teremos o seguinte resultado: 1 2 3 4 5 1 2 3 4 5 15 20 |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como inserir uma substring em uma determinada posição de uma string em Ruby usando a função insert()Quantidade de visualizações: 8609 vezes |
Muita vezes precisamos inserir uma substring em uma determinada posição de uma string em Ruby. Esta tarefa pode ser realizada com a função insert() da classe String. Esta função opera na string original e requer dois argumentos: a posição na string onde a substring será inserida e a substring propriamente dita. A posição é um índice iniciando em 0. Índices negativos são contados a partir do final da string. Veja o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # declara e inicializa uma variável string frase = "Gosto muito de Ruby" puts "A frase original é: " + frase # vamos inserir " Python e" antes de "Ruby". frase.insert(14, " Python e") # exibe o resultado puts "A nova frase é: " + frase Ao executar este código Ruby nós teremos o seguinte resultado: A frase original é: Gosto muito de Ruby A nova frase é: Gosto muito de Python e Ruby |
C ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como passar um vetor para uma função CQuantidade de visualizações: 11880 vezes |
Muitas vezes precisamos passar um vetor, ou seja, um array unidimensional para uma função na linguagem C. O trecho de código abaixo mostra como isso é feito. Observe que a passagem de um vetor para uma função é feita por referência, ou seja, qualquer alteração nos valores do array dentro da função será refletida no vetor original: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <locale.h> // protótipo da função que recebe o array e exibe os seus elementos void exibir_vetor(int vetor[], int tamanho); // função principal do programa int main(int argc, char *argv[]){ // cria um vetor com 5 inteiros int valores[] = {54, 3, 89, 6, 1}; setlocale(LC_ALL,""); // para acentos do português // passa o vetor para a função exibir_vetor() // veja que temos que enviar também a quantidade // de elementos exibir_vetor(valores, 5); printf("\n\n"); system("PAUSE"); return 0; } // função que recebe o array e exibe os seus elementos void exibir_vetor(int vetor[], int tamanho){ int i; printf("Os elementos do vetor são:\n\n"); for(i = 0; i < tamanho; i++){ printf("%d ", vetor[i]); } } Ao executar este código C nós teremos o seguinte resultado: Os elementos do vetor são: 54 3 89 6 1 |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar a quantidade de linhas e colunas de um vetor ou matriz usando a propriedade shape do objeto ndarray da biblioteca NumPy do PythonQuantidade de visualizações: 2463 vezes |
Podemos usar a propriedade shape do objeto ndarray da biblioteca NumPy para obter a quantidade de linhas e colunas em um vetor ou matriz. Para um vetor, o retorno será a quantidade de colunas seguida por uma vírgula. Para matrizes, a propriedade retornará a quantidade de linhas e colunas. Veja:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importamos a bibliteca NumPy import numpy as np def main(): # vamos criar um vetor com 8 elementos vetor = np.array([5, 1, 10, 7, 2, 3, 9, 4]) # vamos mostrar a quantidade de linhas e colunas nesse vetor print("Linhas e colunas no vetor:", vetor.shape) # agora vamos criar uma matriz de 2 linhas e 4 colunas matriz = np.array([[8, 51, 2, 35], [90, 42, 0, 71]]) # vamos mostrar a quantidade de linhas e colunas nessa matriz print("Linhas e colunas na matriz:", matriz.shape) if __name__== "__main__": main() Ao executarmos este código nós teremos o seguinte resultado: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Linhas e colunas no vetor: (8,) Linhas e colunas na matriz: (2, 4) Além de usar a propriedade shape do objeto ndarray, nós podemos também efetuar uma chamada ao método global shape() da NumPy. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # importamos a bibliteca NumPy import numpy as np def main(): # vamos criar um vetor com 8 elementos vetor = np.array([5, 1, 10, 7, 2, 3, 9, 4]) # vamos mostrar a quantidade de linhas e colunas nesse vetor print("Linhas e colunas no vetor:", np.shape(vetor)) # agora vamos criar uma matriz de 2 linhas e 4 colunas matriz = np.array([[8, 51, 2, 35], [90, 42, 0, 71]]) # vamos mostrar a quantidade de linhas e colunas nessa matriz print("Linhas e colunas na matriz:", np.shape(matriz)) if __name__== "__main__": main() Execute e veja que o resultado é o mesmo para ambos os códigos. |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
Delphi - Como usar a propriedade Eof para verificar se estamos no último registro do TClientDataSet do Delphi MySQL - Como usar joins no MySQL |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |