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 
IOmodule is removed from the API), nor to reset or load a.pxzscene. - 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 SimilarandSelect Instancesalways inactive inSelectionmenu - 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
 bakeMapswhen 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
 cleanInstancesfunction- Fixed missing open shells at Rhino import
 - Fixed
 mergePartOccurrencesByMaterialsignoring subpart materials- Fixed
 algo.decimateTargetinconsistencies- Fixed
 computeAABBto 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
 explodeByMaterialsunsetting subpart materials- Fixed
 repairCADmodifying with faces orientation withorientparameter disabled- Fixed
 convertVisibilitynot working inconvertPMIToOccurrences- Fixed ImageRef consitency in multythreaded access
 
[2025.1.0.5] - 2025-03-28
➕ ADDED
- Added 
Combine Materials in Texturesaction in theOptimize Meshmen - Added an 
Ambient lightpreference 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 11style 
💡 CHANGED
🐛 FIXED
- Fixed scripting error output shortening
 - Fixed 
Isolatemode not working in theNo-Showview - Fixed the 
FitViewnot working inIsolatemode with nothing selected - Fixed a crash when deleting materials while 
SubpartInspectoris visible - Fixed 
FitViewno longer ignoring hidden parts - Fixed viewer not updating at the end of an in-depth selection
 - Fixed 
Select Instancesaction 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 PartsandSelect 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 Allslower than before - Fixed the tree's 
Fast Propertiesnot displayed correctly - Fixed 
Find in Treenot 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 propertiesto the tree - Fixed 
Display Prototype Namesetting being ignored - Fixed searching by regular expression not working
 - Fixed file drag&drop blocked after very first app startup
 - Fixed 
invalid identifiererror deleting occurrences if the prototypes tree dialog has been opened - Fixed 
the given identifier is not valid componenterror 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 
Filemenu - Fixed move occurrences position in the tree broken
 - Fixed progress bar not showing with functions from the 
Processmodule - 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 viewnot working with pointclouds - Fixed 
deleteEntitiessteps logged when manipulating materials - Fixed submesh selection not working when clicking from backface
 
❌ REMOVED
- Removed the Catia-like navigation mode
 - Removed the 
runGenericProcessfunction 
📦 Pixyz SDK CHANGES
- 2024.3.0.14 → 2025.1.0.4
 
➕ ADDED FUNCTIONS
algo.hasOverlappingUVFunction to check if a given mesh has some overlapping UVspolygonal.hasUVs: Function to check if a given mesh has some valid UV channelspolygonal.hasNormalizedUVs: Function to check if a given mesh has some normalied UVscore.getRemainingSecondsBeforeLicenseTimeout: After the connection to a floating license server is lost, get the seconds remanining until the program quitscore.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 parameterrotationStepthat 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 rotationscene.getBRepInfosNow return the number of nan-manifold edges in the scene treeview.createGPUScene: Added the parametersuseIsolateto indicate if the scene visibility should be impacted by the isolate function
👾 FIX
- Fixed
 mergePartOccurrencesByMaterialsignoring subpart materials- Fixed
 computeAABBto 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
 explodeByMaterialsunsetting subpart materials- Improved VRAM consumption for GPU baking with opacity threshold
 - Fixed
 repairCADmodifying with faces orientation withorientparameter disabled- Fixed crash with
 bakeMapswhen executed on parts without meshes- Fixed
 convertVisibilitynot working inconvertPMIToOccurrences- 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 Texturesaction in theOptimize Meshmenu - Added API functions from the removed legacy 
UImodule (askYesNo,message,...) intoStudiomodule - Added 
Preferencesquick access button in the main toolbar 
💡 CHANGED
- Improved hierarchy handling performance
 - Updated scripts from the 
Sample Scriptsdirectory - Renamed the export preference 
FbxUpAxiswithUpAxis(affectsFBXandJTexport 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 Onlymode - 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 
Outlinesbutton disabled - Fixed emissive map not baked with 
ProxyMesh+BakeandDecimateTarget+Bake - Fixed 
Select Byfunctions keeping theRootnode 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 
CollapseandExpandtree 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.loadstep - Fixed crash with multiple 
core.resetSessionin script excecution - Fix black text in functions' presets dropdowns
 - Fixed 
out of rangeerror when modifying a subpart material - Fixed 
Select By Materialfailing 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 Planetool adding uselesssetLocalMatricesevents 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 
resetSessionis 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 ScaleinGuided 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 
Jointcomponent - Fixed 
invalid viewer identifiererror popping randomly - Fixed incorrect opacity texture baking and rendered black with billboard generation
 - Fixed billboard generated with abnormally large scale
 
❌ REMOVED
- Removed 
Combine Meshesaction from theOptimizemenu (useMerge Parts By Materialsinstead) - Removed 
IOmodule from the API interface (see above) 
📦 Pixyz SDK CHANGES
- 2024.2.0.52 → 2024.3.0.14
 
➕ ADDED FUNCTIONS
scene.getChildrenCountGet the children count of an occurrencescene.getFirstChildGet the first child of an occurrencescene.getNextSiblingGet the next adjacent childcore.getLicenseErrorGive the reason of license check failureview.destroyContextDestroy the Vulkan instancealgo.hasOverlappingUVCheck for UV overlapping
💡 BEHAVIOR CHANGE
algo.removeOccludedGeometriesNow the parameteroccludershas empty array as default value instead of 0algo.removeOccludedGeometriesAdvancedNow the parameteroccludershas empty array as default value instead of 0algo.removeOccludedGeometriesFromViewPointsNow the parameteroccludershas empty array as default value instead of 0scene.hideNow accepts a list of occurrences instead of a single occurrencescene.showNow accepts a list of occurrences instead of a single occurrencescene.inverseVisibilityNow accepts a list of occurrences instead of a single occurrencescene.showOnlyNow accepts a list of occurrences instead of a single occurrence
❌ REMOVED FUNCTIONS
view.captureNextFramecore.pushAnalyticcore.isInteractiveModecore.setInteractiveModecore.messagecore.askYesNocore.choosecore.askString
🚀 FEATURES
- CATIA: Added filepath metadata on the occurrences at import
 - CreoView: Added new filters
 LoadHiddenandLoadConstructionsAndReferencesat import- SolidWorks: Added support for
 Configurations, now imported asVariants- Added missing features from CPU Baker to GPU Baker
 scene.getAABBwith 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
 removeOccludedGeometriesfunctions- Fixed multiple issues with
 algo.explodeByMaterials- Fixed incorrect default root with
 io.exportScene- Fixed a crash in
 scene.mergePartOccurrenceswith 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.transferMaterialsOnPatchesapplying materials on lines- Fixed a crash with
 algo.decimateTargetwhen parameter processMeshIndependently=True- Fixed a crash in
 algo.mergePartOccurrenceswith vertexWeights attributes existing on meshes- Fixed NormalMap Bbaking failing on parts without material
 - Fixed SubPartMaterial not updated after
 algo.deletePatches- Fixed crash in
 algo.repairCADwhen 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 criteriaalgo.dualContouring: Replace the tessellations of the selected parts by a retopology based on a dual-contouringalgo.filletMesh: Fillet a mesh according to its Lines of Interestalgo.getAllAxisFromCADModel: Return all the main axis contained in the CAD models givenalgo.getUVQualityMetrics: Compute UV mapping qualitative metrics.algo.getVisualComparisonFootprint: Compute the visual footprint of the difference between two sets of occurrencesalgo.identifySharpEdges: Mark as Lines Of Interest the sharp edgesalgo.mergeUVIslandsRelaxed: Minimizes the number of seams in the UV mapping by merging UV islandsalgo.meshBooleanOperation: Computes the boolean operation between the meshes of two occurrence listsalgo.segmentMesh: Segment Mesh into clusters guided by edge sharpnessescad.addBodyToModel: Add a body to the modelcad.addEdgeToModel: Add an edge to the modelcad.addOpenShellToModel: Add an open shell to the modelcad.addPrecisionArea: Define a working area on the 2D projection of the surface to define a parametric precisioncad.addVertexToModel: Add a vertex to the modelcad.createBoundedLinearExtrusionBody: Create a linear extrusion bodycad.createCurveExtrusionBody: Create a curve extrusion bodycad.createLinearExtrusionBody: Create a linear extrusion bodycad.createLoopFromCurve: Create a loop from a finite curvecad.createMultiExtrusionBody: Create a linear extrusion bodycad.createRevolveExtrusionBody: Create a revolved extrusion bodycad.endThreadBrepSession: Ends BrepSession on current threadcad.getClosedShellOrientedFaces: Get all orienteFaces contain in the closedShellcad.getCurveLength: Returns the length of the curvecad.getEdgeLength: Returns the length of the edgecad.getEdgeMaterial: Get the material of the edge, if anycad.getModelOpenShells: Get the list of open shells contained in a modelcad.getModelPrecision: Get the precision used in a modelcad.getOpenShellOrientedFaces: Get all orienteFaces contain in the openShellcad.getParametricPrecisionOnSurface: Returns the parametric precision of a surface from the input precisioncad.getPrecision: Get the CAD precisioncad.invertCoEdge: Invert a coedgecad.invertFaces: Invert facescad.invertLoop: Invert a loopcad.isCurveFinite: If the curve is finite return true, return false otherwisecad.isSurfaceFinite: Return if the surface is finitecad.needPrecisionArea: Tells if it needs a working area on the surfacecad.needTorusShapeCheck: Returns true if the torus has a shape (lemon or apple) corresponding to the provided pointscad.setCoEdgeCurve2D: Set the curve 2D value of a coEdgecad.setCoEdgeSurface: Set the surface value of a coEdgecad.setCurveLimits: set the parametric space limits of a curvecad.setEdgeMaterial: Define an edge's materialcad.setUnitLength: Set the CAD unity length propertycad.startThreadBrepSession: Create a new BrepSession on current threadcore.getLogFile: Get the path of the log filecore.hasCustomProperty: Return true if the custom property was found on the occurrencecore.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 entitiescore.log: Log a message to Pixyz outputcore.parallelAddJob: Add a job to a parallel sessioncore.parallelFinish: Ends a parallel session after waiting for all jobs to finishcore.parallelStart: Starts a new parallel sessioncore.removeModule: Remove a module added via getModuleDescFromXMLcore.unlockEntityRegistration: Unlock Entity registrationgeom.fromAffine: Create a Matrix from an Affinegeom.getMaxScale: Get maximum matrix scaleio.addAssetPaths: add directory paths to search assets inio.applyAutoTessellate: Handle auto tessellate options on given part, need to be completeio.clearAssetPaths: clear all asset pathsio.findInDirectories: find the final path. This will search for the file in asset pathsio.getAssetPaths: get user defined paths to find assetsio.getExtensionPriority: get the priority of an extension from the pixyz importerio.importRemote3mxFile: Import a remote 3mx fileio.listVariants: List all variants if fileio.registerIOCallbacks: Register import and export callbacksio.setAssetPaths: replace paths to find assetsmaterial.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 datamaterial.fillUnusedPixels: Fill unused pixels by propagating and averaging used pixelsmaterial.filterAO: Filter an AO map using ATrous methodmaterial.getImagePixelColor: Returns the color of a given pixel in an imagematerial.getImagesSizes: Returns the sizes of multiple imagesmaterial.getMaterialPattern: Gets the MaterialPattern name of the materialmaterial.getPointsAndMaterialFromText: Returns list of 3D Points and a material from a string and fontnamematerial.setCoeffOrTextureProperty: Set a CoeffOrTexture propertymaterial.setColorAlphaProperty: Set a ColorAlpha propertymaterial.setColorOrTextureProperty: Set a ColorOrTexture propertypolygonal.createMeshFromDefinitions: Create a new mesh from multiple MeshDefinitionpolygonal.createMeshFromText: Creates an occurrence from stringpolygonal.usePointGapFillerNormal: This triangulates a set of points and normalsscene.addAnnotationGroup: Add a Annotation Group to the pmi componentscene.addInParentInstances: Add an instance of prototype's child as child in current occurrence recursivelyscene.addMeshToAnnotation: Add a mesh and its material to a annotationscene.createAnnotationFromDefinition: Create Annotation from definitionscene.createCapsule: Create a new capsulescene.createOccurrenceFromAnnotation: Convert a single annotation on an occurrence into an occurrence with mesh geometryscene.endModifyAllVariants: Call this function to disable the modifications of all variants at the same timescene.getBrepShape: Returns the Brep shape of a partscene.getHiddenPartOccurrences: Get hidden part occurrencesscene.getPartialLoadingStatus: Get the current status of a partial loading componentscene.getTessellationParameters: Get tessellation parametersscene.getVolume: Return the volume of the occurrencescene.getVolumes: Return the volume of a set of root occurrencesscene.invertSelect: Invert occurrences to selectionscene.setAnnotationToGroup: set Annotation to a Annotation Groupscene.setReferencedDataComponentParent: Defines which referenced data is parent to the given componentscene.setReferencedDataComponentPath: Defines which path the referenced data is atscene.startModifyAllVariants: Call this function to to enable the modifications of all variants at the same timescene.updateChildrenPrototypes: Update children prototypes of the given occurrenceview.drawCappingPlane: Create an occurrence that holds the mesh of the surfaces that have been cut by the cutting planeview.getCameraFrontAxis: Get the front axis of the nth view matrix of a given viewerview.getCameraPosition: Get the position of the nth view matrix of a given viewerview.getCameraRightAxis: Get the right axis of the nth view matrix of a given viewerview.getCameraUpAxis: Get the up axis of the nth view matrix of a given viewerview.selectPrimitives: Select the primitives (polygons, surfaces) contained in the given rectangleview.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 fileview.stopRecording: Stop recording video
💡 BEHAVIOR CHANGE
algo.automaticUVMapping: Now have two new optional parameters allowing to set up the resolution and the paddingalgo.createVisibilityInformationAdvanced: Now has alevelparameter, likealgo.createVisibilityInformationalgo.decimateTarget: Now takes an optional experimental parameter for hybrid memoryless approachalgo.explodeConnectedMeshes: Now has an optional parameter allowing to split connected components along non-manifold edgesalgo.getFittingCylinder,algo.mapUvOnFittingCylinder: Theses function now take an optional forced direction vectoralgo.remeshSurfacicHoles: Algorithm was improved, new parameters were addedalgo.removeOccludedGeometries,algo.findOccludedPartOccurrencesandalgo.createVisibilityInformation: Now can create viewpoints on an hemispherealgo.removeOccludedGeometries,algo.findOccludedPartOccurrencesandalgo.removeOccludedGeometriesFromPoints: Viewpoints generation no longer creates a uv mapping of a grid ofsphereCount×sphereCounton a sphere (density is higher on the poles than on the hemisphere) but creates a uniform distribution ofsphereCountviewpoints on a sphere.algo.removeOccludedGeometries,algo.removeOccludedGeometriesAdvanced,algo.removeOccludedGeometriesFromPointsandalgo.removeOccludedGeometriesFromViewPoints: These functions now take an optional list of occludersalgo.unwrapUV: Now has two new parameters to control solver's behaviorcad.createLoop: Now has a parameter allowing to merge isolated vertices in the loopcad.createRevolutionSurface: Now parameters defining the starting and ending angles are renamed and used as if they were in radianscad.invertFaces: Now has a parameter to invert loop orientationcore.endUndoRedoStep: Now has an optionaldeleteIfEmptyparametergeom.fromTRS: Rotation vector should be passed in degrees instead of radiansgeom.toTRS: Rotation vector values are now returned in degreesmaterial.createMaterialsFromMaps: Now returns info on the created materialscene.createTorus: Now has agenerateUVparameter like otherscene.create___functionsscene.getAABB: Now takes an optional parameter allowing to compute more precise AABBscene.mergePartOccurrencesByFinalAssemblies:MergeHiddenPartsModedefault value is nowDestroyview.refreshViewer: Removed the parametersframeCountandforceUpdatethat were unused
⚠️ RENAMED FUNCTIONS
⚠️ 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: Usealgo.combineMaterialsandscene.mergePartOccurrencesto achieve the same resultalgo.deletePolygonalWeightAttributealgo.destroyElementsalgo.flattenUValgo.getEdgePolygonsalgo.getEdgeVerticesalgo.getEdgesalgo.getFreeEdgesalgo.getFreeVerticesalgo.getNormalalgo.getPatchesalgo.getPolygonEdgesalgo.getPolygonVerticesalgo.getPolygonsalgo.getTessellationBoundariesalgo.getTextureCoordinatesalgo.getVertexCoordinatesalgo.getVertexEdgesalgo.getVertexPolygonsalgo.getVerticesalgo.getVisiblePolygonsalgo.invertElementsalgo.relaxUValgo.retessellate: Usealgo.tessellateinsteadalgo.smoothUValgo.stitchUValgo.toEditableMeshalgo.toStaticMeshcad.addToModelcad.createBoundedCurvecad.getBoundedCurveDefinitioncad.getClosedShellOrientedDomainscad.getModelDomainscad.getOpenShellOrientedDomainscad.setPrecisioncore.addPresetcore.executeCommandcore.exportFunctionDialogScreencore.exportPresetscore.generateHTMLDocumentationcore.getEntityTypeFromStringcore.importPresetscore.isFloatingLicensecore.removeAllPresetscore.removePresetcore.savePresetcore.updateDocumentationcore.askYesNocore.choosecore.askStringcore.updateDocumentationcore.messageio.exportSceneToDTPlatformio.exportSceneToReflectio.importSceneFromDTPlatformscene.selectPartsFromNoShow
❌ REMOVED TYPES
algo.EdgeListListalgo.EdgeListalgo.ElementListalgo.PatchListalgo.Patchalgo.PolygonListListalgo.PolygonListalgo.UVCoordListalgo.UVCoordalgo.VertexListListalgo.VertexListcore.Regex: Changed from struct tocore.String