PointCloud : GeometryClass

PointCloud - superclass: GeometryClass; super-superclass:node - 26:0 - classID: #(1603164340, 469842767)

The PointCloud GeometryClass object allows the loading of point cloud (e.g. LIDAR) data in Autodesk ReCap format in 3ds Max. Available in 3ds Max 2015 and higher.

   

Constructor:

PointCloud...

Properties:

Point Cloud Source rollout > Scan File group of controls

<PointCloud>.filename     String    default: ""   --  filename; Load_Point_Cloud

Get/set the point cloud source filename.

Valid file formats are Autodesk Reality Capture Project .RCP and Autodesk Reality Capture Scan .RCS files.

.RCS scan files contain actual point data.

.RCP project files contain references to one or more .RCS files registered together in Autodesk ReCap.

   

<PointCloud>.scanFiles     ArrayParameter    default: #()   --  filename array; SubAnim

A filename array of the .RCS scan files referenced and loaded by the .RCP project file assigned to the .filename property.

If an .RCS scan file is assigned to the .filename property, its name will be the only element of the array.

Not exposed to the UI.

Read-only.

Display rollout > Color Channel group of controls

<PointCloud>.displayTechnique     Integer    default: 0   --  integer

Get/set the selection of the Color Channel drop-down list.

Possible values are:

0 - True Color (default)

1 - Single Color

2 - Normal Ramp

3 - Elevation Ramp

4 - Intensity Ramp

   

<PointCloud>.singleColor     Color    default: (color 0 0 255)   --  animatable; RGB color; Controller Scaling: ([1,1,1] : (color 255 255 255))

Get/set the single color used for all points when the property .displayTechnique is set to 1 - SingleColor.

   

<PointCloud>.gradientTexmap     Gradient_Ramp    default: Map #1:Gradient Ramp   --  texturemap; SubAnim

Get/set the Gradient Ramp texture map used when the property .displayTechnique is set to 2 - Normal Ramp, 3 - Elevation Ramp or 4 - Intensity Ramp

   

Display rollout > Level Of Detail Settings group of controls

<PointCloud>.performanceQuality     Integer    default: 4   --  integer

Get/set the Performance vs. Quality slider's value.

Valid range is between 0 (high performance, low quality) and 8 (high quality, low performance).

Default is 4, balanced performance and quality.

   

<PointCloud>.fixedLODEnable     BooleanClass    default: false   --  boolean; Fixed_LOD_Enable

Get/set the state of the "Fixed in Rendering" checkbox.

   

<PointCloud>.fixedLODLevel     Integer    default: 1   --  animatable; integer; Fixed_Level_of_Detail

Get/set the value of the "Level Of Detail" spinner.

   

Display rollout > Point Display group of controls

<PointCloud>.pointSizeType     Integer    default: 0   --  integer

Get/set the state of the "Point Display" radio buttons.

Possible values are:

0 - As Pixel (default)

1 - Real-World Scale

   

<PointCloud>.asPixelPointSize     Float    default: 1.0   --  animatable; float; As_Pixel_Point_Size

Get/set the value of the "As Pixel" spinner.

   

<PointCloud>.realWorldScalePointSize     Float    default: 0.05   --  animatable; float; Real_World_Scale_Point_Size

Get/set the value of the "Real-World Scale" spinner.

   

Limit Box & Volumes rollout > Limit Box group of controls

<PointCloud>.enableLimitPlanes     BooleanClass    default: true   --  boolean

Get/set the state of the "Enable Limit Box" checkbox.

   

Limit Box & Volumes rollout > Display Volumes group of controls

<PointCloud>.GlobalEnableVolumes     BooleanClass    default: false   --  boolean; volumeGlobalEnable

Get/set the state of the "Use Display Volumes" checkbox.

   

<PointCloud>.VolumeObjects     ArrayParameter    default: #()   --  node array; Volume_Object; SubAnim

Get/set the node array of volumes to use when the .GlobalEnableVolumes property is set to True.

   

<PointCloud>.GlobalInvertVolumes     BooleanClass    default: false   --  boolean; volumeGlobalInvert

Get/set the state of the "Invert" checkbox.

   

FOR EXAMPLE:

--Create a Point Cloud object at the world origin:
pc = PointCloud()
--> $PointCloud:PointCloud001 @ [0.000000,0.000000,0.000000]

--Load the sample project installed by Autodesk ReCap:
pc.filename = @"C:\ProgramData\Autodesk\Autodesk ReCap\Sample\AutodeskReCapSampleProject.rcp"
--> "C:\ProgramData\Autodesk\Autodesk ReCap\Sample\AutodeskReCapSampleProject.rcp"

--Query the scan files loaded by the project:
pc.scanFiles
--> #("C:\ProgramData\Autodesk\Autodesk Recap\Sample\AutodeskReCapSampleProject Support\techshop_012.rcs", "C:\ProgramData\Autodesk\Autodesk Recap\Sample\AutodeskReCapSampleProject Support\techshop_013.rcs")

--Create some geometry to use as Display Volumes:
s1 = Sphere radius:50 pos:[-50,0,0]
--> $Sphere:Sphere001 @ [-50.000000,0.000000,0.000000]
b1 = Box pos:[-50,-80,0] width:60 length:40 height:50
--> $Box:Box001 @ [-50.000000,-80.000000,0.000000]
pc.VolumeObjects = #(s1,b1)
--> #($Sphere:Sphere001 @ [-50.000000,0.000000,0.000000], $Box:Box001 @ [-50.000000,-80.000000,0.000000])

--Enable the display volumes, invert to cull inside the volumes:
pc.GlobalEnableVolumes = true
--> true
pc.GlobalInvertVolumes = true
--> true

--Increase the quality at cost of performance and increase the pixel point size
pc.performanceQuality = 6
--> 6
pc.asPixelPointSize = 4.0
--> 4.0

--Display using an Elevation ramp map
pc.displayTechnique = 3
--> 3

 

   

For Internal Use Only

<PointCloud>.volumeType     Integer    default: 0   --  integer; volume_Type

Get/set the volume type.

   

<PointCloud>.voxelSize     Float    default: 1.0   --  animatable; float

Get/set the Voxel Size value.

   

<PointCloud>.sphereVolumeRadius     ArrayParameter    default: #()   --  float array; SubAnim

Get/set the array of volume object sphere radii.

   

<PointCloud>.volumeObjectToWorld     ArrayParameter    default: #()   --  point3 array; SubAnim

Get/set the array of volume object to world offsets.

   

<PointCloud>.xRangeLow     ArrayParameter    default: #()   --  float array; SubAnim

Get/set the list of minimum X values.

<PointCloud>.xRangeHigh     ArrayParameter    default: #()   --  float array; SubAnim

Get/set the list of maximum X values.

   

<PointCloud>.yRangeLow     ArrayParameter    default: #()   --  float array; SubAnim

Get/set the list of minimum Y values.

<PointCloud>.yRangeHigh     ArrayParameter    default: #()   --  float array; SubAnim

Get/set the list of maximum Y values.

   

<PointCloud>.zRangeLow     ArrayParameter    default: #()   --  float array; SubAnim

Get/set the list of minimum Z values.

<PointCloud>.zRangeHigh     ArrayParameter    default: #()   --  float array; SubAnim

Get/set the list of maximum Z values.

   

<PointCloud>.Shader     UndefinedClass    default: undefined   --  texturemap; GeomShader

Get/set the Point Cloud Shader assigned to the object.