cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X

Vuforia Studio and Chalk Tech Tips

Sort by:
Experience Service Added Entra ID Configuration Examples An Entra ID SSO configuration example was added to the Help Center. For more information, see Microsoft Entra ID Configuration Example in the Experience Service and Admin Help Center. Added Okta SSO Configuration Example An Okta SSO configuration example was added to the Help Center. For more information, see Okta Configuration Example in the Experience Service and Admin Help Center. Bug Fixes See Bug Fixes for additional information on bugs resolved in this release
View full tip
Experience Service Added Entra ID Configuration Examples An Entra ID SSO configuration example was added to the Help Center. For more information, see Microsoft Entra ID Configuration Example in the Experience Service and Admin Help Center. Added Okta SSO Configuration Example An Okta SSO configuration example was added to the Help Center. For more information, see Okta Configuration Example in the Experience Service and Admin Help Center. Bug Fixes See Bug Fixes for additional information on bugs resolved in this release
View full tip
Vuforia Studio ThingWorx 9.5 Support ThingWorx 9.5 is now supported in Vuforia Studio. New Observation for Stationary Objects Preset A new Observation for Stationary Objects preset is available for Advanced Views for objects that can be recognized from any angle when standing around the object, but not from below it. For more information, see Observation for Stationary Objects in the Vuforia Developer Library. Note: This new guide view replaces the 360 Dome guide view that was previously available. macOS Sonoma Support macOS Sonoma is now supported. Vuforia View RealWear HMT-1 Devices No Longer Supported Vuforia View is no longer supported on RealWear HMT-1 devices, as RealWear has announced that the HMT-1 devices are at end-of-life and will no longer receive firmware or security updates beyond v12.6. We encourage you to upgrade to RealWear’s Navigator series for continued device support from PTC. For more information, see RealWear’s RealWear HMT-1 and HMT-1Z1 End of Security Update support notice and Firmware Update and Support Policy. Bug Fixes See Bug Fixes for additional information on bugs resolved in this release
View full tip
Vuforia Studio 2D Rendering Updated from AngularJS to LitElement The 2D rendering in Vuforia Studio has been updated to use LitElement instead of AngularJS. Vuforia View RealWear RealWear has announced that RealWear HMT-1 devices are at end-of-life, and will no longer receive firmware or security updates beyond v12.6. As a result, we will be unable to fully support HMT-1 and HMT-1Z1 devices beginning in the upcoming 9.21.0 release. We encourage you to upgrade to RealWear’s Navigator series for continued device support from PTC. For more information, see RealWear’s RealWear HMT-1 and HMT-1Z1 End of Security Update support notice and Firmware Update and Support Policy. Bug Fixes See Bug Fixes for additional information on bugs resolved in this release
View full tip
You can rename a project to avoid overwriting an existing published project with the same name on your Experience Service. To Rename your project, open the project you want to rename and click on the project name in the header bar; the field will become editable. For additional information, see Rename a Project  Here are a few things you need to consider when renaming a project: Renaming an already published project creates a duplicate of the project that is unpublished; it does not rename the already published project on the Experience Service To avoid having multiple copies of the same project on your Experience Service, unpublish the original project before renaming it and publishing it. Once you rename an already published project, and then publish the renamed project, a new QR code is created (different from the originally published project's QR code)
View full tip
Vuforia Studio Known Issue: Unable to Upload Files to Vuforia Studio in Chrome for Mac OS There is currently a known issue in Chrome for Mac where users are unable to upload files to Vuforia Studio when using Chrome 122.0.0.0 and 123.0.0.0. If you are using either of the aforementioned versions of Chrome for Mac, please update to Chrome 123.0.6312.10 to resolve the issue. According to Google, this issue should be resolved in Chrome 124.0.0.0. For more information, see Google’s IssueTracker. New Project Overwrite Message When Publishing A new message appears when a user publishes a project that has the same name as an existing published project on the same Experience Service. Project Name Can Now Be Updated from the Header Bar within a Project Users can now rename a project by clicking on the project name in the header bar from within a project. Image Targets Now Generated at Runtime Image Targets are now generated at runtime, and no longer at design time. Note: If you’re using Vuforia View 9.16.0 or above, all existing projects and new projects should work as expected as this change is backwards compatible. However, experiences that contain an Image Target and have been created with Vuforia Studio 9.19.0 and above will not work properly when consumed with Vuforia View 9.15.0 and below. Performance Improvement to Uploading a CAD Model .glb files no longer appear under Resources to help improve performance when uploading a CAD file. Bug Fixes See Bug Fixes for additional information on bugs resolved in this release
View full tip
Vuforia Studio Project Name Now Available in Metadata Project name is now accessible through scripting in Home.js. Vuforia View Support for Android 14 OS Android 14 OS is now supported. Bug Fixes See Bug Fixes for additional information on bugs resolved in this release
View full tip
Vuforia Studio There were no new features or updates for the 9.17.0 version of Vuforia Studio Vuforia View HoloLens: Dynamic bounding box information is now available at runtime iOS: iOS/iPadOS 17 is now supported iOS/iPadOS 15 is no longer supported Experience Service Ability to disable publishing experiences for offline viewing Note: If your Experience Service is hosted by PTC Cloud Services, open a Technical Support case requesting to update the configuration Bug Fixes See Bug Fixes for additional information on bugs resolved in this release
View full tip
Currently in Vuforia Studio is not possible to create a dynamically widgets- on the fly - at runtime to add or to remove widgets. Better to say it is not possible in a supported way. So, the most supported approach which users can use - is to to create everything - different layouts version and to blank and to display them depending on the current inputs. In some cases, it is possible to use a functionality of repeat region to create reports. So, we can use repeater widget (container ) to show a ThingWorx InfoTables. So, the repeater are mostly intended to be linked to services /added in the external data section / which result are InfoTables. The infoTables itself are handled as JSON object in the AngularJS environment in Vofria Studio. Therefore, we can try to provide directly a data as global variable in Studio or we can read it via the http service from a project directory (e.g. upload). So the follow example will read a json file “ItemList.json"  from the upload  folder and will set to the variable $scope.itemList:   //Global Variables var pjson ="ItemList.json"; //JSON File Name without extension $scope.itemList={}; //global $scope variable gotJSON=function(data){ { $scope.itemList=JSON.parse(data);} catch(ex){ console.warn(ex);} } doRead=function (jsonFile){ fetch(jsonFile) .then(response=>response.text()) .then(data=>gotJSON(data)) } $scope.Init=function() { doRead('app/resources/Uploaded/'+pjson); } ///// $scope.$on('$ionicView.afterEnter',function(){ $scope.Init();}) //event: when 2d View loaded //the code will read the complette JSON File and //assignee it to a jsonData global variable     Of course  we can also use a static list to set it to a variable e.g. :     var ItemList = [ {"display":"France","id_num":0,"checked":true,"value":"Paris" ,"src":"test.svg","someText":"some Text123"}, {"display":"Italy","id_num":1,"checked":false,"value":"Rome" ,"src":"test1.svg","someText":""}, {"display":"Spain","id_num":2,"checked":false,"value":"Madrid" ,"src":"test2.svg","someText":""}, {"display":"UK","id_num":3,"checked":false,"value":"London" ,"src":"test3.svg","someText":""}, {"display":"Germany","id_num":4,"checked":false,"value":"Berlin" ,"src":"test4.svg","someText":"-->"}, {"display":"Norway","id_num":5,"checked":false,"value":"Oslo" ,"src":"test.svg","someText":""}, {"display":"Switzerland","id_num":6,"checked":false,"value":"Bern" ,"src":"test1.svg","someText":""}, {"display":"Greece","id_num":7,"checked":false,"value":"Athens" ,"src":"test2.svg","someText":""}, {"display":"France","id_num":8,"checked":true,"value":"Paris" ,"src":"test3.svg","someText":"other Text"} ];//some list got from anywhere   When we have the data in Studio as value of the scope variable or as global variable we can try to set it to an repeat region and create something similar as simple report:     The clue here is to set the list to an app parameter and to link then the application parameter to the repeater data and also to the different repeater elements /widgets in the row/columns of the repeater. This is not trivial because it is not intent usage of the repeater but for such simple case it will work       To be able to link the elements to the correct repeater row we need a filter. Here an example of filter function. I need a window area because this is the only way to pass variable between 2 different calls of the filter. Here an example for filter definition for a label:     //filter for the checkbox element //console.warn("filterLabel1"); if(!window.my_filter3) window.my_filter3=1; else { if(window.my_filter3>= value.length) window.my_filter3=1; else {window.my_filter3++;} } return(value[window.my_filter3-1]['someText']);     and here an examle definition  for a image widget:   //filter for the Image Widget element // //console.warn("filterImage1"); if(!window.my_filter3) window.my_filter3=1; else { if(window.my_filter3>= value.length) window.my_filter3=1; else {window.my_filter3++;} } return('app/resources/Uploaded/'+value[window.my_filter3-1]['src']);     With little more work we can also implement a function which could change the value on click - e.g. a checkbox to set it to true or false and to update the list:     //================================================================== $scope.changeValueInJson= function (obj,id_num,field2change, new_value) { if(new_value==undefined) return; try{if( obj[0][field2change]==undefined) return;}catch(wrong){console.error("error::"+wrong);return;} for (var i = 0; i < obj.length; i++){ if (obj[i]['id_num'] == id_num){ obj[i][field2change]= new_value;}} $scope.app.params["ItemList"] = ""; $scope.app.params["ItemList"] = JSON.parse(JSON.stringify(obj));//check value $scope.$applyAsync(); } //================================================================== twx.app.fn.clickItemInRepeater = function(item,list,isMultiSelect) { console.warn("called clickItemInRepeater()"); $scope.changeValueInJson(list,item.id_num,'checked', item.checked?false:true) console.log("clickItemInRepeater::ROW Selected:: "+JSON.stringify(item)) $scope.setWidgetProp('textArea-2','text',JSON.stringify(item)) $scope.$applyAsync(); }; //==================================================================     The callback twx.app.fn.clickItemInRepeater = function(item,list,isMultiSelect) {...  will fire when an element is clicked. At the end we will have a list with labels where  their  content and values and number of rows is defined from a Json object- here the number of row is flexible but the number of column is fixed. Of course, we can define more columns in a row and then with filter (similar to the example) to drive their visibility. A sample project demonstrating the suggested techniques is attached to this  this post.
View full tip
Vuforia Studio New Duplicate action available for views in an experience Usability and UI improvements to the New Project window Improvements to Image Target widget source validation to help users upload images that will result in reliable targets Support for ThingWorx 9.4 Vuforia View Bounding box and location information can now be generated for any model at runtime (iOS and Android) As of March 2024, you will no longer be able to install Vuforia View on devices running iOS 14. Experience Service New Project Access screen allows administrators to disable publishing projects with public access in Vuforia Studio Note: If your Experience Service is hosted by PTC Cloud Services, open a Technical Support case requesting to update the configuration Bug Fixes See Bug Fixes for additional information on bugs resolved in this release
View full tip
Vuforia Studio Improved messaging for Advanced Model Target status when publishing a project Vuforia View A new Show Tracking Status option is available from the menu within an experience. Possible statuses include: TRACKING IS STABLE TRACKING IS UNSTABLE REDUCE MOTION IMPROVE LIGHTING OBJECT OUT OF VIEW Experience Service (on-premises) There were no new features or updates for the 9.15.0 version of the Experience Service. Bug Fixes See Bug Fixes for additional information on bugs resolved in this release
View full tip
Vuforia Studio Bounding box and location information is now available in CAD metadata New RealWear Nav 520 option available in the custom canvas size drop-down list on the 2D canvas JavaScript properties now documented for all widgets Vuforia View Vuforia View is no longer supported on the following devices: Surface Pro 7 Surface Pro 6 Surface Pro 5th Gen (2017) Surface Pro 4 Surface Book Surface Go Surface Go2 Vuzix M400 Smart Glasses You may still be able to use Vuforia View to consume published experiences on these devices, but Technical Support will no longer be available. You should also expect that Vuforia View may stop working correctly on these devices after September 2023. Then, at the end of the year (2023), the following will happen for Windows and Vuzix devices: Vuforia View will be removed from the Windows Store. Vuforia View will be removed from Vuzix App Store. No updated versions of Vuforia View for Windows will be available on the PTC Software Downloads site; only older preexisting versions will remain. Experience Service There were no new features or updates for the 9.14.0 version of the Experience Service. Bug fixes See Bug Fixes for additional information on bugs resolved in this release
View full tip
Vuforia Studio New and improved Model Target widget allows more advanced configurations of Model Targets  including: Automatic coloring of Model Targets Simplification when a model is too complex (for Advanced Views) Ability to create multiple Advanced Model Targets You can now use a command prompt shortcut to configure Vuforia Studio to run over HTTPS Vuforia View RealWear Navigator 520 devices are now supported Experience Service (On-premises) Access to Vuforia Cloud Services to generate Advanced Model Targets is now available for on-premises installations of the Experience Service. For more information, see Request Advanced Model Target Generation. For more information about installing and deploying an Experience Service on-premises, see the Experience Service Help Center. Bug fixes See Bug Fixes for additional information on bugs resolved in this release
View full tip
As part of the Vuforia Studio 9.13.0 release, a new way to create and configure model targets is now available!    The updated Model Target widget allows users more configuration options within Vuforia Studio to ensure optimal tracking of their models. Advanced configuration options include:   Automatic coloring of Model Targets Simplification when model is too complex (Advanced Views only) Multiple Advanced Guide Views For additional information on these new options, see our Configure a Model Target Help Center topic.
View full tip
Vuforia Studio (Windows only) The ssl-settings.json file has been moved to the ProgramData directory for streamlined SCCM deployment. Note: This only applies to Vuforia Studio run over HTTPS. A new shortcut to configure HTTPS locally for Vuforia Studio is now available. For more information, see Vuforia Studio run over HTTPS. Vuforia View An updated version of Vuforia View was not released for 9.12.0. Experience Service There are no new features or updates for the 9.12.0 version of the Experience Service. Bug fixes See Bug Fixes for additional information on bugs resolved in this release
View full tip
Vuforia Studio Changes to Check for Updates functionality—You will no longer be automatically prompted with the Update Available window when a new version of Vuforia Studio is available. Beginning in version 9.11.0, you must manually check for updates by navigating to the Vuforia Studio menu in the upper-right corner, and selecting Check for Updates. Once the Check for Updates window appears, compare Your version with the version that is displayed above the list of new features. For more information, see Update Vuforia Studio to the Latest Version. Windows OS: Vuforia Studio is now available for download from the Microsoft Store (The legacy installer is no longer available on the PTC Software Downloads page). A new app package (appxbundle) installer is now available on the PTC Software Downloads page for installing in a closed network environment. (The legacy restricted installer is no longer available on the PTC Software Downloads page). Mac: The Check for Updates action is now available from the Vuforia Studio menu in the upper-right corner. For more information, see Update Vuforia Studio to the Latest Version. Vuforia View ios: Quickly take sharper pictures—Users can now turn advanced camera controls on and off to using the new Turn on Tap to Focus action available from the experience menu. When Tap to Focus is turned off, the focus of interest is automatically selected by the device’s automatic focus areas and exposure setting. When Tap to Focus is turned on, the Vuforia View user can manually select the focus of interest by tapping on a specific area of the screen. Note: By default, Tap to focus is turned off. As of September 2023, Vuforia View will no longer be supported on the following devices. For more detailed information, see the What's New in the Help Center. Surface Pro 7 Surface Pro 6 Surface Pro 5th Gen (2017) Surface Pro 4 Surface Book Surface Go Surface Go2 Vuzix M400 Smart Glasses Experience Service: There are no new features or updates for the 9.11.0 version of the Experience Service. Bug fixes See Bug Fixes for additional information on bugs resolved in this release
View full tip
Vuforia Studio NOTE: For information on how the new appx bundle can be deployed, see this post Vuforia Studio is now available for download from the Microsoft Store for Windows OS. While the existing Vuforia Studio installer will still be available in 9.10.0, we encourage you to use the new Microsoft Store download (appxbundle) that is now available, as the legacy installer will no longer be available on the PTC Software Download page with the next release of Vuforia Studio. A new app package (appxbundle) installer is now available on the PTC Software Downloads page for installing in a closed network environment on Windows OS. While the existing Vuforia Studio restricted (legacy) installer will still be available in 9.10.0, we encourage you to use the new app package installer that is now available on the PTC Software Downloads page, as the restricted (legacy) installer will no longer be available with the next release of Vuforia Studio. As of April 30th, 2023, the Vuforia Area Target Creator app will be deprecated and removed from the Apple App Store. We recommend extracting and saving all Area Targets from the Vuforia Area Target Creator app before this date. For information about retrieving your Area Targets, see the “Extracting Area Targets” section under Testing Area Targets. Going forward, we also recommend using the new Vuforia Creator app to create Area Targets. For more information about creating Area Targets for use with Vuforia Studio, see Create an Area Target. Vuforia View There are no new features or updates for the 9.10.0 version of the Vuforia View. Experience Service There are no new features or updates for the 9.10.0 version of the Experience Service. Bug fixes See Bug Fixes for additional information on bugs resolved in this release
View full tip
Vuforia Studio ATTENTION: A new Vuforia Studio Windows installer will be introduced in the first quarter of 2023. This will affect new installations and upgrades for both online and offline (restricted) installations. For more information about the changes, see our community announcement  Improvements to Advanced Model Target error handling to include more detailed information and resolutions Vuforia View There are no new features or updates for the 9.8.0 version of Vuforia View Bug fixes and minor improvements  Experience Service There are no new features or updates for the 9.8.0 version of the Experience Service
View full tip
Often, we need to display some sections, or we required to have a view of a x-section of the model. This is in generally no part of the current functionality but there are some approaches which could be helpful. In this article I want to mention 3 different approaches, which could be used but no one of them is really perfect:   1.) uploading different models -  so we can use an additional models for each cut and then we can change the model if you want to display a cut, it means you can make the one model not visible and the display the second model or vice versa.  I tested with cuts created in Creo Illustrate 5.0 and Creo View 5.0 but it seems that Vuforia Studio could not display them /neither as part of sequence or as static to the current figure:     The only possible  way in this example is to create in Creo an assembly cut /with option cut also on part level  and  then create from there a new .pvz model.  In this case this seems to work fine: :     2.) the second approach is to remove components  step  by step,  so to see the inner components when the outer components are blanked: All different components, which should be displayed or blanked, need to be defined as modelItem where we can set the visible property to true or false Is also possible to blank or display  a list of components where the list is defined in json file. This could be done with JavaScript code. In this case we do not need to define a modelItem widgets.  For more information you can check the post    3.)  The last most powerful option is to use a shader for the model Widget. So for example we can use some kind of clipping functionality of the model where we can set the x min and x max value or ymin and ymax or zmin and zmax value what should be displayed. This will create a clipping effect. So only the geometry which satisfy this criteria will be displayed.     How to achieve a clipping functionality using a shader. 3.1) define a shader - this requires creating a tmlText widget where we can define the shader Code. The code should be inserted into the text property of the tml widget For the clipping along x axis with planes which are parallel to the  YZ plain we need to define the following javascript with GLSL:   <script name="slice_world_based_x" type="x-shader/x-vertex"> attribute vec3 vertexPosition; attribute vec3 vertexNormal; varying vec3 N; varying vec4 vertexCoord; uniform mat4 modelMatrix; uniform mat4 modelViewProjectionMatrix; void main() { vec4 vp = vec4(vertexPosition, 1.0); gl_Position = modelViewProjectionMatrix * vp; vertexCoord = modelMatrix*vp; // the surface normal vector N = vec3(normalize(modelMatrix* vec4(vertexNormal,0.0))); } </script> <script name="slice_world_based_x" type="x-shader/x-fragment"> // this setting is needed for a certain use of properties precision mediump float; // determine varying parameters varying vec3 N; varying vec4 vertexCoord; // determine shader input parameters uniform vec4 surfaceColor; uniform float slicex; uniform float slicewidth; const vec3 lightPos = vec3(1.0, 2.2, 0.5); const vec4 ambientColor = vec4(0.3, 0.3, 0.3, 1.0); void main() { // calc the dot product and clamp based on light position // 0 -> 1 rather than -1 -> 1 // ensure everything is normalized vec3 lightDir = -(normalize(lightPos)); vec3 NN = normalize(N); // calculate the dot product of the light to the vertex normal float dProd = max(0.0, dot(NN, -lightDir)); // calculate current color of vertex, unless it is being clipped... // only geometry with coordinates which satisfy the condition below // will be displayed if ( vertexCoord.x > (slicex + slicewidth/2.0) || vertexCoord.x < (slicex - slicewidth/2.0) ) { discard; } else { // calculate the color based on light-source and shadows on model gl_FragColor = (ambientColor + vec4(dProd)) * surfaceColor; } } </script> Save the tml Text widget .     3.2) You can also define shaders for clipping along the Y and the Z axis. Here you can use the same shader javascript definition but you need to change the shader name and to modify the if  check respectively to the Y or Z coordinate:   <script name="slice_world_based_y" type="x-shader/x-vertex"> ... // calculate current color of vertex, unless it is being clipped... if ( vertexCoord.y > (slicex + slicewidth/2.0) || vertexCoord.y < (slicex - slicewidth/2.0) ) { discard; } else ...   To set the clipping values for different axes and to control it by   sliders we can use some code like this:   $scope.DIR="y"; $scope.slice = function() { var slicexCur = ($scope.view.wdg['slider-1']['value']/100.0)-0.5; var slicewidthCur = ($scope.view.wdg['slider-2']['value']/100.0); $scope.view.wdg['modelx']['shader'] = "slice_world_based_"+$scope.DIR+";slicex f "+ slicexCur + ";slicewidth f " + slicewidthCur; } //////////////////////////////////////////// $scope.$on('$ionicView.afterEnter', function(){ // Anything you can think of $scope.clickY() }); /////////////////////////////////////// $scope.clickX=function() { $scope.view.wdg['toggle-X']['value'] =true $scope.view.wdg['toggle-Y']['value'] =false $scope.view.wdg['toggle-Z']['value'] =false $scope.DIR="x" } $scope.clickY=function() { $scope.view.wdg['toggle-X']['value'] =false $scope.view.wdg['toggle-Y']['value'] =true $scope.view.wdg['toggle-Z']['value'] =false $scope.DIR="y" } $scope.clickZ=function() { $scope.view.wdg['toggle-X']['value'] =false $scope.view.wdg['toggle-Y']['value'] =false $scope.view.wdg['toggle-Z']['value'] =true $scope.DIR="z" } ///////////////////////////////////////   Here the slice() function is called in the slider change event (for the both slider widgets). For better understanding of the functionality you can review the attached Vuforia Studio project Here attached the improved version for HL. It is also approved by dev team.  slice_example.zip https://community.ptc.com/sejnu66972/attachments/sejnu66972/tkb_vuforiatechtips/48/4/slice_example.z... Another version (also for HL) attached here is the example   slice_example_using_ABCD  project – where the dev team demonstrates an efficient way showing how we can define a cutting plane via plane ABCD parameters (refer to  plane geometry equations : geometry https://en.wikipedia.org/wiki/Plane_(geometry)   To cover this functionality the dev team developed some studio extensions that  PTC customers can use instead.   That extensions widgets will handle reflections etc, and I it is recommend to use  those extensions .: https://github.com/steveghee/OCTO_Studio_extensions https://github.com/steveghee/OCTO_effects_extensions  
View full tip
Currently, we do not recommend using Vuforia Studio with Chrome 106.0.5249.91 or later and Microsoft Edge 106.0.1370.37 due to a major issue with Chromium; Google has been made aware of the issue. Until it is resolved, we recommend using older versions of Chrome or Microsoft Edge.   Vuforia Studio The Wayfinder widget is now out of beta and full access is available. Improvements to the Wayfinder widget include: A pop-up with information about the Wayfinder widget appears when the widget is added to an experience A new Looping property is available that returns a user to the first Waypoint in the array once the last Waypoint is reached Improved ribbon density Improved property names Default gaze vector is now 90 degrees from the surface that the Waypoint is mated to Improved text label design Vuforia View Target acquisition effect is available on all mobile platforms NOTE: The model recognition for Advanced Model Targets will be visualized by a snapping effect in the experience.  HoloLens 2: Wayfinder and Waypoints are now available for 3D eyewear experiences Experience Service There are no new features or updates for the 9.7.1 version of the Experience Service
View full tip
Vuforia Studio See Bug Fixes Vuforia View HoloLens: Vuforia View for HoloLens now users Vuforia Engine 10.8 Bug fixes and minor improvements Experience Service There are no new features or updates for the 9.6.0 version of the Experience Service
View full tip
Announcements