Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.


FeatureScript writers: Stop using println! And start using Report (New FeatureScript announcement)

jnewth_onshapejnewth_onshape Member, Onshape Employees Posts: 54
Actually, It's totally ok to continue using println!

But I wanted to introduce a new FeatureScript called Report that will help you control your featurescript notice area output. It's a bit hard to describe, so take a look at the HOWTO video below:


Report lets you control which messages get reported to the Notices area via feature, making it much easier to debug your code. You can specify importance (info, debug, or warn), and you can "key" messages so that only certain key messages get reported. This is a lot simpler than having to remove all your println statements before shipping your feature!

Here's the document, which includes some helpful examples: https://cad.onshape.com/documents/2e41d9b14474514b465272af/v/906eb0d4ca75f78b4e3515f4/e/f6a2d12db7090f97b92d54ea

Let me know what you think in the comments.


  • Options
    jnewth_onshapejnewth_onshape Member, Onshape Employees Posts: 54
    And a special thank you to @Evan_Reese for early review, feedback, and a cool icon! 
  • Options
    Evan_ReeseEvan_Reese Member Posts: 2,065 PRO
    I'm excited to use this on my next feature development! I wanna also give credit to whoever made the Featurescript Notices icon at Onshape because I remixed it for this.
    Evan Reese / Principal and Industrial Designer with Ovyl
    Website: ovyl.io
  • Options
    kevin_o_toole011kevin_o_toole011 Member Posts: 2
    Sweet! It will be great to standardize on a common system of doing this.

    One request: A simple FS function enableAllReports(). This lets an author get started writing with everything on by default (without needing to add an extra feature and navigate its UI), but then easily switch before shipping to only logging when needed.
  • Options
    jnewth_onshapejnewth_onshape Member, Onshape Employees Posts: 54
    That's a good idea @kevin_o_toole011, I like it.

    So the usage pattern would be:
    1. start FS writing
    2. add enableAllReports() in custom FS to turn everything on.
    3. Eventually get around to adding a Report feature to the feature tree in the test part studio.
    4. Remove the call to enableAllReports() (alternative: The Report feature itself ignores the directive if there is a report feature already active in the tree)

  • Options
    S1monS1mon Member Posts: 2,365 PRO
    For more info, @GregBrown did a video showing how he used the Report functionality.


  • Options
    Caden_Armstrong_Caden_Armstrong_ Member Posts: 22 PRO
    I like the idea, certainly helps to keep debug information hidden away but accessible for featurescripts pushed to production/users.

    Is there a reason that its not part of the standard library?
    Itd be a little bit easier to find if we just had to do an import(path:"onshape/std/report.fs", version:xxxx);
    Custom FeatureScript and Onshape Integrated Applications
  • Options
    jnewth_onshapejnewth_onshape Member, Onshape Employees Posts: 54
    I thought about it but it didn't seem like a typical fit for the standard library. Perhaps we can reconsider, if people use it a lot.
Sign In or Register to comment.