Machining on the Platform: 3DEXPERIENCE NC Shop Floor Programmer
Like a lot of SOLIDWORKS users, I have been observing the 3DEXPERIENCE platform mostly from afar. With fascination, I have watched my coworkers push-pulling models in 3D Sculptor and generating incredibly complex models in XGenerative Design, but only dabbled in using the tools myself.
I don’t think I’m alone when I say that I want to use 3DEXPERIENCE, but I’m just a little (or maybe a lot…) overwhelmed by the platform. Between the apps and the roles, the PLM backbone and the cloud UI, I have repeatedly found myself retreating to my comfort zone: SOLIDWORKS.
From one perspective, this is a testament to the power of SOLIDWORKS. Half my time in CAD is spent programming CNC machines and because of SOLIDWORKS CAM and CAMWorks I have been able to do everything I need to in the SOLIDWORKS desktop program. So far.
But I know my apprehension toward change has stunted my growth and could (if it hasn’t already) be the beginning of a skills gap between myself and my competition. Resolved not to become an “old dog” in the industry, I have been searching for the right entry into the 3DEXPERIENCE platform.
I needed a role that delivered functionality that was undeniably better than what I had access to in SOLIDWORKS, and which was pertinent to my specific type of work.
In other words, I needed an awesome CAM experience.
And fairly recently, I discovered a role that has the potential to thrust me into the 3DEXPERIENCE platform permanently: NC Shop Floor Programmer.
The NC Shop Floor Programmer role includes the following apps:
The two apps pertinent to my interests were Shop Floor Machining and Wire EDM Machining. Armed with these apps, I could program advanced 3-axis milling machines (including 2.5-axis machines, of course) and both 2- and 4-axis wire EDM machines.
Quick note: NC Shop Floor Programmer is the entry-level role for machining in the 3DEXPERIENCE platform. Other apps powered by DELMIA NC technology can handle just about any machining task, including 9+ axis mill/turn machines and 6-axis robotic arms.
With 10 years of CAMWorks (and later SOLIDWORKS CAM) experience behind me, it is difficult to imagine using anything else. Programming parts is almost muscle memory at this point: Automatic Feature Recognition > Generate Operation Plan > Generate Toolpath and tweak from there. I can’t program parts in my sleep, but I would be lying if I said CAMWorks has never appeared in my dreams at night.
I was relieved to learn that the underlying technology that powers CAMWorks and SOLIDWORKS CAM is also utilized in the Shop Floor Machining app. An important difference, however, is that the 3DEXPERIENCE implementation presents the NC programmer with more buttons to push and levers to pull. More of the core technology is exposed to the user, giving more complete control over toolpaths and toolpath simulation.
This app was starting to sound pretty darn good.
Then I learned about Power’By and I knew I had no more excuses—I had to dive into 3DEXPERIENCE. The day had come.
If you aren’t familiar with Power’By, it is the technology Dassault Systèmes is developing to connect CATIA V5 and SOLIDWORKS with 3DEXPERIENCE. Long story short, it is what allows me to continue designing in SOLIDWORKS if I prefer, then pivot to 3DEXPERIENCE for CNC programming.
Someone with a more trailblazing attitude will use a platform tool such as Xshape and Xdesign to design parts and seamlessly transition over to Shop Floor Machining for NC programming. But I’m keeping one foot in the SOLIDWORKS pool for now, and Power’By makes that fairly simple. After saving to the platform and converting to a platform object, I end up with two files that are parametrically linked to one another: one for SOLIDWORKS and one for 3DEXPERIENCE. Cool.
From the start of the workflow, it is evident that NC Shop Floor Programmer is providing an elevated CNC programming experience. Unlike any other CAM tool that I have used, the 3DEXPERIENCE apps encourage users to program inside a full machine environment.
To clarify—because this is an important difference—the programming takes place within a context that includes the entirety of the machine tool (called a manufacturing cell). Anything that occupies space in the real world would occupy space within the virtual machine. The movement (or kinematics) of the machine are replicated exactly, as well.
Most programmers are accustomed to programming parts that seemingly float alone in space or interact with fixturing only in their immediate vicinity. More advanced users might export the program and validate the toolpaths in a third-party machine simulation software.
I don’t have to imagine how challenging it is to catch every mistake and prevent every crash with these options; I have had my fair share. When I learned that I would be programming within a full kinematic machine environment and validating true G-code toolpaths in real-time, I was shocked. This was an immediate delivery on the promise of increased functionality over SOLIDWORKS CAM and the like.
This does add a bit of work to the front-end of the workflow, however. In SOLIDWORKS CAM, I can leap into CNC programming only a few seconds after opening the file. There is almost no barrier to entry and with the help of technology such as automatic feature recognition (AFR) and knowledge-based machining (KBM), the overall workflow is very rapid.
This brings me to my primary complaint about NC Shop Floor Programmer: it is more complicated than I’m accustomed to. The terminology is not intuitive and I have to click my mouse a lot more than I think I should.
As an example, here is the workflow for starting a program:
- Create PPR context file (PPR = process product resource)
- Create manufacturing cell
- Insert manufacturing cell into PPR context file
- Import product or NC assembly (new or existing part to machine)
- Insert machine into PPR context file
- Insert manufacturing product into PPR context file
- Import tools into PPR context file
- Define part to machine
- Define the coordinate system
- Program features using Automatic or Interactive feature creation
- Generate toolpaths
- Simulate toolpaths
- Post G-code
It feels a little convoluted, especially coming from SOLIDWORKS. But I have no doubt that most of my apprehension is rooted in the novelty of the workflow more than anything else. It only feels heavy because my baseline is a tool that does not offer the same value that I’m getting in the 3DEXPERIENCE platform: associativity.
The associativity between objects within the 3DEXPERIENCE platform is unprecedented. The cutting tools I use can be tracked to inventory and the features I program are linked to both engineering and manufacturing data elsewhere within the organization. Design changes made by other departments propagate through to my NC programs and the entire design-to-manufacture process is made as efficient as possible. Machine scheduling, cost estimating and resource allocation all become traceable and optimizable with the use of the PPR containers.
While I do have some grievances, overall, I believe CNC programming within the 3DEXPERIENCE platform offers immense value over more traditional CAM solutions. Even though the enterprise-level benefits are lost on my personal use case, the NC Shop Floor Programmer apps bring more toolpath-level control and significantly better toolpath validation to every user.
Improved versions of my favorite toolpath technologies, simpler file management, access to additional apps through the 3DEXPERIENCE roles… I am starting to regret waiting as long as I did to give the 3DEXPERIENCE platform the shot it deserves.
Learn more about 3DEXPERIENCE with the ebook Developing Better Products in the Cloud.