Vectary Documentation
ChangelogFeedbackHelpOpen Studio
  • Welcome to Vectary Docs
  • Documentation
    • Getting started
      • System requirements
      • User interface
      • Rendering
      • Dashboard
      • Account settings
      • Roles
      • Scene orientation
      • Units
    • Importing
      • Import formats
      • Figma frames import
      • CAD files
      • Vectary Processor
    • Design process
      • Design mode
        • Selections tools
        • Primitives
        • 3D Text
        • Light sources
        • Modifiers
          • Array Linear
          • Array Radial
          • Array Grid
          • Array Object
          • Subdivide
          • Bevel
          • Randomize
          • Symmetry
          • Boolean
        • Deformers
          • Bend
          • Twist
          • Taper
          • Skew
          • Stretch
          • Spherify
          • Noise
          • Simplify
        • Setup
          • Group
          • Empty
          • Camera
          • Backdrop
          • Smooth normals
          • Clipping plane
        • Interactive elements
      • Materials and Textures
        • Basic materials
          • Color
          • Roughness
          • Metalness
          • Opacity
          • Emission
          • Normal map
        • Advanced materials
          • Subsurface
          • Refraction
          • Clearcoat
          • Thinfilm
          • Reflectivity
          • Double sided material
        • Baked textures
          • Ambient occlusion (texture)
          • Lightmap
          • Texture remapping
        • Importing own textures
      • Animated materials
      • Decals
      • Camera
      • Environment
      • Background
      • Ground plane
      • Effects
        • Reflections
        • Ambient Occlusion
        • Soft Shadows
        • Fading
        • Smooth edges
        • Adjustments
        • Color Balance
        • Vignette
        • Grain
        • Bloom
      • Control bar
        • Fit View
        • Viewport display modes
        • Gizmo & Origin
        • Snapping
        • Download image
      • Libraries
        • Asset library
        • Materials library
        • Environments library
      • Edit mode
        • Selection tools
        • New object
        • Draw
        • Primitives
        • Extrude
        • Bevel
        • Make circle
        • Bridge
        • Slide
        • Cut
        • Collapse
        • Cap open boundaries
        • Merge faces
        • Mesh Tools
        • Normals
    • 3D configurator
      • Variants
      • Interactions
        • Triggers
        • Conditions
        • Actions
          • Animated texture
          • Animation
          • Cameras
          • Download image
          • Highlight
          • Interactions
          • Materials
          • Link
          • Sounds
          • Transformation
          • Upload image
          • Variants
          • Visibility
          • Send event
          • Set variable
        • Events (for API)
      • Animations
      • Floating UI
        • Floating UI settings
        • Container
        • Materials (UI)
        • Variants (UI)
        • Text
        • Image
        • Button
        • Slider
        • Input
        • Tips
      • Hotspots
      • Variables & Expressions
        • Syntax
        • Functions
        • List of inputs
        • Data import (.csv)
    • Project settings
      • Version history
      • Augmented Reality (WebAR)
      • WebXR (beta)
      • Loading screen
      • Mouse controls
      • Interaction prompt
      • Menu - Settings
    • Sharing, exporting, embedding
      • Sharing
      • Performance analyzer
      • Optimizing a shared project
        • Geometry
        • Textures
        • Materials
        • Effects
        • Light and shadows
        • HDRI
        • Ground plane
        • Tips
      • Project cloning
      • Embedding to other software
      • Export options
    • Other
      • Vectary Plugin for Figma
      • 2D to 3D
      • Selections
      • Comments
      • Shortcuts
  • API
    • Model API
      • Quick Start
      • API Reference
      • Type Definitions
      • Events & Listeners
      • Floating UI
      • Ecommerce
        • Webflow
        • Shopify
        • Custom code
Powered by GitBook
LogoLogo

Website

  • Pricing
  • Blog
  • Security
  • Website

Social

  • YouTube
  • LinkedIn
  • Discord

Copyright © 2025 Vectary Inc. All rights reserved

On this page
Export as PDF
  1. API
  2. Model API
  3. API Reference

duplicateObjects

Last updated 2 months ago

Duplicates objects specified by name or id, names them, and places them into the scene hierarchy depending on the given options. Returns an array of the duplicated .

duplicateObjects(
	objectNamesOrIds: string | string[];
	keepName?: boolean;
	keepParent?: boolean;
	insertUnderId?: string;
	insertBeforeId?: string;
): Promise<Object[]}>
Parameters
Description
Type

objectNamesOrIds

Name/s or id/s of the objects to duplicate.

string | string[]

keepName

Specifies if duplicated objects should have the same name as the original, or should append a number at the end (defaults to true).

boolean

keepParent

Specifies is duplicated objects should have the same parent as the original, or should be at the top of the scene hierarchy (defaults to false).

boolean

insertUnderId

Specifies the group id to insert the duplicated objects under.

string

insertBeforeId

Specifies the object id to insert the duplicated objects before.

string

Usage:

modelApi.duplicateObjects("Sphere", false).then((copies) => {
	console.log('duplicated object/s:', copies);
}

Return value:

[
    {
        "id": "5af629a1-d997-4b10-b7b6-52adcd204e7e",
        "name": "Sphere 1",
        "visible": true,
        "type": "PRIMITIVE_SPHERE",
        "position": {
            "x": 0,
            "y": 0,
            "z": 0
        },
        "rotation": {
            "x": 0,
            "y": 0,
            "z": 0,
            "order": "XYZ"
        },
        "scale": {
            "x": 1,
            "y": 1,
            "z": 1
        },
        "materials": [
            {
                "id": "1ff73858-f170-47e1-866f-34cf73784b3a",
                "name": "Cozy Vibe",
                "baseColor": {
                    "textureConfig": {
                        "wrapping": 0,
                        "mapping": {
                            "repeatX": 1,
                            "repeatY": 1,
                            "offsetX": 0,
                            "offsetY": 0,
                            "rotation": 0
                        }
                    },
                    "color": {
                        "x": 239,
                        "y": 239,
                        "z": 239
                    }
                },
                "roughness": {
                    "textureConfig": {
                        "wrapping": 0,
                        "mapping": {
                            "repeatX": 1,
                            "repeatY": 1,
                            "offsetX": 0,
                            "offsetY": 0,
                            "rotation": 0
                        }
                    },
                    "value": 0.2
                },
                "metalness": {
                    "textureConfig": {
                        "wrapping": 0,
                        "mapping": {
                            "repeatX": 1,
                            "repeatY": 1,
                            "offsetX": 0,
                            "offsetY": 0,
                            "rotation": 0
                        }
                    },
                    "value": 0
                },
                "emission": {
                    "textureConfig": {
                        "wrapping": 0,
                        "mapping": {
                            "repeatX": 1,
                            "repeatY": 1,
                            "offsetX": 0,
                            "offsetY": 0,
                            "rotation": 0
                        }
                    },
                    "color": {
                        "x": 255,
                        "y": 255,
                        "z": 255
                    },
                    "value": 0
                },
                "normal": {
                    "textureConfig": {
                        "wrapping": 0,
                        "mapping": {
                            "repeatX": 1,
                            "repeatY": 1,
                            "offsetX": 0,
                            "offsetY": 0,
                            "rotation": 0
                        }
                    },
                    "value": 0
                },
                "opacity": {
                    "textureConfig": {
                        "wrapping": 0,
                        "mapping": {
                            "repeatX": 1,
                            "repeatY": 1,
                            "offsetX": 0,
                            "offsetY": 0,
                            "rotation": 0
                        }
                    },
                    "value": 1,
                    "alphaMode": 0,
                    "alphaCutoff": 0.5
                },
                "doubleSided": false,
                "clearcoat": {
                    "amount": 0,
                    "reflectivity": 0.04,
                    "roughness": 0.2
                },
                "refraction": {
                    "amount": 0,
                    "IOR": 1.333,
                    "absorptionDepth": 10,
                    "absorptionColor": {
                        "x": 255,
                        "y": 255,
                        "z": 255
                    },
                    "thicknessTextureConfig": {
                        "wrapping": 0,
                        "mapping": {
                            "repeatX": 1,
                            "repeatY": 1,
                            "offsetX": 0,
                            "offsetY": 0,
                            "rotation": 0
                        }
                    },
                    "thicknessValue": 10
                },
                "subsurface": {
                    "amount": 0,
                    "color": {
                        "x": 255,
                        "y": 255,
                        "z": 255
                    },
                    "radius": 10
                },
                "iridescence": {
                    "textureConfig": {
                        "wrapping": 2,
                        "mapping": {
                            "repeatX": 1,
                            "repeatY": 1,
                            "offsetX": 0,
                            "offsetY": 0,
                            "rotation": 0
                        }
                    },
                    "value": 0
                },
                "reflectivity": {
                    "textureConfig": {
                        "wrapping": 0,
                        "mapping": {
                            "repeatX": 1,
                            "repeatY": 1,
                            "offsetX": 0,
                            "offsetY": 0,
                            "rotation": 0
                        }
                    },
                    "value": 0.04
                },
                "baked": {
                    "ambientOcclusion": {
                        "textureConfig": {
                            "wrapping": 0,
                            "mapping": {
                                "repeatX": 1,
                                "repeatY": 1,
                                "offsetX": 0,
                                "offsetY": 0,
                                "rotation": 0
                            }
                        },
                        "value": 0
                    },
                    "lightmap": {
                        "textureConfig": {
                            "wrapping": 0,
                            "mapping": {
                                "repeatX": 1,
                                "repeatY": 1,
                                "offsetX": 0,
                                "offsetY": 0,
                                "rotation": 0
                            }
                        },
                        "value": 1
                    }
                },
                "globalMapping": {
                    "offsetX": 0,
                    "offsetY": 0,
                    "repeatX": 1,
                    "repeatY": 1,
                    "rotation": 0
                }
            }
        ],
        "primitive": {
            "computeNormals": true,
            "sphereRadius": 50,
            "sphereWidthSegments": 64,
            "sphereHeightSegments": 32
        },
        "children": []
    }
]
Objects