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

Community Tip - Stay updated on what is happening on the PTC Community by subscribing to PTC Community Announcements. X

Vuforia Studio and Chalk Tech Tips

Sort by:
How to create a custom button pressable on HoloLens device? We can create a customer button/button panel on HoloLens performing the following steps: Create a model with button and panel / it could be a panel with more buttons. In this example I used Creo Parametric for the 3d model creation – I estimated for this sample model I needed  30 – 60 Minutes .   The assembly above consist of 3 parts, panel and button. The panel is a part with a pattern of hole feature - in case that we need a circular button. If we need a button with other shape we could use a pattern of cut features     Here in this example I created a button which is circular and has a text which is a cut of the top surface. To have a different button’s I created a family table where a parameter for the text was added. I used the parameter in a relation to change the text in the cut.     Later I added the panel in a new component as default placement and added to each hole feature a button as repeat component. After all components are added to the assembly (the generic part)  we can replace each component (the generic part - the part which defines the family table) by the family table instance - so to have a buttons with different texts. Above we can see in the picture that in the instance "BUTTON3D_15" we have the value “BN15” for the parameter BNTTXT  which is displayed in the button text.     I attached the assembly (created in Creo Parametric 6.0). You can open the button part (button3d.prt) and edit the family table - the values of the parameter BNTTXT - to have other text values for the different buttons. Then you need to verify and to regenerate the part. Please, pay attention, that the text should be should be not so long , because the button top surface is small The last point here is to export /save as / the assembly to pvz format   2.) Create a Vuforia Studio project for HoloLens device. For the button panel we need to add a new modelWidget and for each button we can define a modelItem widget:     To make the project now to work we need to define a JavaScript code. Here the code is define in the Home.js define the callback function for the click on a button event/action: //============================================================ $scope.app.clickButton= function(target) //work of ModelItem widgets { var zDelta=0.035 var buttonReactionTime=1.2 if($scope.view.wdg[target.toString()].opacity==0.8) return; //ignorre the double click if(!target.toString().startsWith("bnt")) {console.log("not bnt button");return;} //extracts only the number of the string var btnNr= parseInt(target.toString().replace(/bnt/g,'')); console.log("btnNr="+btnNr) var currZvalue=$scope.view.wdg[target.toString()].z +zDelta console.log("1.).currZvalue="+currZvalue) $scope.setWidgetProp( target,"z",currZvalue) $scope.setWidgetProp( target, 'color', "rgba(255,0,0,1.0)") $scope.setWidgetProp( target, 'opacity', 0.8) $scope.$applyAsync(); $timeout(()=>{ currZvalue=$scope.view.wdg[target.toString()].z -zDelta console.log("2.).currZvalue="+currZvalue) $scope.setWidgetProp( target,"z",currZvalue) $scope.setWidgetProp( target, 'color', "rgba(3,255,22,1.0)") $scope.setWidgetProp( target, 'opacity',0.4 ) $scope.setWidgetProp( "3DLabel-1", 'text', $scope.view.wdg["3DLabel-1"].text+btnNr) $scope.$applyAsync(); },buttonReactionTime*1000) } //============================================================ In this function we have as input the target / this is the modelItem widget clicked - here the button/. The function will move the button in Z direction , will change it's color and will add the button text to a label /some kind as input/. After some delay it will move the button back and will set the color to the old value The next definition is the definition of the listener which will handle the button click and will call the button callback function for the clicked item: //============================================================ $scope.userpickDef= function() { // define the button action document.addEventListener('userpick', function (ev) { var widget = ev.target.closest('twx-widget'); if (widget) { console.log('*->the widget clicked is ', widget.getAttribute('widget-id')); $scope.app.clickButton(widget.getAttribute('widget-id').toString()) } else { var widget = twx.app.getScope(ev.target); if (widget) { console.log('**->the widget clicked is ', widget._widgetId, widget); $scope.app.clickButton( (widget._widgetId).toString()) } } }); }; //============================================================   finally we need to add a setup code which we could call e.g. on modelLoad event:   $rootScope.$on("modelLoaded", function() { $scope.view.wdg['btnPanel'].shader = "xray"; $scope.view.wdg['btnPanel'].occlude = 0.2; for(var i=1 ; i<=15; i++) { var wdgName = "bnt"+i.toString(); $scope.setWidgetProp( wdgName, 'color', "rgba(3,255,22,1.0)") $scope.setWidgetProp( wdgName, 'opacity', 0.4) } $scope.$applyAsync(); $scope.userpickDef(); }); Here we could set the opacity and the color of all buttons and define the button click listener. I added to this post the Creo Parametric Assembly model, the panel model as pvz and the demo project. 
View full tip
The Portal Login/Auto-Configure option within Vuforia Studio is designed to help Trial users  configure their Studio instance with their assigned Experience Service and ThingMarks.    Corporate networks may block communication to the Vuforia portal or the assigned Experience Service.  If you receive any of the below errors, follow our the resolution steps in our Knowledge Base article Vuforia Studio failed connection issues Auto Configuration failed and get message to Check log for errors Error: connect ETIMEDOUT <ip address> Error: read ECONNRESET If a proxy is in use on the network, it must also be configured within Vuforia Studio as Studio does not  inherit browser proxy settings. A protocol must be used when defining the proxy URL within Studio. Proxy configuration can be done on the Settings menu option.      
View full tip
Often issues connecting to the Thingworx Experience Service from Thingworx Studio are related to more complex proxy configurations. One such configuration uses a .pac script that dynamically resolves the proxy based on the requested URL. Thingworx Studio has the ability to configure a proxy server but you have to explicitly specify one server URL, you can't replicate the settings in your internet connections when these use a .pac script. No worries - there is a workaround - Proxy-Vole at your rescue!   You can find Proxy Vole (https://proxy-vole.kenai.com/ ) on the Internet. It is a little java-based application that can be used to auto-resolve your proxy configuration. It has a command line and a UI frontend. The documentation is somewhat unstructured - for the test you only need a few of the steps: Download the Proxy Vole jar-with-dependencies Start the proxy vole application in a command shell using the following command: java -cp ./proxy-vole-1.0.1-jar-with-dependencies.jar com.github.markusbernhardt.proxy.ui.ProxyTester Enter the following in the dialog box: 4. Specify the resulting proxy URL in Thingworx Studio: That's it! If you still have issues, please post the log on the Developer Forum site.  
View full tip
Hi,   we can do many tricks with Javascript in Studio and most of the times it's just a matter of copying & pasting the right code.   I'd like all Studio users, not just coders, to benefit from this, and thought I could drop here a snippet to blink a widget.    I call this a quark - from the particle physics standard model - and not atom, because it's really a smaller building block than an atom    Blinking a widget can be useful, for example, if you are not using Creo Illustrate to create a sequence but still want to draw the user attention to some item in the scene.     Here's the Javascript code to copy & paste to your Home.js:  (to Javascript coders: I'm using modern Javascript syntax, don't be frightened by that )   $scope.blink = function(widget, times, interval) { let w = (widget.visible !== undefined ? widget : $scope.view.wdg[widget]); if (!w || w.visible === undefined) { throw "Cannot blink this widget"; } $interval(() => w.visible = !w.visible, interval, times); }    Invoke the function like this:   blink(widget, times, delay); where widget is either the id of the widget (e.g. modelItem-1) or the widget itself (e.g. $scope.view.wdg['modelItem-1']). The other two numbers are the number of times that you want visibility to change, and the amount of milliseconds between each visibility change.     Here follow some examples.   You want to blink the widget 4 times with a 300 ms interval (and leave the widget visible at the end): blink('modelItem-1', 2*4, 300);   You want to blink the widget 4 times with a 300 ms interval (and leave the widget not visible at the end): blink('modelItem-1', 2*4+1, 300);   You can comment and suggest additional quarks if you want.   Alessio  
View full tip
This is the third JavaScript quark in the series: it can be used to change a widget color by cycling through a given array of colors. You can find the second quark here.   Here's the code to copy & paste to your Home.js:   $scope.cycleColors = function(widget, colors, time, interval) {   let w = (widget.color !== undefined ? widget : $scope.view.wdg[widget]);   if (!w || w.color === undefined) { throw "Cannot color-cycle this widget"; }   let originalColor = w.color;   w.color = colors[0];   w.visible = true;   w.opacity = 1;    let nSteps = Math.ceil(Math.floor(time/interval) / colors.length) * colors.length;   return $interval(iterationCount => w.color = iterationCount === nSteps ? originalColor : colors[iterationCount % colors.length], interval, nSteps); } This JavaScript quark will make the widget color cycle through the colors provided in the colors array. The effect will last time milliseconds, and each color change will happen every interval milliseconds.   Invoke the function like this:   cycleColors(widget, colors, time, interval);   where widget is either the id of the widget (e.g. modelItem-1) or the widget itself (e.g. $scope.view.wdg['modelItem-1']), colors represents an array of colors (e.g. ["rgba(200,0,0,1)", "rgba(0,0,200,1)"]), time represents the total time in milliseconds it takes to execute this effect, and interval represents the amount of time in milliseconds between each color change.   Here's an example:   cycleColors("modelItem-1", ["rgba(200,0,0,1)", "rgba(0,200,0,1)", "rgba(0,0,200,1)"], 2000, 50); This example cycles the model item color through red, green and blue; the effect will last for 2 seconds with a color change every 50 ms.   Comments and suggestions are welcome.   -Alessio  
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
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 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
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
Vuforia Studio A beta version of the new Wayfinder widget is now available! The Wayfinder widget allows you to place Waypoints that help lead users towards a specific part of a model or place in their environment. Before you can start trying out the Wayfinder widget, you'll need to enable the widget so that it is displayed in your Widget panel. The following Creo Illustrate sequence properties are now exposed in Vuforia View for HoloLens 2 devices when stepStarted and stepCompleted events are triggered: stepDescription and duration. Vuforia View Windows: Update Vuforia View to the latest version to resolve an issue with the app crashing when gallery experiences are opened. Experience Service There are no new features or updates for the 9.5.0 version of the Experience Service.
View full tip
Vuforia Studio New Page Size property for the 3D Document widget allows you to select automatic sizing based on common paper sizes Improvements to tooltips throughout the user interface to provide more details information Bug fixes Issues with occurrence path definitions have been resolved Model training processing issues for Advanced Model training have been resolved Sequence hiding issues in Preview mode have been resolved; the model is now properly hidden when configured correctly Issues with property values not being loaded to Vuforia Studio when the Experience Service is run as HTTP have been resolved Vuforia View Vuforia View is no longer supported on HoloLens (1st gen) devices. Support for HoloLens 2 devices will continue uninterrupted Bug Fixes HoloLens 2 Auto-focus issue resolved Issues with Creo Illustrate animations have been resolved Navigation issues and possible process problems when switching views have been resolved Guide views now appear correctly in new experiences that contain Area Targets Windows Auto-focus issue resolved Issue with app freezing when opening certain Gallery experiences has been resolved iOS Auto-focus issue resolved QR Code recognition issue that prevented users from opening experiences with long names has been resolved RealWear Auto-focus issue resolved Issue with Up and Down commands being unresponsive on Library page has been resolved Experience Service Studio Client ID is now configurable when installing an Experience Service with SSO authentication Ability to configure one instance of ThingWorx with multiple Experience Services Bug Fixes Experience Services configured to use SSO can now be validated in Vuforia Studio
View full tip
Vuforia Studio New and Improved Model Target widget allows you to generate Advanced Model Targets for PTC Cloud-hosted Experience Services that have been enabled Vuforia Studio OS support: macOS Monterey is now supported macOS Catalina is no longer supported Bug fixes and minor improvements Vuforia View Experiences can now contain an Advanced Model Target, allowing you to view and track an object from any angle RealWear: Support for RealWear Navigator 500 Bug fixes and minor improvements Experience Service Bug fixes and minor improvements
View full tip
Vuforia Studio Improvements to Model Targets when both Static Object and Car Mode are selected to provide more accurate tracking NOTE: In particular, this affects more challenging reflective objects with less features Improved memory usage, in particular, for projects using large models with multiple views Mac: macOS Big Sur is now supported OS X El Capitan is no longer supported Bug fixes and minor improvements Vuforia View Model Targets have been improved to provide more accurate tracking, in particular for more challenging reflective objects with less features Android: If not already installed, Vuforia View will prompt you to install Google Play Services for AR (ARCore) to enable better AR performance iOS Vuforia View is no longer supported on iOS 13 Bug fixes and minor improvements Experience Service Bug fixes and minor improvements
View full tip
Vuforia Studio New 3D Document widget for 3D Eyewear projects which provides users access to PDF documents within the contest of an experience Bug fixes and minor improvements Vuforia View Ability to access PDF documents within the context of an experience on a HoloLens device Vuforia View is no longer supported on Vuzix M300 devices Vuforia View will no longer support iOS 13 as of March 2022 Bug fixes and minor improvements Experience Service Ability to configure system users' acess using application keys rather than IdP users (SSO) Bug fixes and minor improvements  
View full tip
Vuforia Studio Ability to set the distance of the 3D Audio and 3D Video widgets that have the Tagalong property enabled New ways to move around the space in your Area Target on the 3D canvas using your keyboard Support for Windows 11 Bug fixes and minor improvements Vuforia View Support for Windows 11 Bug fixes and minor improvements Experience Service Bug fixes and minor improvements
View full tip
Vuforia Studio Bug fixes and minor improvements Vuforia View RealWear: With the Vuforia Studio 9.2.2 release, you will need to update your RealWear firmware to 12.1, as we are discontinuing support for RealWear 11.2 and 12.0. Updating to RealWear 12.1 will provide access to the most up-to-date features and support. Once you've updated to 12.1, republish your 2D eyewear projects with the latest release of Vuforia Studio - version 9.2.2. This update to RealWear firmware and republishing your projects will resolve the known issues with voice commands and widgets. HoloLens: Resolved issues with sequence order and coloring Improvements to text size and display of 3D buttons Bug fixes and minor improvements Experience Service Bug fixes and security improvements
View full tip