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.

I CUT MY FIRST PART

bill_schnoebelenbill_schnoebelen OS Professional, Developers, User Group Leader, csevp Posts: 130 PRO
I finally got around to making a part. This was a simple 2 1/2D fixture. 

Pros: I like the toolpaths. They can use some work for usability, but I like the flow. It is not there yet, but I can see a point where there is not a lot of clicking. Copying or templates ability could be incredible!!

Cons: It was pretty difficult to deal with the posts. I had to rewrite the tool changes. I did have one digger, but I think that was my fault rewriting the post. It took way too long...

I think it needs two things:

1. NEED TO BE ABLE TO SUPPRESS FEATURES. These programs can easily get to 20k lines of code. It is very hard to search through this much code to change tool changer settings. This allows me to break it down to smaller slices.
2. NEED CONTROL OVER POST PROCESSOR. I need block numbers at tool changes, max tool cut depth, datestamp, etc. 

Both these would be very helpful in troubleshooting.


Comments

  • Gabriel_SteinGabriel_Stein Member, csevp Posts: 7
    Thanks Bill for the valuable feedback. It is nice to see the product cutting actual parts, even with some limitations.

    Regarding the post-processing aspects, may I ask some further details?
    • The block numbers at tool changes - yes, that is typically quite useful; I will include this as an enhancement in the backlog.
    • Max Tool cut depth - this is probably something we can achieve - I believe we could look at generating some report together with the NC, either at the header of footer, or even along with the existing tool list
    • Date-stamp - the posted NC already generates a date stamp at the top, in the format of a comment, like "CREATED ON  : 2024-06-03T10:27:37" - would you need something different?
    Also, please let us know which machine/post you selected to run this job.

    King regards,
    Gabriel Stein 
  • bill_schnoebelenbill_schnoebelen OS Professional, Developers, User Group Leader, csevp Posts: 130 PRO
    Hi Gabriel,

    • Block numbers on tool  change would be very nice!
    • In hindsight, the need for Maximum tool depth goes away if I have my fixtures in the model and can simulate crashes. I think most of my operators don't know how to use this info anyways.
    • The datestamp is just to let me know I have the latest file. The issue with the datastamp is the timezone. I didn't realize this was a datastamp. It is 7 hours ahead. I have a python program that just ftps any file in a directory to the mill. This issue goes away using this program. All I have to do it post and the latest post gets sent to he mill and deleted off the local drive.

    I was either using the generic fanuc or haas post. John Desilets is working on getting me a post which works with my Brother machine. It will be a game changer!!

  • Gabriel_SteinGabriel_Stein Member, csevp Posts: 7
    Hi Bill,

    Thanks. I'll investigate the time-zone thing. Sounds like its sticking to the Onshape server time, rather then the desired local time.

    Fixtures are coming in the next version; for CAM Studio they are named "Workholding", so I hope that will improve your workflows.
    We are also looking at the Brother post and machine, which are also expected for the near future.

    Regards,
    Gabriel 
  • wayne_sauderwayne_sauder Member, csevp Posts: 625 PRO
    @bill_schnoebelen
     Did you use a facing operation on this part? 
     I have not figured out a good workflow for facing operations. Does anyone have a good example? 
  • bill_schnoebelenbill_schnoebelen OS Professional, Developers, User Group Leader, csevp Posts: 130 PRO
    I used flatlands after a rough op. 
  • John_P_DesiletsJohn_P_Desilets Onshape Employees, csevp Posts: 260 image
    edited July 2024
    @wayne_sauder In the part studio, sketch a rectangle over the part that you want to face. Create a composite curve from that sketch and insert the curve into cam studio. Next, create the facing operation from that curve. Hope this helps! 





    One additional note. In the links section, you can adjust what the tools does between each pass. In the above example I changed small gaps along cut to arc-line-arc.


  • wayne_sauderwayne_sauder Member, csevp Posts: 625 PRO
    Thanks @John_P_Desilets

    I air-cut my first part last evening, and for the most part, things looked good. However, the post I'm using has a flaw. Also, I hope that post customization is being worked on, as there are a few things I like optimized for our machines. 

    My real reason for posting here is that I can not find the place to tell the program what Work Coordinate System I want it to use, for example, G55, G58, or G56.1. I was also wondering if Cam Studio supports multiple WCS. The main use case I have for this is, at times when machining multiple parts, I simply use multiple WCS instead of trying to place parts in perfect relation to each other.  
  • wayne_sauderwayne_sauder Member, csevp Posts: 625 PRO
    I noticed something else. In Fusion, I had it set to preload the next tool. I can not find a way to do this in Cam Studio. 
  • John_P_DesiletsJohn_P_Desilets Onshape Employees, csevp Posts: 260 image
    edited July 2024
    @wayne_sauder The ability to define multiple work coordinate systems is not yet supported but is part of our plan to revamp setups and datums in the coming months. This will include support for multiple wcs, and their corresponding identifier G54, G55, G56 etc. Today, cam studio can only define a single wcs off of a bounding box point or the world origin of the part from the part studio. In the setup, you can define this box point but cannot attach the wcs to a part feature. A workaround for today is to transform the origin in the part studio to the feature or location you want to use for the wcs. When the part is brought into cam studio, the model origin will be the wcs. 

    Using this part as an example. In the part studio, I transformed the origin to the top center of a feature. 



    In cam studio, the origin is used for the setup. 




    As for preloading a tool. Please feel free to submit a ticket for this issue so we can investigate further. If you can please provide a gcode program example that shows the preloading that would be helpful as well.
  • Curt_WelchCurt_Welch Member, csevp Posts: 42 ✭✭
    I can explain preloading to you.

    Not all tool changes can do this.  Simple carousel changes fixed locations for each tool (tool 1 goes in slot 1), and the tool must be loaded from that location to the spindle and from the spindle back to the location. There is no preloading for that style changer. On a Haas, their "umbrella changer" works this way.  No pre-loading.

    The ones that can preload have an arm that swaps the tool in the carousel with the one in the spindle in one move.  For the Haas, this is their "side mount" changer. This hardware system creates a few interesting differences. For one, if your tool count is the number of slots in the carousel + 1.  So a 30-tool carousel machine can hold 31 tools in its library, numbered 1 to 31. 30 in the carousel and one in the spindle at all times. Also, since tools are swapped, they have no fixed location.  So if tool 1 is in the spindle, and the next tool is 12, that tool might be in location 6, so it moves to location 6, then swapps, which puts tool 12 into the spindle and tool 1 into location 6.  The machine must have non-volatile memory of the tool numbers that is mapped to each carousel location. The g-code doesn't deal with that, you just ask for T10 and it moves to wherever T10 is currently stored.

    In G-code, the command T5 rotates the carousel to tool 5's location but does not perform the tool change. The M6 command executes the tool swap. They are often used together, as in T3 M6 to load tool 3. However, they can be done separately with the type of machine that supports carousel positioning and swapping independently.

    Without preloading, the G_code is simple,

    M6 T10
    <g-code for tool 10>
    M6 T2
    <g-code for tool 2>

    With a machine that can do pre-loading, it becomes:

    M6 T10. (Load the first tool, which is T10).
    T6 (start the carousel spinning to bring Tool 6 into position)

    <g-code for tool 10> (T6 is still running while the machining for T10 starts)

    M6 (loads T6 and puts T10 back into the carrousel) (or M6 T10 if you want to make sure that it's T10 you are loading).
    T12 (start the pre-load tool 12)

    <G-code for tool 6>

    These machines can spin the carousel to pre-load, and at the same time, they run G-code to do the machining for the current tool in the spindle. So they do tool carousel motion and machining at the same time.

    This greatly speeds up tool changes because the swap only takes a couple of seconds, whereas waiting for a big carousel to advance to the next tool can take 10 seconds. Pre-loading speeds up tool changes from 10 seconds to 2 seconds without slowing down the machining.

    The arm changers are far more complex and cost a lot more. But they swap tools in a fraction of the time IF you do the pre-loading correctly. Without pre-loading, they are often slower than the other type.  


  • John_P_DesiletsJohn_P_Desilets Onshape Employees, csevp Posts: 260 image
    @Curt_Welch Thanks Curt! I know what preloading does I was looking for a specific G code example because each cnc controller has different preload calls for tools. This way we can adjust the post to the sample code. 
  • wayne_sauderwayne_sauder Member, csevp Posts: 625 PRO
    @John_P_Desilets
    I will try to post some things soon; I'm on other projects now. 
  • Curt_WelchCurt_Welch Member, csevp Posts: 42 ✭✭
    @Curt_Welch Thanks Curt! I know what preloading does I was looking for a specific G code example because each cnc controller has different preload calls for tools. This way we can adjust the post to the sample code. 
    Yeah, I tried to use Fusion to give you a specific example of what it produces but then I remembered I have dropped my license for Fusion and the free version refuses to produce multi-tool g-code! But I'm 90% sure I got the g-code right above in my message. 90% isn't good enough to release a feature blindly but it's a starting point. :)
  • wayne_sauderwayne_sauder Member, csevp Posts: 625 PRO
    @John_P_Desilets
    Here are two screenshots (same part), one from Cam Studio and the other from my standard settings in Fusion. The complete EIA programs are in the document that I shared with support. Note the G4 P*** is a result of my customized post; without this, the machine starts the spindle and rapids to position without allowing the spindle to get to speed. (Results in broken tools.  :s )


  • John_P_DesiletsJohn_P_Desilets Onshape Employees, csevp Posts: 260 image
    @wayne_sauder Thank you for sharing this with us! I will take a look at the support ticket shortly. As for the issue with you machine not reaching full spindle speed before cutting. Have you tried to see is there is a parameter that checks if the spindle speed has been reached before moving? 
  • wayne_sauderwayne_sauder Member, csevp Posts: 625 PRO
    @John_P_Desilets

     I have not, good idea. 
     
     We have an older gentleman who works on our machines (he used to be a Mazak tech), and this is what he told me to do. But it would probably be a good idea to check with Mazak and see if there is an option like that. 
     
     I'll check when I have a moment. 

Sign In or Register to comment.