Let's look at an example of an open API for modeling of Archisketch.

Concepts

Modeling plays a key role in visualizing Archisketch products as 3D objects. This domain enables customers to view and interact with products in a virtual space, particularly supporting virtual simulations of interior design and product placement. Within Archisketch Editor, users can view and manipulate 3D models.

Key Roles

Provides visual modeling (3D objects) and manages rendering states for Archisketch products.

Through modeling, Archisketch products are visually represented in the editor, enabling customers to execute 3D interior designs in a virtual environment.

  • Supported 3D Object File Formats
    • Archisketch supports various file formats for generating 3D models based on user uploads
    • Users can upload the following file formats
      • ZIP (with GLTF + BIN + Images)
      • ZIP (with OBJ + MTL + Images)
      • ZIP (with SKP)
      • SKP
        • SKP files are processed after being converted to OBJ/MTL data using Archisketch internal module.
  • Rendering Status (RenderingStatus) Management
    • Tracks all status changes from file upload to final rendering completion.
      • WAITING: Waiting after file upload.
      • PROCESSING: Processing on the Archisketch Rendering Server.
      • COMPLETED: Rendering completed
  • Modeling can include the following asset types
    • IMAGE โ†’ Modeling images (up to 10).
    • ORIGINAL_FILE โ†’ File directly uploaded by the user for modeling creation
    • MODIFIED_MODELING_RESOURCE โ†’ File saved after original modification in the effector
      • Extension = .archisketch
    • RENDER โ†’ File required for rendering
      • Extension = .gltf
    • EDITOR โ†’ File necessary for modeling placement in the Archisketch editor
      • Extension = .gltf
    • DECIMATE โ†’ Lightweight file with reduced geometry edges
      • Extension = .gltf

" By providing modeling for each component, the final productโ€™s visual form can be represented in a virtual space. "


Key Modeling Data Used in API Requests/Responses

  • id: String
    • The unique identifier for the modeling.
  • name : String
    • The name assigned to the modeling.
  • renderingProcess : Object
    • status: String
      • WAITING: Waiting.
      • PROCESSING: Rendering in progress.
      • COMPLETED: Rendering completed.
      • FAILED: Rendering failed.
    • startedAt: DateTime
      • Date and time when rendering started.
      • (e.g. 2024-09-30 04:16:56 )
    • finishedAt: DateTime
      • Date and time when rendering finished
      • (e.g. 2024-09-30 04:16:56 )
  • dimension : Object
    • mmWidth : Int
    • mmDepth : Int
    • mmHeight : Int
    • inchWidth : Int
    • inchDepth : Int
    • inchHeight : Int
  • images : Array of Object
    • id : String
    • url : String
  • file : Object
    • id : String
    • url : String
  • editorAsset : Object
    • id : String
    • url : String
  • renderAsset : Object
    • id : String
    • url : String
  • decimateAsset : Object
    • id : String
    • url : String
  • createdAt: LocalDateTime
    • Date and time when the modeling was created.
    • (e.g. 2024-09-30 04:16:56 )
  • updatedAt: LocalDateTime
    • Date and time when the modeling was last updated.
    • (e.g. 2024-09-30 04:16:56 )