A centralized collection of script modules for use in the visualization logic of any visualization project. Uses the official Tacton CPQ VizStudio API to make things happen in the 3D scene. Detailed documentation for all modules can be found in docs
- Vector3 - Math for 3-dimensional vectors
- Translations - Framework for managing localization texts.
- Measurements3d - Draw measurements via core.sketches in 3D space (world space).
- Measurements2d - Draw measurements via core.sketches in 2D space (screen space).
- Labels - Draw text labels via core.sketches pointing to 3D or 2D locations.
- SelectionHelper - Display helpful information when selecting things in 3D.
- AssetFamilies - Verify that certain assets have certain docking points.
- DockingTreeAnimation - Automatically animate the docking hierarchy of any project. Limited customizability.
- GetDockingTree - A single function which creates a JSON representation of the docking hierarchy of a scene.
- Parts - A powerful abstraction layer in dealing with and keeping track of mesh scene contents.
- CameraFocus - Focus the camera on specified scene contents.
- DirectAnimationPlayer - Linearly animate a single property of a scene object from one value to another.
- SyncAnimationsPlayer - Play multiple keyframe animations simultaneously across multiple parts with a single completion callback.
- AnimationKeyFrameRecorder - Development tool for recording scene property values over time and producing keyframe datasets for SyncAnimationsPlayer.
Download a release .zip archive and extract it into the visualLogic folder of your local VizStudio project files.
VisLogicUtilities offers several different modules which should only be included as needed! You can include the modules like any other module. Just make sure the path is correct:
//any file in vislogic
//import
import { Measurements3d } from "./VisLogicUtilities/src/measurements3d/Measurements3d.js";
import { Vector3 } from "./VisLogicUtilities/src/vector3/Vector3.js";
//use
Measurements3d.draw({
point1: new Vector3(0, 0, 0),
point2: new Vector3(2, 2, 2),
axis: "x",
distanceFunction: function(distance){
return Math.round(distance);
}
});npm install
npm test
For a detailed guide on how to develop and test your own modules, see the contribution guide