Rotar archivos de AutoCad

Nuestras API REST gratuitas basadas en la nube ofrecen la posibilidad de manipular archivos de AutoCAD. Las API le permiten trabajar con formatos populares de AutoCAD, incluidos DWG, DWF, DXF, DWT, DGN, IGES(IGS), PLT, Industry Foundation Classes (IFC) y STereoLithography (STL), OBJ y CF2. Le permite escalar, cambiar el tamaño, rotar, voltear y editar los dibujos. Otro aspecto interesante es que no tiene un costo inicial de $0 y podemos comenzar sin gastar un centavo.

Esta publicación del blog explica los siguientes temas con más detalle

Formatos de archivos admitidos

Las API son totalmente compatibles con objetos sólidos 3D, como cónicos, esféricos, toroidales, cilíndricos, cuadrados y cuñas en los formatos DXF, DWG y DGN. Además, también se admiten objetos específicos de DXF, DWG, modelos cableados, posiciones de cubo de vista básica y caras 3D. Se han proporcionado superficies y mallas compatibles para los formatos de archivo DXF y DGN.

Obtener propiedades de la imagen

Obtener propiedades Icono

La API le brinda la capacidad de leer las propiedades asociadas con los formatos de archivo de AutoCAD. El método GetImageProperties brinda la función de leer las propiedades de la imagen. La imagen de muestra se puede encontrar en ENFRIADOR.dwg.

Comando cURL

Para utilizar la API, primero debe obtener un token de acceso JWT basado en su clientID y clientSecret únicos. El siguiente comando muestra cómo obtener un token JWT y luego usar el mismo token para realizar una operación para leer las propiedades de la imagen.

curl -v "https://api.aspose.cloud/oauth2/token" \
-X POST \
-d 'grant_type=client_credentials&client_id=xxxxx-4ea4-a948-3857547232fa&client_secret=xxxxxxx' \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
curl -v "https://api.aspose.cloud/v1.1/cad/ENFRIADOR.dwg/properties" \
-X GET \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer <JWT Token>"

URL de solicitud

https://api.aspose.cloud:443/v1.1/cad/ENFRIADOR.dwg/properties?appsid=3b769b8d-1c8e-4ea4-a948-3857547232fa&signature=u9Zk85N8HbUJNdVHjHySADt8jVw

Cuerpo de la solicitud

{
  "DefaultFont": null,
  "SpecifiedEncoding": "Default",
  "MaxPoint": "(6090.28; -13458.42; 0)",
  "MinPoint": "(5459.77; -13904.82; 0)",
  "AcadVersion": "AC1015",
  "Height": "446",
  "Width": "630",
  "Code": 200,
  "Status": "OK"
}
protected string clientID = ""; // Get ClientID from https://dashboard.aspose.cloud/
protected string clientSecret = ""; // Get CLientSecret from https://dashboard.aspose.cloud/

try
  {
  // inicializar un objeto de la API CAD
  Aspose.CAD.Cloud.Sdk.CADApi cADApi = new Aspose.CAD.Cloud.Sdk.CADApi(clientSecret, clientID);
  // Crea un objeto de GetImagePropertiesRequest mientras proporciona un archivo CAD de entrada
  var request = new Aspose.CAD.Cloud.Sdk.Model.Requests.GetImagePropertiesRequest("ENFRIADOR.dwg");
  // Llamar a un método para obtener las propiedades de la imagen.
  var properties = cADApi.GetImageProperties(request);
  }
  catch (Exception ex)
  { Console.Write(ex.Message); }

Cambiar el tamaño de las imágenes de AutoCAD

El cambio de tamaño o escala es una de las actividades más comunes cuando se trabaja con imágenes. Aspose.CAD Cloud puede proporcionar funciones para obtener el factor de escala de una imagen existente mediante el método GetChangeImageScale o puede intentar usar el método PostChangeImageScale para cambiar la escala de una imagen cargada desde el almacenamiento del sistema local y proporcionada en el cuerpo de la solicitud. Tenga en cuenta que durante la operación de cambio de tamaño de la imagen, también debe proporcionar el formato de salida de la siguiente lista (BMP, PNG, JPG, JPEG, JPEG2000, TIF, TIFF, PSD, GIF, PDF, WMF).

Comando cURL

curl -v "https://api.aspose.cloud/v1.1/cad/ENFRIADOR.dwg/resize?format=png&newWidth=200&newHeight=200" \
-X GET \
-H "Content-Type: application/json" \
-H "Accept: multipart/form-data" \
-H "Authorization: Bearer <JWT Token>" \
-o resultant.png

C#.NET

protected string clientID = ""; // Get ClientID from https://dashboard.aspose.cloud/
protected string clientSecret = ""; // Get CLientSecret from https://dashboard.aspose.cloud/

try
  {
  // inicializar un objeto de la API CAD
  Aspose.CAD.Cloud.Sdk.CADApi cADApi = new Aspose.CAD.Cloud.Sdk.CADApi(clientSecret, clientID);
  String inputFileName= "ENFRIADOR.dwg";
  String formatToExport = "png";
  int newWidth = 600;
  int newHeight = 600;
  String resultantFile = "Resultant.png";

  // inicializar un objeto de la API CAD
  Aspose.CAD.Cloud.Sdk.CADApi cADApi = new Aspose.CAD.Cloud.Sdk.CADApi(clientSecret, clientID);
  // crea un objeto de GetChangeImageScaleRequest mientras proporciona un archivo CAD de entrada
  var request = new GetChangeImageScaleRequest(inputFileName, formatToExport, newWidth, newHeight,null,null,null);
  // Llamar a un método para cambiar la escala de la imagen.
  var responseStream = cADApi.GetChangeImageScale(request);
  // Llamar al método para guardar la transmisión en un archivo 
  saveToDisk(responseStream, resultantFile);

}
catch (Exception ex)
{ Console.Write(ex.Message); }

public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0,SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Archivos de recursos

Rotar y voltear dibujos CAD

rotar archivos de AutoCAD

Las API REST ofrecen una función sorprendente para rotar o voltear archivos de AutoCAD sin usar AutoCAD ni ningún otro software, y todas estas operaciones se pueden realizar mediante API REST basadas en la nube. No es necesario descargar ningún software.

La operación de rotación de dibujos se puede realizar en archivos que ya están disponibles en el almacenamiento en la nube o puede proporcionar un archivo desde el almacenamiento local y realizar las operaciones deseadas. Para cumplir con este requisito, puede intentar acceder directamente a las API REST mediante comandos cURL a través del símbolo del sistema o terminal, o puede intentar usar cualquiera de los SDK de la nube específicos del lenguaje. A continuación, se especifican ejemplos para cumplir con los requisitos mediante el comando cURL y Aspose.CAD Cloud SDK for .NET. A continuación, se detallan los métodos de rotación y volteo admitidos.

Rotate180FlipNone, Rotate180FlipX, Rotate180FlipXY, Rotate180FlipY, Rotate270FlipNone, Rotate270FlipX, Rotate270FlipXY, Rotate270FlipY, Rotate90FlipNone, Rotate90FlipX, Rotate90FlipXY, Rotate90FlipY, RotateNoneFlipNone, RotateNoneFlipX, RotateNoneFlipXY, RotateNoneFlipY.

Comando cURL

curl -v "https://api.aspose.cloud/v1.1/cad/Nikon_D90_Camera.dgn/rotateflip?format=JPEG&method=Rotate90FlipXY" \
-X GET \
-H "Content-Type: application/json" \
-H "Accept: multipart/form-data" \
-H "Authorization: Bearer <JWT Token>" \
-o Resultant.jpeg

C#.NET

protected string clientID = ""; // Get ClientID from https://dashboard.aspose.cloud/
protected string clientSecret = ""; // Get CLientSecret from https://dashboard.aspose.cloud/

try
  {
  // inicializar un objeto de la API CAD
  Aspose.CAD.Cloud.Sdk.CADApi cADApi = new Aspose.CAD.Cloud.Sdk.CADApi(clientSecret, clientID);

  String inputFileName= "Nikon_D90_Camera.dgn";
  String formatToExport = "JPEG";
  var method = "Rotate90FlipXY";
  String resultantFile = "Resultant.jpeg";

  // inicializar un objeto de la API CAD
  Aspose.CAD.Cloud.Sdk.CADApi cADApi = new Aspose.CAD.Cloud.Sdk.CADApi(clientSecret, clientID);
  // crea un objeto de GetImageRotateFlipRequest mientras proporciona un archivo CAD de entrada, detalles de formato de exportación e información del ángulo de rotación
  var request = new GetImageRotateFlipRequest(inputFileName, formatToExport, method,null,null,null);
  // Llamar a un método para rotar/voltear la imagen.
  var responseStream = cADApi.GetImageRotateFlip(request);

  saveToDisk(responseStream, resultantFile);
}
catch (Exception ex)
{ Console.Write(ex.Message); }

public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0,SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Recursos

Artículos relacionados

Le recomendamos visitar los siguientes enlaces para obtener más información sobre: