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.

Thicken Surface to Create a Solid

StephenGStephenG Member Posts: 370 ✭✭✭
edited March 2017 in General
Onshape has a fair amount of functionality to create and manipulate surfaces yet it is missing some key surfacing functions that severely restricts its usefulness when working at a surface abstraction level; specifically the ability to thicken a surface to create a solid and the ability to create a surface from a set of edges to close/cap a open surface part.

I know Onshape is is not intended to be a full feature surfacing product, but there are numerous instances where working at a surface abstraction level during the design process makes things easier (less complicated). For the most part, Onshape has the functionality to work at the surface modeling level; it just needs a few more tools to make it more useful for solid modeling.  

(In other CAD products, the "shell" function acts as a "thicken" function when used with surface data.)

Does anyone else see this a significant limitation that impacts the design (solid modeling) process?

Comments

  • NeilCookeNeilCooke Moderator, Onshape Employees Posts: 5,683
    Have you tried the Thicken feature? You can also create planar surfaces and offset surfaces using the Move Face feature. Other advanced surfacing features will be added over time.  
    Senior Director, Technical Services, EMEAI
  • StephenGStephenG Member Posts: 370 ✭✭✭
    Duh, I feel like such an idiot....

    I looked through the modeling operation icons starting with the feature modifier grouping (where Shell is) working left and focused more the surface function grouping. Never thought to look in the grouping that is designed to work with sketches.

    I never even bothered to search online help, shame on me. 

    Why is thicken in the grouping that works principally with sketches? It must be because you define/derive a profile from a face.

    I promise to do better (research) next time.

    P.S. I still would like the see the ability to create a surface patch between open surface edges.



  • StephenGStephenG Member Posts: 370 ✭✭✭
    Two additional comments.

    When I thickened the surface in my part studio the resultant color of the new part came from the new part color default color cycle.
    I expected the new part(s) to inherit the color of the surface(s) being thickened. There is a strong argument that this is how it should work; an exception to the normal color assignment behavior. 

    I guess this behavior is consistent with respect to assigning a default color to new parts.

    I also expected the surface selected to thicken would be "absorbed" and disappear in the Parts() Surface() list.

    This is not a complaint, or a request to change this behavior, I just thought I would note it for the benefit of those reading this discussion.       
  • NeilCookeNeilCooke Moderator, Onshape Employees Posts: 5,683
    Generally speaking, the features on the left are feature/part creation features, whereas the features on the right are part modification features.
    Senior Director, Technical Services, EMEAI
  • jon_hirschtickjon_hirschtick Onshape Employees Posts: 91
    You or someone could use Onshape's FeatureScript language to create a new variant of the Thicken feature that works exactly as you like (match color, get rid of the source surface, etc).  Probably start with the source code for our Onshape Thicken feature which you will find here: 

    https://cad.onshape.com/documents/12312312345abcabcabcdeff/w/a855e4161c814f2e9ab3698a/e/58ff1936073d4b278a453881

    Check out onshape.com/featurescript as well.
  • StephenGStephenG Member Posts: 370 ✭✭✭
    Jon,

    I have been tempted to try FeatureScript to address other issues, but my first glance at the language scared me  off. I have used other product's macro programming languages and API's and have found them to be cumbersome and restrictive. 

    I am going to need something basic that describes the underlying philosophy, language syntax/constructs API conventions and the SDK environment before I attempt it. I want to make sure I have all the tools  information at my fingertips for reference before I dip me toe in the water. Not sure where to look and if/when I have all the pieces to be successful.

    I have been meaning to ask a few questions about FeatureScript that you might be able to answer:
    • Is all the functionality I see in Onshape written in FeatureScript?
    • Is the underlying data structures for the CAD data for Onshape also encoded in FeatureScript?
    • Will I have full unrestricted access to every API the developers of Onshape use? (I do not want to be limited to creating and modifying CAD data, I want access to the UI API's and data management API's.
    • Can I get to the Parasolid kernel directly or will access have to be through a FeatureScript API layer?
    Stephen

     
  • ilya_baranilya_baran Onshape Employees, Developers, HDM Posts: 1,212
    @StephenG

    You're asking the right questions -- for the type of scenario you and Jon are discussing (modifying a feature behavior in terms of existing operations) FeatureScript is pretty easy; here's a thicken-and-delete custom feature that consumes surfaces: https://cad.onshape.com/documents/0cc40d8ce5278b51792701a7/v/3256f34e8993530bf449e55e/e/229872d3d2bd1779ba889680
    Colors are not currently readable/settable from FS -- that is on our TODO list.

    For other scenarios, where you're not customizing what happens *during* regeneration, you would use the API.

    A good starting FS resource is here: https://cad.onshape.com/FsDoc/ it has the descriptions of philosophy, language syntax etc.

    To briefly answer your questions:
    - No, Onshape is primarily written in C++, Java, JS, etc.  Only the feature level is written in FeatureScript.  The std document contains almost the entire FS codebase we have.
    - Depending on what you mean by "underlying data structures" -- B-reps live in Parasolid; document definition is encoded in various ways (mostly not FS)
    - I'm not sure how an application can provide "full unrestricted access to every API the developers use" without fully opening the source; in our case, FS defines UI for features and the API provides access to the data, but we certainly have internal methods for a lot of our functionality.
    - You access Parasolid's capabilities through the FS API.
    Ilya Baran \ VP, Architecture and FeatureScript \ Onshape Inc
Sign In or Register to comment.