Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- 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.
Hey FeatureScripters - What would you like to see in an advanced FeatureScript tutorial?
jnewth_onshape
Member, Onshape Employees Posts: 85
Hey everyone, I'm Josh, one of the Part Studio developers. Recently I decided the community could use a more advanced tutorial to cover some of the trickier topics in FeatureScript: Queries, ids, transient ids, robust queries, tracking queries, etc. We could also cover common problems, gotchas, tips n' tricks, that sort of thing.
I thought I'd ask the community:
What specific obstacles do you need some help with? What specific topics would you like addressed (things like queries and ids)?
What problems have you encountered?
What do you find confusing about FeatureScript?
(And anything else that's on your mind about FS)
Post your comments below! I can't guarantee I'll be able to answer them in this forum but I'll try to work as many of the issues in to the tutorial as possible.
I thought I'd ask the community:
What specific obstacles do you need some help with? What specific topics would you like addressed (things like queries and ids)?
What problems have you encountered?
What do you find confusing about FeatureScript?
(And anything else that's on your mind about FS)
Post your comments below! I can't guarantee I'll be able to answer them in this forum but I'll try to work as many of the issues in to the tutorial as possible.
4
Answers
--Eldonb
How to check for FS stability? Such as when dealing with evEdgeTangentLines where in one case the parameters are reading in one direction but in another case it might read in the reverse direction.
understanding the different line types and when to use each and which is most similar to a sketches output. Also FitSplineType.Edge what is happening in the background? in some case before I combine the edges my edge has no inflections and then I use fitSpline and generate multiple inflections.
Best practices for documents. I have been told before the reason my document is not updated is because i have both FS and part studios in the same document. Can you give some feedback on how we should be storing our FS? how many tabs can we have? how many lines per tab?
Any best practices or tricks for using Editing Logic and Manipulators
Best practices for debugging, profiling, monitoring.
How does size of the definition affect the regeneration? I use definition for variables that I want to pull across my FS and sometimes that definition can get pretty large. Do you see this causing any regeneration issues as far as increasing the regen?
Any suggestions for getting over the "black box" affect where a FS may be used to create a process but if at any point that process fails the whole FS is now unusable to the user in their case? Do you have a suggestion on how to create stopping points in the code so that the user continue with their work without having to recreate the useable portion of the code?
Best practices for FS that work with sketches (either in the FS or as an import) and dealing with the "Initial state" where a sketch can flip tangencies or locations item elements based on the new value vs the initial state. And how we can check to see if the new value result in an error/change in constraints/shape.
I am sure I could think of more but I will start with that
FeatureScript library versions. If I have a part studio with 10 FS and each FS is calling a different library version, how does this affect the part studio? Should we be pushing out new releases every 3 weeks so that our FS are all calling the latest library or does it not matter because FS still calls a library so whether it is the old or new library there is no difference?
It would be good to have these in the course:
Can't remember if any of these are covered in the basic FS course.
Other things we need:
course does some of this, but we need one that focuses on coding fundamentals.
Learn more about the Gospel of Christ ( Here )
CADSharp - We make custom features and integrated Onshape apps! Learn How to FeatureScript Here 🔴
also: what is allowed/not allowed in the precondition.
definately id's, Id's, toplevel Id's etc. this is confusing stuff.
switch: i see it used in some other featurescripts but cannot find any info on it. (other than googling how it works in java)