Python API Change Log
Release 2021.1.0.79 to 2021.1.1.5
(Released December 02, 2021)
MODIFIED FUNCTIONS
Module: IO
exportSceneToReflect
exportSceneToReflect(root, sourceName, uid, keepHierarchy, configFile, /)
Export current scene to a reflect project
Parameters
----------
root : Occurrence , optional
(default: 0)
Identifier of the destination occurrence
sourceName : String , optional
(default: "")
Push source name
uid : String , optional
(default: "")
UID of the push, overwrite old push if it's same UID
keepHierarchy : Boolean , optional
(default: false)
Keep hierarchy or rake tree
configFile : FilePath , optional
(default: "")
Use existing JSON config file, discard reflect UI prompt
Release 2020.2.6.2 to 2021.1.0.79
(Released November 04, 2021)
REMOVED FUNCTIONS
Module: Core
- core.interruptionRequested()
- restoreModulePropertyDefaultValue()
- setCurrentThreadAsProcessThread()
- softStopAsyncEventManager()
REMOVED MODULES
- DecimateTargetBake: decimateTargetBake() - replaced by process.decimateTargetBake()
- WizardIO: importWizard() - replaced by process.guidedImport()
- GenerateProxy: proxyFromMeshes() - replaced by process.proxyFromMeshes() / proxyFromPointCloud() - replaced by process.proxyFromPointCloud()
ADDED FUNCTIONS
Module: Algo
- convertSimilarOccurencesToInstances()
- createVertexWeightsFromVertexColors()
- createVisibilityInformation()
- deleteTangents()
- evalDecimateErrorForTarget()
- relaxUV()
- removeZFighting()
- retopologize()
- tessellateRelativelyToAABB()
Module: CAD
- buildFaces()
- createRuledSurface()
- solidIntersection()
- solidSubstraction()
- solidUnion()
Module: Core
- getEntityTypeFromString()
- getMemoryUsagePeak()
Module: Geom
- fromOriginNormal()
Module: Material
- getCustomMaterialPattern()
- getImpostorMaterialInfos()
- getUniformPropertyType()
- resizeImage()
- setMaterialMainColor()
- updateImageFromDefinition()
Module: Polygonal
- computeMeshTopoChecksum()
- computeMeshVertexPositionsChecksum()
- computeUVTopoChecksum()
- computeUVVertexPositionsChecksum()
- dracoDecode()
- getMeshSkinning()
- setMeshSkinning()
Module: Process
- decimateTargetBake() - replaces the old plugin decimatetargetbake.decimateTargetBake()
- guidedImport() - replaces the old plugin wizardio.importWizard()
- proxyFromMeshes() - replaces the old plugin generateproxy.proxyFromMeshes()
- proxyFromPointCloud() - replaces the old plugin generateproxy.proxyFromPointCloud()
Module: Scene
- createOBBMesh()
- createSceneFromMeshes()
- generateOctaViews()
- getAnnotationGroups()
- getDuplicatedParts()
- getTessellationInfos()
- listComponent()
- mergeByRegions()
Module: View
- addPickResultCallback()
- getViewSessionDrawPrimitives()
- pickOccurrences()
- removePickResultCallback()
- resumeViewer()
- setViewSessionDrawPrimitives()
MODIFIED FUNCTIONS
Module: Algo
decimateEdgeCollapse
decimateEdgeCollapse(occurrences, surfacicTolerance, /, boundaryWeight, normalWeight, UVWeight, sharpNormalWeight, UVSeamWeight, normalMaxDeviation, forbidUVOverlaps, UVMaxDeviation, UVSeamMaxDeviation, protectTopology, qualityTradeoff)
Experimental :reduce the polygon count by collapsing some edges to obtain an simplified mesh
Parameters
----------
occurrences : OccurrenceList
Occurrences of components to process
surfacicTolerance : Distance
Error max between the simplified mesh et the old one
boundaryWeight : Double , optional
(default: 1.)
Boundary importance during the decimation
normalWeight : Double , optional
(default: 1.)
Normal importance during the decimation
UVWeight : Double , optional
(default: 1.)
UV importance during the decimation
sharpNormalWeight : Double , optional
(default: 1.)
Importance of sharp edges during the decimation
UVSeamWeight : Double , optional
(default: 10.)
Importance of UV seams during the decimation
normalMaxDeviation : Angle , optional
(default: -1)
Constraint the normals deviation on decimated model
forbidUVOverlaps : Boolean , optional
(default: true)
Forbid UV to fold over and overlap during the decimation
UVMaxDeviation : Double , optional
(default: -1)
Constraint the uv deviation on decimated model
UVSeamMaxDeviation : Double , optional
(default: -1)
Constraint the uv seams deviation on decimated model
protectTopology : Boolean , optional
(default: false)
If false, the topology of the mesh can change and some edges can become non-manifold. But the visual quality will be better on model with complex topology
qualityTradeoff : QualitySpeedTradeoff , optional
(default: 0)
For big models it is recommanded to choose PreferSpeed tradeoff. In PreferSpeed mode, quadrics are computed only on position (and not on other vertex attributes)
decimateTarget
decimateTarget(occurrences, targetStrategy, /, UVImportance, protectTopology, iterativeThreshold)
reduce the polygon count by collapsing some edges to obtain a target triangle count (iterative version that use less memory)
Parameters
----------
occurrences : OccurrenceList
List of occurrences to process
targetStrategy : DecimateOptionsSelector
Select between targetCount or ratio to define the number of triangles left after the decimation process
UVImportance : UVImportanceEnum , optional
(default: 0)
Select importance of texture coordinates
protectTopology : Boolean , optional
(default: false)
If False, the topology of the mesh can change and some edges can become non-manifold
iterativeThreshold : Int , optional
(default: 5000000)
Number of triangles above which the iterative algorithm is used to limit the memory usage
voxelize
voxelize(occurrences, voxelSize, /, elements, dilation, useCurrentAnimationPosition)
Replace the tessellations of the selected parts by a voxelization of the external skin
Parameters
----------
occurrences : OccurrenceList
Occurrences of part to process
voxelSize : Distance
Size of voxels
elements : ElementFilter , optional
(default: 0)
Type of elements used to detect the voxels, polygons or points or hybrid
dilation : Int , optional
(default: 0)
Dilation iterations on the voxel grid
useCurrentAnimationPosition : Boolean , optional
(default: false)
Use the current animation position instead of the t-pose
Returns:
-------
voxelizedPart : Occurrence
Resulting part occurrence
Module: Core
configureLicenseServer
configureLicenseServer(address, port, /, flexLM)
Configure the license server to use to get floating licenses
Parameters
----------
address : String
Server address
port : UShort
Server port
flexLM : Boolean , optional
(default: false true)
Enable FlexLM license server
Module: IO
importFiles
importFiles(fileName fileNames, /, root)
Import files
Parameters
----------
fileName fileNames : FilesList
List of files's paths to import
root : Occurrence , optional
(default: 0)
Identifier of the destination occurrence
Returns:
-------
dest : OccurrenceList
The root occurrences of each imported file
Module: Scene
createOccurrenceFromSelection
createOccurrenceFromSelection(name, children, parent, /, keepMaterialAssignment)
Create a new occurrence and add the given occurrences as children
Parameters
----------
name : String
Name of the new occurrence
children : OccurrenceList
Add given occurrence as children (if any)
parent : Occurrence
If defined, the new occurrence will be created as a child of this parent. Else if children are defined, the first common parent of children will be used as a parent for this new occurrence. Last resort will be to use the root as parent
keepMaterialAssignment : Boolean , optional
(default: true)
If defined, material assignation will be updated to keep the visual same aspect
Returns:
-------
occurrence : Occurrence
Created occurrence
createSymmetry
createSymmetry(occurrences, plane)
Create symmetries from selection
Parameters
----------
occurrences : OccurrenceList
Selection of occurrences
plane : Plane AxisPlane
Symmetry plane
getVertexCount
getVertexCount(occurrences, /, countOnceEachInstance, countHidden, countPoints, countMergedVertices)
Returns the number of vertices in the parts meshes
Parameters
----------
occurrences : OccurrenceList
The part occurrences
countOnceEachInstance : Bool , optional
(default: false)
If true ignore multiple instance of each tessellation
countHidden : Bool , optional
(default: false)
If true, also count hidden components
countPoints : Bool , optional
(default: false)
If true, also count points (for points cloud)
countMergedVertices : Bool , optional
(default: false)
If true count all merged vertices in each tessellation
Returns:
-------
vertexCount : Int
The number of vertices
mergePartsByMaterials
mergePartsByMaterials(partOccurrences, /, mergeNoMaterials, mergeHiddenPartsMode, combineMeshes)
Merge a set of parts by materials
Parameters
----------
partOccurrences : OccurrenceList
Occurrence of the parts to merge
mergeNoMaterials : Boolean , optional
(default: true)
If true, merge all parts with no active material together, else do not merge them
mergeHiddenPartsMode : MergeHiddenPartsMode , optional
(default: 2)
Hidden parts handling mode, Destroy them, make visible or merge separately
combineMeshes : Boolean , optional
(default: true)
If true, explode and remerge the input parts by visible materials
Returns:
-------
mergedOccurrences : OccurrenceList
Resulting merged occurrences
selectByMaximumSize
selectByMaximumSize(roots, maxDiagLength, /, maxSize, selectHidden)
Select all parts meeting the criteria
Parameters
----------
roots : OccurrenceList
Roots occurrences for the process
maxDiagLength : Distance
If the diagonal axis of the bouding box is less than maxDiagLength, part will be selected. -1 to ignore
maxSize : Distance , optional
(default: -1)
If the longer axis of the box is less than maxLength, part will be selected. -1 to ignore
selectHidden : Boolean , optional
(default: false)
If true, hidden parts meeting the criteria will be selected as well