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 User Community Spotlight

12346

Comments

  • MBartlett21MBartlett21 Member, OS Professional, Developers Posts: 2,034 EDU
    Correct.
    mb - draftsman - also FS author: View FeatureScripts
    IR for AS/NZS 1100
  • mahirmahir Member, Developers Posts: 1,291 ✭✭✭✭✭
    romeo_graham392 said:

    This looks like it's getting close to SolidWorks' Indent feature. Any chance you can take a body as an input, and wrap the wall thickness around it? 
    That's definitely doable, but time is pretty scarce these days. Perchance some other kind soul will grant your FS wish?
  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    So while we waiting for some functionality to make mirrored assemblies I made a little FS which performs mirror transform of the body in combination with mirroring selected mate connectors, for each of them you can select one of 4 possible orientation options . This workflow in combination with part studio and assembly configurations and part studio mate connectors allows to automate mirror assembly creation to some extent.
  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    After Implicit mate connectors appeared I finally found a way to assign a MC at the same position to the several parts at time.
    https://cad.onshape.com/documents/5d8da63844bedebe5cff72b1/w/96a36142be717fc84a504e3f/e/629230d0d394845d93416361
  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    Added a few more options into v5 of MultiMateConnector feature:
    - "Triad" option creates two additional mate connectors with the same origin but in directions of X and Y axes of first mate connector
    - "Construction" option allows to create MC without need to create and select any owner body.
  • neobobkrauseneobobkrause Member Posts: 105 EDU
    edited March 2020
    I've just made public an initial version of Meta Sculpt based on the excellent Sculpt Face feature by @maximilian_schommer. In this update, Meta Sculpt allows users to sculpt a face by adjusting the underlying surface using point and arrow manipulators. Multiple points are selected and deselected by clicking on them. Arrows are used to move all selected points. Only arrows at the last selected point will be shown, though all arrows can optionally be shown. Movement of points can snap to an optional distance quantum. A tab of the document is a short documentation PDF.
  • owen_sparksowen_sparks Member, Developers Posts: 2,660 PRO
    I've just made public an initial version of Meta Sculptmaximilian_schommer excellent Sculpt Face feature. In this update, Meta Sculpt allows users to sculpt a face by adjusting the underlying surface using point and arrow manipulators. Multiple points are selected and deselected by clicking on them. Arrows are used to move all selected points. Only arrows at the last selected point will be shown, though all arrows can optionally be shown. Movement of points can snap to an optional distance quantum. A tab of the document is a short documentation PDF.

    Hi.  Looks great :+1:
    Not sure if it's just me but the pdf doesn't display.
    Cheers,
    Owen S.
    Business Systems and Configuration Controller
    HWM-Water Ltd
  • romeograhamromeograham Member Posts: 656 PRO
    @owen_sparks
    Might be just you - PDF displays for me just fine.
    Might be time to reboot your equipment (or at least restart Chrome)  ;)
  • romeograhamromeograham Member Posts: 656 PRO
    @konstantin_shiriazdanov
    Those are great additions! Now, if only we could get the "triad" functionality in Assemblies...

    Nice work.
  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    edited March 2020
    Path pattern - alternative curve patterning feature with some different way of transform evaluation and way more options for instance count definition and instance orientation:
    - Set reference checkbox allows to define a vertex or mate connector to locate zero parameter on the path at the closest path point.
    - Reverse path option does exactly what you think  :)
    - Instance number definition has three options to define instance number of the pattern:
    1. By range of Start, End and Count. Start and End can be either lengths or unitless length parameters.
    2. By length step and counts in both directions.
    3. By array of nonregular lengths or unitless length parameters.
    - Skip start instance option allows to omit pattern instance creation if it coincides with seed instance - checked by default.
    - Instance orientation options:
    1. Local tangetnt - uses transform from initial tangent to local path tangent line.
    2. Initial tangent - keeps orientation.
    3. Normal and tangent - requares reference faces to keep instance orientation in coordinate system defined by path tangent line and surface normal at the line origin.


  • neobobkrauseneobobkrause Member Posts: 105 EDU
    edited March 2020
    In the last week or so I released an initial version of the Meta Sculpt FS that extends the features of Sculpt Face. Based on feedback, I'm adding new features that will, among other things, allow the feature to be configurable. Problem is, updating to the newer version, which I haven't released yet, will break the uses of the earlier version. Mind you, it would seem that only 5 users have added Meta Sculpt to their toolbar as of this moment.

    But what is the convention/etiquette for making incompatible changes to a custom FS?

    Thanks,

    - Bob
  • NeilCookeNeilCooke Moderator, Onshape Employees Posts: 5,308
    @neobobkrause if you update a FS, it will flag as out of date for anybody that has used it in a Part Studio. It is not mandatory to update features (although the blue icon can feel a bit nagging). If the new version breaks the model they can undo to the previous and leave it. Etiquette? That’s a hard one. You can put out release notes explaining what might happen. 

    What are you changing that will break the old feature so badly?
    Senior Director, Technical Services, EMEAI
  • neobobkrauseneobobkrause Member Posts: 105 EDU
    The new version of this Meta Sculpt script that I'm just finishing up the new documentation for will allow users to group sculpting changes made to a face as a set of "actions." For example, the screenshot below shows the top face of a cylinder being sculpted using two actions. The first action raises two selected points [0,2] up an inch. The second action lowers point [1] by 1.5 inches.

    The changes needed to support this new "action" construct required that I refactor the model in incompatible ways. I put a little bit of thought into preserving the elements of the old model and adding code to automatically evolve data from the old "schema" into the new one. And if there were 100 users, I'd consider it, but with only 5... I just want to do the right thing from a balanced perspective. But this group of experienced scripters say, "Don't worry about it?"

    - Bob
    .





  • romeograhamromeograham Member Posts: 656 PRO
    @neobobkrause
    I've added this script (because it looks useful) but I haven't used it yet personally - so if you update it, and the update breaks older features, it's no problem for me.
    Also - if your documentation clearly identifies the changes you've made to the workflow (and it's clear how to end up with the same result with the new version) I'd expect the users of your FS will be able to adapt to the new version.

    Keep making it better!

    Romeo
  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    A little feature to calculate center distance for a pair of involute gears with a number of common gear parameters, should match most of national standarts: Gear center distance

  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    edited March 2021
    Not a feature, but a pretty usefull cubic interpolation function implemented in featurescript. Seems like onshape uses a fast enough inverse matrix algorhytm, to make this possible even without procedural solving linear system.
    interpolation(x is array, y is array) returns function
    //usage
    var x = [1, 2, 3, 4, 5];
    var y = [2, 1, 3, 2, 4];
    var s = interpolation(x, y);
    //now s is function which returns number and can be called with any numeric argument in between xMin and xMax




  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    So after the discussion with @bryan_lagrange made this tool for developing ruled surfaces: Unwrap ruled segment. It's based on unwrapping of triangular net. It worked surprisingly well in the cases I tested it on.



  • rodrigo_rivas_costarodrigo_rivas_costa Member Posts: 10 ✭✭
    Hi! I'm new here, and I'd like to show my  Globoid Worm Gear generator.



    Since this is my first finished FeatureScript, I'd like to get feedback about anything that can be improved.
    --
    Rodrigo

  • Evan_ReeseEvan_Reese Member Posts: 2,060 PRO
    edited April 2021
    In the last week or so I released an initial version of the Meta Sculpt FS that extends the features of Sculpt Face. Based on feedback, I'm adding new features that will, among other things, allow the feature to be configurable. Problem is, updating to the newer version, which I haven't released yet, will break the uses of the earlier version. Mind you, it would seem that only 5 users have added Meta Sculpt to their toolbar as of this moment.

    But what is the convention/etiquette for making incompatible changes to a custom FS?

    Thanks,

    - Bob
    Late to the party, but I second what others are saying here. As someone who uses your feature, I'd say don't worry about breaking it. If it breaks when I update it I'll just undo the update and leave it. I'd rather you work with as few limitations as possible to make it as awesome as possible.
    Evan Reese / Principal and Industrial Designer with Ovyl
    Website: ovyl.io
  • Evan_ReeseEvan_Reese Member Posts: 2,060 PRO
    Hi! I'm new here, and I'd like to show my  Globoid Worm Gear generator.


    Since this is my first finished FeatureScript, I'd like to get feedback about anything that can be improved.
    --
    Rodrigo

    Looks awesome! I'm going to add it and play with it soon. I skimmed the code and noticed you set up all of the unit bounds as constants. Since most of them are used only once, I usually just write them into the parameter like this instead, mostly just for brevity, but it's easier to find and update if I want to change the default units or something. Granted, if you plan to declare special defaults for each unit type (mm, in, ft, m etc) then keep it how it is so you can add them easily later. Otherwise, I just do this:

            annotation { "Name" : "Module" }
            isLength(definition.module, {(millimeter) : [0.01, 2, 500]} as LengthBoundSpec;

    Evan Reese / Principal and Industrial Designer with Ovyl
    Website: ovyl.io
  • dave_cowdendave_cowden Member, Developers Posts: 470 ✭✭✭
    Hi, everyone!
    Enjoying seeing all these new FeatureScripts!  FS is a super powerful feature that in my opinion puts Onshape head-and shoulders above the other guys. In a war of attrition, my money's on OnShape with a tool that unlocks internet-scale collabration in many, many ways!

    I can't believe its been 5 years since I wrote my first FeatureScript. While I really enjoyed writing some features, I'm frustrated that the only reward can be some atta-boys.  If it were possible to make even a tiny amount of money from the hard work it takes to make a really solid feature, I could see myself doing it a lot more.  More importantly, I think we'd see a TON more features show up, which would be super-handy for users!

    Does anyone else here wish Onshape supported FeatureScript authors with a way to make a little money to fund their efforts? Or am I the only one who thinks that's a good idea?  What do you think?
  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,890 PRO
    I wouldn't mind throwing a donation at some of the more useful features if the writer put a donation link in the code.
    But I think a donation model would be the only viable option. It is too easy to steal the code and make your own copy without the writer knowing if there was a pay wall. Also a majority of users won't want to buy a feature if they can help it and it may piss a lot of users off that featurescripts are purchased individually.

    I have dozens of featurescripts in my list, but only really use 3 or 4 on a regular basis. Some I have never used, but linked them up 'just in case'.
    So that's why I think donations would be the best route.

    Here are all of the FS I have installed, the red ones I use most, the blue I've used half as much. The rest are things I may have used once, or never
    If you are the writer of some of the marked ones I would donate.


    Ones I use all the time are front and center on the tool bar




  • dave_cowdendave_cowden Member, Developers Posts: 470 ✭✭✭
    edited April 2021
    Thanks for the thoughts!

    >> It is too easy to steal the code and make your own copy without the writer knowing if there was a pay wall.

    That's definitely the case currently. That's kind of my point in raising this point: Onshape would have to make some changes to make it feasible. 

    (Side note: there are ways today to prevent stealing your code , but there are NOT ways to prevent one from granting access to others after gaining access.)

    >> Also a majority of users won't want to buy a feature if they can help it and it may piss a lot of users off that featurescripts are purchased individually.

    This is another reason Onshape support is essential to make something feasible.  I think the most reasonable way to handle the accounting for feature payments is to add them to the users's existing Onshape bill, like the existing app store. Onshape would take a cut, and the author would get a cut. If that was in place, i dont think users would be upset. The existing app store seems to prove that most of the work to do that has been done. 

    In the interest of full disclosure, I'm the author for "Surface Text", "Socket Cap Screw", and several other relatively popular FeatureScripts. If i'd been able to get even $0.05 per use of my features, I'd be happy.

  • Evan_ReeseEvan_Reese Member Posts: 2,060 PRO
    @john_mcclary
    Selection Fillet made the blue list 🙌

    @dave_cowden you also did Thread Creator, right? awesome feature! (I guess this is exactly the kind of atta-boy you're talking about though)

    I don't have a definitive opinion on this whole topic. I, personally, love that features are free, even though I've written a number of my own. I've learned a ton from the code and help of others, so I wouldn't feel like I should solely be compensated for them. Maybe if I got really good at FS and could just lone-wolf it without help, I'd feel differently.

    That said, value is value and it's not out of place to want to get something back for all of the value you've created for other people. If paying for a super useful feature were the only way to use it, I'd definitely give it some thought.

    I'd also consider asking for donations, as John suggests. That's the most immediate solution. You could even do something similar to what @juliaschatz did here. In her case I think it was more of a curiosity and April fools thing, but the same idea could be applied to messaging your most active users. You could pop something up that says "Hey, you've used this feature 100 times, so it must be useful. If you've gotten value out of it, I'd really appreciate a donation at [URL] so I can keep on making features that level up your modeling."

    As a semi-relevant aside, I've also found myself wondering if having so many good unofficial ways to accomplish certain things in Onshape might hamper development of more powerful native Onshape features 🤔. I sure hope not.
    Evan Reese / Principal and Industrial Designer with Ovyl
    Website: ovyl.io
  • dave_cowdendave_cowden Member, Developers Posts: 470 ✭✭✭
    @Evan_Reese hah yeah I also did Thread creator, thanks for the props. 

    WOW thanks for the link to @juliaschatz's work.  That's an awesome idea. Worst case , I can look into that trick.

    Even more awesome is that completely co-incidently, i'm a huge FRC supporter! I'm programming mentor on FRC team 281, and actually one of the main places i started putting time that was not writing features was when my older son and I went all-in on our FRC team. 

    FRC  ( and  FLL and FTC as well) accomplish something incredible. Hidden under a mask of fun, they quietly produce students who already know how to be professional engineers, leaders, and teammates. As a mentor, it's pretty amazing to watch.


  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,890 PRO
    edited April 2021
    @john_mcclary
    Selection Fillet made the blue list 🙌


    Yea, I wouldn't use it on my typical models, but it was handy on something I worked with @romeograham where he had hundreds of selections with 2 simple rules. Even then he had to explain it to me a few times before I learned it. Never been a fan of an overly automatic feature in a model. Because I have to check every instance anyway to feel safe about it if there was an earlier feature that was suppressed or deleted.

    dave_cowden said:
    (Side note: there are ways today to prevent stealing your code , but there are NOT ways to prevent one from granting access to others after gaining access.)
    I know the import trick you are referring to but that may hide your code, but then again all someone has to do is add that import line to the top of their script and user your code like an interface. Which is worse for you, because then they also get your future updates from the original document too.
  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    @dave_cowden I don't think it is reasonable to sell the feature itself or spending dosens of hours of work hoping for donation. I have features with thousands of calls and hundreds of copies and during last years they get just several dosens of upvotes, how many donations you expecting to have from this statistics... All that remaining is to show your expertiese and if you are lucky get a customer who will pay for a specific exclusive automation problem. Though i don't beleve featurescript is going to become a big enough automation platform. The web app api development is far more demanded skill, and moreover not only limited to onshape, so it worth to invest efforts in it rather then in fs.
  • dave_cowdendave_cowden Member, Developers Posts: 470 ✭✭✭
    @konstantin_shiriazdanov I admire your work, you're definitely cranking a lot of great features out!

    I agree with you regarding donations: its nice, but it is not probable enough to count on. I do not necessarily agree with you regarding the futility of selling the features.  Adding the feature calls together for mine, they total enough that even at $0.05 each i'd be very happy. I think it's reasonable to assume that these features have added at least $0.05 of value when they are used, would you agree? 

    You're definitely right regarding the best way to make money.  I run a professional software team for my day job, and yes, FS pays zero right now, and probably will never pay what you can fetch in more general types of development. 

    But here's the thing. I love CAD. I was first trained as a mechanical engineer, and later went into IT.  I feel like i'm put on this earth to add value in an ecosystem like this, because I know both. Probably, most of the people in this forum do too-- as do you.

    I'm not in it for the money: if my objective is to get rich, there are better ways.  My objective is to advance the art-- to make CAD more expressive, more capable, and let normal people do really cool stuff. And not just me-- all of the people who have the magical combination of ME/CAD knowledge and programming. It's not about getting rich. It's about creating enough incentive to not go poor doing it, and to bring in a larger sea.

    If the Featurescript ecosystem was supported by Onshape as first class, it would absolutely be possible to (a) make Onshape the most powerful CAD package out there, and (b) provide enough value that people could do it full time ( or at least part time! or at least and get enough money to pay for your coffee! )


Sign In or Register to comment.