docs.unity3d.com
Version: 

    Changelog

    Important

    Pixyz Studio 2025 still features a Python API interface, enabling developers to extend its out-of-the-box capabilities, but with the following limitations compared to previous releases (see What's New):

    • It is no longer possible to import and export using scripting (the IO module is removed from the API), nor to reset or load a .pxz scene.
    • Pixyz Studio plugins are compatible with Pixyz Studio only, and cannot be run with Pixyz SDK.
    • The PyQt native support was discontinued, so plugins are limited to what the XML structure can offer. Users wishing to create advanced interfaces should use the full power of Pixyz SDK.

    Also, a lot of changes have been made to the Python API (functions signatures, behavior,...). Take a close look below to help you migrate your old Pixyz Studio scripts and plugins.

    For support, contact Pixyz support or reach out to the community on the Pixyz Forum.

    [2025.1.1.2] - 2025-05-12

    🐛 FIXED

    • Fixed materials not exported with glTF, USD, FBX and JT exports when materials are assigned as subpart materials
    • Fixed inability to run software in administrator mode without User Account Control (UAC)
    • Fixed scene statistics not always updated correctly
    • Fix transform gizmo displayed even with no selection selection
    • Fixed slower product structure update due to useless refresh
    • Fixed inability to create keyboard shortcut with some functions
    • Fixed selection ignored (all materials removed) and dialog systematically opened with Remove Materials from Selection
    • Fixed Select Similar and Select Instances always inactive in Selection menu
    • Fixed materials selectors not always emptied after resetting a session
    • Fixed sizing issues with keyboard shortcuts window

    📦 Pixyz SDK CHANGED

    • 2025.1.0.4 → 2025.1.2.3

    🚀 FEATURES

    • GLTF: Added materials Alpha coverage

    👾 FIX

    • 3DXML: Fixed import yielding inconsistent hierarchy randomly
    • STEP: Fixed a memory leak during import
    • Catia: Fixed missing references importing CATProduct files
    • Revit: fixed misoriented faces at import
    • GLTF: Fixed PBR channels exception
    • GLTF: Fixed variants not imported
    • DGN: Fixed potential freeze in tessellation process
    • DGN: Fixed missing colors in some files
    • DGN: Better infinite value detection
    • USD: Fixed incorrect occurrences naming at export
    • Navisworks: Fixed coordinatess system with no up-axis definition
    • PARASOLID: Fixed surfaces created twice and overlapping leading to visual artifacts
    • Fixed a crash while baking from UV channel 0 to UV channel 1
    • Fixed baking failing when a material uses a UV channel that doesn't exist in the mesh
    • Fixed crash with bakeMaps when executed on parts without meshes
    • Improved VRAM consumption for GPU baking with opacity threshold
    • Fixed a crash in repackUV
    • Fixed material assignment lost with the cleanInstances function
    • Fixed missing open shells at Rhino import
    • Fixed mergePartOccurrencesByMaterials ignoring subpart materials
    • Fixed algo.decimateTarget inconsistencies
    • Fixed computeAABB to include lines
    • Fixed Utf-8 material name encoding issue
    • Fixed viewer's auto-clipping planes issue with 2D objects
    • Fixed a crash when calling undo on empty stack
    • Fixed offset parts with convertSimilarPartOccurrencesToInstancesFast
    • Fixed explodeByMaterials unsetting subpart materials
    • Fixed repairCAD modifying with faces orientation with orient parameter disabled
    • Fixed convertVisibilitynot working in convertPMIToOccurrences
    • Fixed ImageRef consitency in multythreaded access

    [2025.1.0.5] - 2025-03-28

    ➕ ADDED

    • Added Combine Materials in Textures action in the Optimize Mesh men
    • Added an Ambient light preference to lighten the scene when using the Standard lighting mode
    • Added a spinner in the bottom taskbar indicating the app is still processing
    • Added support if the Windows 11 style

    💡 CHANGED


    🐛 FIXED

    • Fixed scripting error output shortening
    • Fixed Isolate mode not working in the No-Show view
    • Fixed the FitView not working in Isolate mode with nothing selected
    • Fixed a crash when deleting materials while SubpartInspector is visible
    • Fixed FitView no longer ignoring hidden parts
    • Fixed viewer not updating at the end of an in-depth selection
    • Fixed Select Instances action no longer selecting instances
    • Fixed material thumbnails being blank when Viewer is in isolate mode
    • Fixed performance regressions when showing MaterialWidget
    • Fixed function's dialog always displaued with Select Hidden Parts and Select Visible Parts
    • Fixed Unselect (clear selection) keyboard shortcut not working anymore
    • Fixed a GPU memory leak whdn closing the app
    • Fixed Material slots in widgets not emptied when resetting the app
    • Fixed the tree's Expand All slower than before
    • Fixed the tree's Fast Properties not displayed correctly
    • Fixed Find in Tree not always focusing at the correct tree location
    • Fixed a crash when applying the rUV projection in the UV Projection Tool
    • Fix being unable to add custom properties to the tree
    • Fixed Display Prototype Name setting being ignored
    • Fixed searching by regular expression not working
    • Fixed file drag&drop blocked after very first app startup
    • Fixed invalid identifier error deleting occurrences if the prototypes tree dialog has been opened
    • Fixed the given identifier is not valid component error displayed in some cases
    • Fixed floating license server not found (force floating server to use flexLM)
    • Fixed material thumbnails not updating when the material pattern type is changed
    • Fixed Manual Orientation (up axis) value being ignored with the Guided Import
    • Fixed performance panel disappearing when background is changed
    • Fixed broken documentation links in tooltips in File menu
    • Fixed move occurrences position in the tree broken
    • Fixed progress bar not showing with functions from the Process module
    • Fixed patch borders not showing in the viewer after identifyPatches
    • Fixed in-depth selection not working as expected
    • Fixed viewer not updated when parts transform changed
    • Fixed explode view not working with pointclouds
    • Fixed deleteEntities steps logged when manipulating materials
    • Fixed submesh selection not working when clicking from backface

    ❌ REMOVED

    • Removed the Catia-like navigation mode
    • Removed the runGenericProcess function

    📦 Pixyz SDK CHANGES

    • 2024.3.0.14 → 2025.1.0.4

    ➕ ADDED FUNCTIONS

    • algo.hasOverlappingUV Function to check if a given mesh has some overlapping UVs
    • polygonal.hasUVs: Function to check if a given mesh has some valid UV channels
    • polygonal.hasNormalizedUVs: Function to check if a given mesh has some normalied UVs
    • core.getRemainingSecondsBeforeLicenseTimeout: After the connection to a floating license server is lost, get the seconds remanining until the program quits
    • core.hasConsoleVerbose: Function to check whether a given Verbose level is present in the console's current mask

    💡 BEHAVIOR CHANGE

    • algo.mergeUVIslandsAffine: Now has one new parameter rotationStep that only allows UV to rotate by multiples of this angle in degrees. -1 is used when no restriction is in place, and 0 or a value superior or equal to 360 for no rotation
    • scene.getBRepInfos Now return the number of nan-manifold edges in the scene tree
    • view.createGPUScene: Added the parameters useIsolateto indicate if the scene visibility should be impacted by the isolate function

    👾 FIX

    • Fixed mergePartOccurrencesByMaterials ignoring subpart materials
    • Fixed computeAABB to include lines
    • Revit: fixed misoriented faces at import
    • Fixed Utf-8 material name encoding issue
    • GLTF: Fixed PBR channels exception
    • GLTF: Fixed variants not imported
    • DGN: Fixed missong colors in some files
    • USD: Fixes incorrect occurrences naming at export
    • PARASOLID: Fixed surfaces created twice and overlapping leading to visual artifacts
    • Fixed viewer's auto-clipping planes issue with 2D objects
    • Fixed a crash when calling undo on empty stack
    • Fixed offset parts with convertSimilarPartOccurrencesToInstancesFast
    • Fixed explodeByMaterials unsetting subpart materials
    • Improved VRAM consumption for GPU baking with opacity threshold
    • Fixed repairCAD modifying with faces orientation with orient parameter disabled
    • Fixed crash with bakeMaps when executed on parts without meshes
    • Fixed convertVisibilitynot working in convertPMIToOccurrences
    • Fixed baking failing when a material uses a UV channel that doesn't exist in the mesh




    Previous releases

    [2024.1.0.44 BETA] - 2025-02-07

    ➕ ADDED

    • Added Combine Materials in Textures action in the Optimize Mesh menu
    • Added API functions from the removed legacy UI module (askYesNo, message,...) into Studio module
    • Added Preferences quick access button in the main toolbar

    💡 CHANGED

    • Improved hierarchy handling performance
    • Updated scripts from the Sample Scripts directory
    • Renamed the export preference FbxUpAxis with UpAxis (affects FBX and JT export formats only)

    🐛 FIXED

    • Fixed multiple crashes/bugs with material creation/deletion and with the Material Editor interface: undo/redo, thumbnail generation, wrong materials count, material properties overlapping, incorrect window size, material preview sphere cropped...
    • Fixed Material Selector becoming blank
    • Fixed transformation gizmo with mutiselection now always aligned to world
    • Fixed wrong rotation value applied with multiple occurrences selected
    • Fixed manual scaling yielding incorrect result with large and small values
    • Fixed gizmo disappearig in orthographic camera mode
    • Fixed crash/freeze when manipulating the scale in Move Pivot Only mode
    • Fixed clicking the scene gizmo initiating a rectangle selection
    • Fixed viewer freeze with large selection with show/hide
    • Fixed viewer not updating after Select All
    • Fixed clipping plan issues in the viewer
    • Fixed environment map showing in orthographic perspective (now disabled)
    • Fixed Viewer Information Panel (statistics panel) not counting statistics correctly
    • Fixed patch lines showing in the viewer with the Outlines button disabled
    • Fixed emissive map not baked with ProxyMesh+Bake and DecimateTarget+Bake
    • Fixed Select By functions keeping the Root node selected in the final selection
    • Fixed current selection being included in selected return parameters
    • Fixed current selection not filled in functions dialogs requiring a selection
    • Fixed possible crash with functions while doing a selection
    • Fixed functions with optional selection parameters ignoring the current selection
    • Fixed renaming occurrences with Rename (F2) not working
    • Fixed potential crash when searching in the tree
    • Fixed infinite tree reload with Find Selection in Tree
    • Fixed error prompted when using Find Selection in Tree
    • Fixed occurrences paste and duplicate without instance
    • Fixed Collapse and Expand tree actions
    • Fixed tree nodes destroyed when using drag-drop to parent them
    • Fixed crash when deleting nodes in the tree
    • Fixed crash when removing a fast property in the tree
    • Fixed console output not logging core.load step
    • Fixed crash with multiple core.resetSession in script excecution
    • Fix black text in functions' presets dropdowns
    • Fixed out of range error when modifying a subpart material
    • Fixed Select By Material failing to select parts with subpart materials
    • Fixed missing context menu actions
    • Fixed animation controls being disabled when reimporting a model
    • Fixed crash when undoing an import
    • Fixed environment map thumbnail loading flipped
    • Fixed crash when undoing any step which added a texture
    • Fixed losing the progress bar after undoing some manipulations
    • Fixed Cutting Plane tool adding useless setLocalMatrices events in the History
    • Fixed crash caused by the Inspector constantly updating during script execution
    • Fixed error popup with Generate Phantom Mesh
    • Fixed crash if Material Selector was opened before resetSession is called
    • Fixed incorrect transform matrix set when duplicating occurrences
    • Fixed shortcuts being disabled after closing dialogs (undo/redo, Material Editor...)
    • Fixed license expiration dialog appearing with floating license
    • Fixed a crash when peforming some undo/redo on BReps manipulations
    • Fixed a crash when creating a new keyboard shortcut
    • Fixed visual artifact in Light Theme
    • Fixed a crash when using Manual Scale in Guided Import
    • Fixed incorrect camera setup when exiting a variant/PMI
    • Fixed potentially incorrect camera angle with variant/PMI
    • Fixed incorrect display behavior presets with plugins
    • Fixed a crash with undo/redo and occurrennes owning a Joint component
    • Fixed invalid viewer identifier error popping randomly
    • Fixed incorrect opacity texture baking and rendered black with billboard generation
    • Fixed billboard generated with abnormally large scale

    ❌ REMOVED

    • Removed Combine Meshes action from the Optimize menu (use Merge Parts By Materials instead)
    • Removed IO module from the API interface (see above)

    📦 Pixyz SDK CHANGES

    • 2024.2.0.52 → 2024.3.0.14

    ➕ ADDED FUNCTIONS

    • scene.getChildrenCount Get the children count of an occurrence
    • scene.getFirstChild Get the first child of an occurrence
    • scene.getNextSibling Get the next adjacent child
    • core.getLicenseError Give the reason of license check failure
    • view.destroyContext Destroy the Vulkan instance
    • algo.hasOverlappingUV Check for UV overlapping

    💡 BEHAVIOR CHANGE

    • algo.removeOccludedGeometries Now the parameter occluders has empty array as default value instead of 0
    • algo.removeOccludedGeometriesAdvanced Now the parameter occluders has empty array as default value instead of 0
    • algo.removeOccludedGeometriesFromViewPoints Now the parameter occluders has empty array as default value instead of 0
    • scene.hide Now accepts a list of occurrences instead of a single occurrence
    • scene.show Now accepts a list of occurrences instead of a single occurrence
    • scene.inverseVisibility Now accepts a list of occurrences instead of a single occurrence
    • scene.showOnly Now accepts a list of occurrences instead of a single occurrence

    ❌ REMOVED FUNCTIONS

    • view.captureNextFrame
    • core.pushAnalytic
    • core.isInteractiveMode
    • core.setInteractiveMode
    • core.message
    • core.askYesNo
    • core.choose
    • core.askString

    🚀 FEATURES

    • CATIA: Added filepath metadata on the occurrences at import
    • CreoView: Added new filters LoadHidden and LoadConstructionsAndReferences at import
    • SolidWorks: Added support for Configurations, now imported as Variants
    • Added missing features from CPU Baker to GPU Baker
    • scene.getAABB with precise=True now uses current animation pose

    👾 FIX

    • CreoView: fixed missing formats (*.pvz, *.pvs) in import dialog
    • Navisworks: fixed coordinate system detection
    • Revit: fixed missing geometries
    • Revit: fixed broken/missing faces
    • Revit: fixed mismatching unique ID metadata
    • DGN: fixed crash when importing 3d curves
    • DGN: fixed precision issues
    • DGN: fixed color index check
    • DGN: fixed missing geometries
    • DGN: fixed wrong faces orientation
    • DGN: fixed determinism in multi-thread process
    • GLTF: fixed exported files containing not valid data
    • GLTF: fixed missing vertex colors with point cloud at export (black points)
    • GLTF: fixed missing Part when adding subpartMaterial
    • GLTF: fixed crash at export with Draco enabled and meshes with tangents
    • GLTF: fixed incorrect support of KHR_xmp_json_ld extension at import/export
    • GLTF: fixed issue in textures alpha coverage
    • STEP: fixed PMI import crash
    • JT: fixed import crash
    • JT: disabled v10 support with alternative exporter because version unsupported
    • PDF: fixed missing PDF export
    • OBJ: fixed unlit texture missing at export
    • STEP: fixed memory leaks at import
    • STEP: fixed missing free lines at import
    • CREO: fixed incorrect extensions with the 'Creo' filter in import dialogs
    • FBX: fixed FBX exported with incorrect default FBX version
    • DWG: Fixed missing PersistentID at import
    • VRML: fixed Unit measure issue at import
    • E57: Fixed exception thrown at import with e57 file containing Index packet
    • PLY: Fixed a crash when importing a .ply file in mono-thread
    • Fixed missing transparent material at export with some formats
    • Fixed Viewer issues with some nVidia GPUs (e.g. Quadro P6000) causing incorrect behavior with removeOccludedGeometries functions
    • Fixed multiple issues with algo.explodeByMaterials
    • Fixed incorrect default root with io.exportScene
    • Fixed a crash in scene.mergePartOccurrences with vertexWeights attributes on meshes
    • Fixed incorrect NormalMap Baking on object without material
    • Fixed crash when tessellating point clouds with algo.tessellatePointCloudson certain situations
    • Fixed multiple issues on tangents computation (import/rendering/creation)
    • Fixed scene.transferMaterialsOnPatches applying materials on lines
    • Fixed a crash with algo.decimateTarget when parameter processMeshIndependently=True
    • Fixed a crash in algo.mergePartOccurrences with vertexWeights attributes existing on meshes
    • Fixed NormalMap Bbaking failing on parts without material
    • Fixed SubPartMaterial not updated after algo.deletePatches
    • Fixed crash in algo.repairCAD when CAD loops are not attached to a face
    • Fixed a crash when overwriting an existing .pxz file
    • Fixed crash at pxz.release
    • Fixed systematic crash with algo.removeOccludedGeometriesAdvanced
    • Fixed losing materials applied as a SubPart material with algo.repairMesh
    • Fixed createVisibilityInformationAdvancedreturnig incorrects values by adding a depth bias to back faces

    Known issues:

    • Potential frame rate loss on laptops with Dual GPUs
    • Broken in-app links to the documentation
    • Incomplete product documentation
    • Incomplete API Reference

    [2024.1.0.28] - 2024-07-25

    ➕ ADDED FUNCTIONS

    • algo.crackMeshEdges: Crack polygonal edges according to given criteria
    • algo.dualContouring: Replace the tessellations of the selected parts by a retopology based on a dual-contouring
    • algo.filletMesh: Fillet a mesh according to its Lines of Interest
    • algo.getAllAxisFromCADModel: Return all the main axis contained in the CAD models given
    • algo.getUVQualityMetrics: Compute UV mapping qualitative metrics.
    • algo.getVisualComparisonFootprint: Compute the visual footprint of the difference between two sets of occurrences
    • algo.identifySharpEdges: Mark as Lines Of Interest the sharp edges
    • algo.mergeUVIslandsRelaxed: Minimizes the number of seams in the UV mapping by merging UV islands
    • algo.meshBooleanOperation: Computes the boolean operation between the meshes of two occurrence lists
    • algo.segmentMesh: Segment Mesh into clusters guided by edge sharpnesses
    • cad.addBodyToModel: Add a body to the model
    • cad.addEdgeToModel: Add an edge to the model
    • cad.addOpenShellToModel: Add an open shell to the model
    • cad.addPrecisionArea: Define a working area on the 2D projection of the surface to define a parametric precision
    • cad.addVertexToModel: Add a vertex to the model
    • cad.createBoundedLinearExtrusionBody: Create a linear extrusion body
    • cad.createCurveExtrusionBody: Create a curve extrusion body
    • cad.createLinearExtrusionBody: Create a linear extrusion body
    • cad.createLoopFromCurve: Create a loop from a finite curve
    • cad.createMultiExtrusionBody: Create a linear extrusion body
    • cad.createRevolveExtrusionBody: Create a revolved extrusion body
    • cad.endThreadBrepSession: Ends BrepSession on current thread
    • cad.getClosedShellOrientedFaces: Get all orienteFaces contain in the closedShell
    • cad.getCurveLength: Returns the length of the curve
    • cad.getEdgeLength: Returns the length of the edge
    • cad.getEdgeMaterial: Get the material of the edge, if any
    • cad.getModelOpenShells: Get the list of open shells contained in a model
    • cad.getModelPrecision: Get the precision used in a model
    • cad.getOpenShellOrientedFaces: Get all orienteFaces contain in the openShell
    • cad.getParametricPrecisionOnSurface: Returns the parametric precision of a surface from the input precision
    • cad.getPrecision: Get the CAD precision
    • cad.invertCoEdge: Invert a coedge
    • cad.invertFaces: Invert faces
    • cad.invertLoop: Invert a loop
    • cad.isCurveFinite: If the curve is finite return true, return false otherwise
    • cad.isSurfaceFinite: Return if the surface is finite
    • cad.needPrecisionArea: Tells if it needs a working area on the surface
    • cad.needTorusShapeCheck: Returns true if the torus has a shape (lemon or apple) corresponding to the provided points
    • cad.setCoEdgeCurve2D: Set the curve 2D value of a coEdge
    • cad.setCoEdgeSurface: Set the surface value of a coEdge
    • cad.setCurveLimits: set the parametric space limits of a curve
    • cad.setEdgeMaterial: Define an edge's material
    • cad.setUnitLength: Set the CAD unity length property
    • cad.startThreadBrepSession: Create a new BrepSession on current thread
    • core.getLogFile: Get the path of the log file
    • core.hasCustomProperty: Return true if the custom property was found on the occurrence
    • core.lockEntityRegistration: Lock Entity registration, use with Caution. All entities created after this call will not be saved on .pxz file and will not be listed as existing entities on the Database. Be careful to not references these entities with other registered entities
    • core.log: Log a message to Pixyz output
    • core.parallelAddJob: Add a job to a parallel session
    • core.parallelFinish: Ends a parallel session after waiting for all jobs to finish
    • core.parallelStart: Starts a new parallel session
    • core.removeModule: Remove a module added via getModuleDescFromXML
    • core.unlockEntityRegistration: Unlock Entity registration
    • geom.fromAffine: Create a Matrix from an Affine
    • geom.getMaxScale: Get maximum matrix scale
    • io.addAssetPaths: add directory paths to search assets in
    • io.applyAutoTessellate: Handle auto tessellate options on given part, need to be complete
    • io.clearAssetPaths: clear all asset paths
    • io.findInDirectories: find the final path. This will search for the file in asset paths
    • io.getAssetPaths: get user defined paths to find assets
    • io.getExtensionPriority: get the priority of an extension from the pixyz importer
    • io.importRemote3mxFile: Import a remote 3mx file
    • io.listVariants: List all variants if file
    • io.registerIOCallbacks: Register import and export callbacks
    • io.setAssetPaths: replace paths to find assets
    • material.convertFloat32To8BitsImage: Returns a new image from the given converter from 32bits float to a 8Bits (e.g. depth render map)
    • material.createImageFromData: Import an Image from only its data
    • material.fillUnusedPixels: Fill unused pixels by propagating and averaging used pixels
    • material.filterAO: Filter an AO map using ATrous method
    • material.getImagePixelColor: Returns the color of a given pixel in an image
    • material.getImagesSizes: Returns the sizes of multiple images
    • material.getMaterialPattern: Gets the MaterialPattern name of the material
    • material.getPointsAndMaterialFromText: Returns list of 3D Points and a material from a string and fontname
    • material.setCoeffOrTextureProperty: Set a CoeffOrTexture property
    • material.setColorAlphaProperty: Set a ColorAlpha property
    • material.setColorOrTextureProperty: Set a ColorOrTexture property
    • polygonal.createMeshFromDefinitions: Create a new mesh from multiple MeshDefinition
    • polygonal.createMeshFromText: Creates an occurrence from string
    • polygonal.usePointGapFillerNormal: This triangulates a set of points and normals
    • scene.addAnnotationGroup: Add a Annotation Group to the pmi component
    • scene.addInParentInstances: Add an instance of prototype's child as child in current occurrence recursively
    • scene.addMeshToAnnotation: Add a mesh and its material to a annotation
    • scene.createAnnotationFromDefinition: Create Annotation from definition
    • scene.createCapsule: Create a new capsule
    • scene.createOccurrenceFromAnnotation: Convert a single annotation on an occurrence into an occurrence with mesh geometry
    • scene.endModifyAllVariants: Call this function to disable the modifications of all variants at the same time
    • scene.getBrepShape: Returns the Brep shape of a part
    • scene.getHiddenPartOccurrences: Get hidden part occurrences
    • scene.getPartialLoadingStatus: Get the current status of a partial loading component
    • scene.getTessellationParameters: Get tessellation parameters
    • scene.getVolume: Return the volume of the occurrence
    • scene.getVolumes: Return the volume of a set of root occurrences
    • scene.invertSelect: Invert occurrences to selection
    • scene.setAnnotationToGroup: set Annotation to a Annotation Group
    • scene.setReferencedDataComponentParent: Defines which referenced data is parent to the given component
    • scene.setReferencedDataComponentPath: Defines which path the referenced data is at
    • scene.startModifyAllVariants: Call this function to to enable the modifications of all variants at the same time
    • scene.updateChildrenPrototypes: Update children prototypes of the given occurrence
    • view.drawCappingPlane: Create an occurrence that holds the mesh of the surfaces that have been cut by the cutting plane
    • view.getCameraFrontAxis: Get the front axis of the nth view matrix of a given viewer
    • view.getCameraPosition: Get the position of the nth view matrix of a given viewer
    • view.getCameraRightAxis: Get the right axis of the nth view matrix of a given viewer
    • view.getCameraUpAxis: Get the up axis of the nth view matrix of a given viewer
    • view.selectPrimitives: Select the primitives (polygons, surfaces) contained in the given rectangle
    • view.setDefaultViewerId: Set default viewer id. This viewer will be used in other functions taking a Viewer as a parameter. Useful if a viewer needs to be shared across different contexts.
    • view.startRecording: Record viewer in a file
    • view.stopRecording: Stop recording video

    💡 BEHAVIOR CHANGE

    • algo.automaticUVMapping: Now have two new optional parameters allowing to set up the resolution and the padding
    • algo.createVisibilityInformationAdvanced: Now has a level parameter, like algo.createVisibilityInformation
    • algo.decimateTarget: Now takes an optional experimental parameter for hybrid memoryless approach
    • algo.explodeConnectedMeshes: Now has an optional parameter allowing to split connected components along non-manifold edges
    • algo.getFittingCylinder, algo.mapUvOnFittingCylinder: Theses function now take an optional forced direction vector
    • algo.remeshSurfacicHoles: Algorithm was improved, new parameters were added
    • algo.removeOccludedGeometries, algo.findOccludedPartOccurrences and algo.createVisibilityInformation: Now can create viewpoints on an hemisphere
    • algo.removeOccludedGeometries, algo.findOccludedPartOccurrences and algo.removeOccludedGeometriesFromPoints: Viewpoints generation no longer creates a uv mapping of a grid of sphereCount × sphereCount on a sphere (density is higher on the poles than on the hemisphere) but creates a uniform distribution of sphereCount viewpoints on a sphere.
    • algo.removeOccludedGeometries, algo.removeOccludedGeometriesAdvanced, algo.removeOccludedGeometriesFromPoints and algo.removeOccludedGeometriesFromViewPoints: These functions now take an optional list of occluders
    • algo.unwrapUV: Now has two new parameters to control solver's behavior
    • cad.createLoop: Now has a parameter allowing to merge isolated vertices in the loop
    • cad.createRevolutionSurface: Now parameters defining the starting and ending angles are renamed and used as if they were in radians
    • cad.invertFaces: Now has a parameter to invert loop orientation
    • core.endUndoRedoStep: Now has an optional deleteIfEmpty parameter
    • geom.fromTRS: Rotation vector should be passed in degrees instead of radians
    • geom.toTRS: Rotation vector values are now returned in degrees
    • material.createMaterialsFromMaps: Now returns info on the created material
    • scene.createTorus: Now has a generateUV parameter like other scene.create___ functions
    • scene.getAABB: Now takes an optional parameter allowing to compute more precise AABB
    • scene.mergePartOccurrencesByFinalAssemblies: MergeHiddenPartsMode default value is now Destroy
    • view.refreshViewer: Removed the parameters frameCount and forceUpdate that were unused

    ⚠️ RENAMED FUNCTIONS

    Previous New
    algo.bakeUV algo.transferUV
    algo.convertSimilarOccurrencesToInstances algo.convertSimilarPartOccurrencesToInstances
    algo.createInstancesBySimilarity algo.convertSimilarPartOccurrencesToInstancesFast
    algo.explodePartByMaterials algo.explodeByMaterials
    algo.explodeVertexCount algo.explodeByVertexCount
    algo.explodeVoxel algo.explodeByVoxel
    algo.hiddenRemovalCamera algo.removeOccludedGeometriesFromPoints
    algo.hiddenRemovalViewPoints algo.removeOccludedGeometriesFromViewPoints
    algo.hiddenRemoval algo.removeOccludedGeometries
    algo.hiddenSelection algo.findOccludedPartOccurrences
    algo.mergeUVIslands algo.mergeUVIslandsAffine
    algo.orientFromCamera algo.orientPolygonFacesFromCamera
    algo.orient algo.orientPolygonFaces
    algo.selectSimilar algo.findSimilarPartOccurrencesFast
    algo.smartHiddenCreateVisibilityInformation algo.createVisibilityInformationAdvanced
    algo.smartHiddenRemoval algo.removeOccludedGeometriesAdvanced
    algo.smartHiddenSelection algo.findOccludedPartOccurrencesAdvanced
    algo.smartOrient algo.orientPolygonFacesAdvanced
    algo.uvUnwrap algo.unwrapUV
    scene.findByActiveMaterial scene.findPartOccurrencesByActiveMaterial
    scene.findByMetadataValue scene.findOccurrencesByMetadataValue
    scene.findByMetadata scene.findOccurrencesByMetadata
    scene.findByProperty scene.findOccurrencesByProperty
    scene.getDuplicatedParts scene.findDuplicatedPartOccurrences
    scene.getNodeName scene.getOccurrenceName
    scene.getReferencers scene.getDirectInstances
    scene.getUnstitchedFacesOccurrences scene.findPartOccurrencesWithUnstitchedOpenShells
    scene.identifyInstances scene.findPartOccurrencesByMinimumNumberOfInstances
    scene.mergeByRegions scene.mergePartOccurrencesByRegions
    scene.mergeByTreeLevel scene.mergeOccurrencesByTreeLevel
    scene.mergeFinalLevel scene.mergePartOccurrencesByFinalAssemblies
    scene.mergeOpenShells scene.mergePartOccurrencesWithSingleOpenShellByAssemblies
    scene.mergePartsByAssemblies scene.mergePartOccurrencesByAssemblies
    scene.mergePartsByMaterials scene.mergePartOccurrencesByMaterials
    scene.mergePartsByName scene.mergePartOccurrencesByName
    scene.mergeParts scene.mergePartOccurrences
    scene.selectByMaterial scene.findOccurrencesByMaterial
    scene.selectByMaximumSize scene.findPartOccurrencesByMaximumSize
    scene.selectByVisibleMaterial scene.findPartOccurrencesByVisibleMaterial
    scene.selectDuplicated scene.findDuplicatedPartOccurrences
    scene.selectInstances scene.getInstances
    scene.selectPartOccurrencesInAABB scene.findPartOccurrencesInAABB
    scene.selectPartOccurrencesInBox scene.findPartOccurrencesInBox
    scene.selectVisibleParts scene.getVisiblePartOccurrences

    ⚠️ RENAMED TYPES

    Previous New
    polygonal.DressedPolyList polygonal.SubmeshList
    polygonal.DressedPoly polygonal.Submesh
    algo.SmartHiddenType algo.InnerOuterOption

    ❌ REMOVED FEATURES

    • Measurement Tool
    • Advanced Search
    • Plugin Editor

    ❌ REMOVED FUNCTIONS

    • algo.combineMeshes: Use algo.combineMaterials and scene.mergePartOccurrencesto achieve the same result
    • algo.deletePolygonalWeightAttribute
    • algo.destroyElements
    • algo.flattenUV
    • algo.getEdgePolygons
    • algo.getEdgeVertices
    • algo.getEdges
    • algo.getFreeEdges
    • algo.getFreeVertices
    • algo.getNormal
    • algo.getPatches
    • algo.getPolygonEdges
    • algo.getPolygonVertices
    • algo.getPolygons
    • algo.getTessellationBoundaries
    • algo.getTextureCoordinates
    • algo.getVertexCoordinates
    • algo.getVertexEdges
    • algo.getVertexPolygons
    • algo.getVertices
    • algo.getVisiblePolygons
    • algo.invertElements
    • algo.relaxUV
    • algo.retessellate: Use algo.tessellate instead
    • algo.smoothUV
    • algo.stitchUV
    • algo.toEditableMesh
    • algo.toStaticMesh
    • cad.addToModel
    • cad.createBoundedCurve
    • cad.getBoundedCurveDefinition
    • cad.getClosedShellOrientedDomains
    • cad.getModelDomains
    • cad.getOpenShellOrientedDomains
    • cad.setPrecision
    • core.addPreset
    • core.executeCommand
    • core.exportFunctionDialogScreen
    • core.exportPresets
    • core.generateHTMLDocumentation
    • core.getEntityTypeFromString
    • core.importPresets
    • core.isFloatingLicense
    • core.removeAllPresets
    • core.removePreset
    • core.savePreset
    • core.updateDocumentation
    • core.askYesNo
    • core.choose
    • core.askString
    • core.updateDocumentation
    • core.message
    • io.exportSceneToDTPlatform
    • io.exportSceneToReflect
    • io.importSceneFromDTPlatform
    • scene.selectPartsFromNoShow

    ❌ REMOVED TYPES

    • algo.EdgeListList
    • algo.EdgeList
    • algo.ElementList
    • algo.PatchList
    • algo.Patch
    • algo.PolygonListList
    • algo.PolygonList
    • algo.UVCoordList
    • algo.UVCoord
    • algo.VertexListList
    • algo.VertexList
    • core.Regex: Changed from struct to core.String

    Pixyz Studio 2025.1.1.2 based on SDK 2025.1.2.3
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX.