Categories

Entries for the 'C# .NET Application Development' Category

StevieBot. 50% Fish, 50% Slack, and 50%.NET
Eric Baggen

StevieBot. 50% Fish, 50% Slack, and 50%.NET

In my last Blog Post, I detailed how I used a Particle Internet Button to remind us to feed Stevie, DMC Boston’s office fish. In this post, I’ll discuss how I gave Stevie an alternate online personality. Automated personal assistants seem to be everywhere these days. We have Siri and Google Now in our phones, Amazon Echos and Google Homes in our houses, and plenty of other services and applications that answer our questions and provide us entertainment. At DMC, we now have Stev...

Continue reading →


A Properly Pleasing Prism Primer - Part 3:  Modules
Grant Anderson

A Properly Pleasing Prism Primer - Part 3: Modules

In Part 2 of this series, I introduced the Shell and the Bootstrapper components of a Prism application. The stage is set. The crew's in place. It's time for Lights! Camera! Action! But first, we need to hire some actors. Modules To quote the Prism documentation itself: A module is a logical collection of functionality and resources that is packaged in a way that can be separately developed, tested, deployed, and integrated into an application. All modules contain a central c...

Continue reading →


A Properly Pleasing Prism Primer - Part 2:  The Shell and Bootstrapper
Grant Anderson

A Properly Pleasing Prism Primer - Part 2: The Shell and Bootstrapper

In Part 1 of this series, I gave a quick summary of what Prism is, and when and why you would want to use it. The remaining parts of this series will address the "how" of using it. Since this series is largely an overview, I won't cover everything you can possibly do under Prism. And since Prism is designed so that the programmer can pick and choose what functionality they need, not everything I cover here will be relevant to all applications. However, the goal is that th...

Continue reading →


A Properly Pleasing Prism Primer - Part 1:  An Introduction
Grant Anderson

A Properly Pleasing Prism Primer - Part 1: An Introduction

The usage of design patterns is situational. Their purpose is to reduce the overall complexity of an application or to replace unfamiliar complexity with manageable equivalents. For a sufficiently simple application, however, using patterns is often overkill. Even more so if the design pattern itself isn’t familiar to the developers that will be maintaining the code. The paradoxical upshot is usage of the pattern can actually increase the complexity if the application is simple. For exa...

Continue reading →


CAD Models in C#: Developing with Eyeshot
Matt Puskala

CAD Models in C#: Developing with Eyeshot

DMC recently developed some desktop applications for clients in C# that require 3D modeling. We’ve been using a third-party CAD tool developed by devDept called Eyeshot. If you are working in the world of graphic design, 3D animation rendering, or physics simulations, there could be better options for your needs, like gaming engines such as Unity and nVidia PhysX. However, if you are working in the engineering world of CAD files, Eyeshot is by far the best tool available for C#. Th...

Continue reading →


Easy XML Parsing in C#/.NET With the HTML Agility Pack
Ryan Taylor

Easy XML Parsing in C#/.NET With the HTML Agility Pack

In 2006, the newspaper USA Today included the Internet in its list of the "New Seven Wonders of the World." The Internet has democratized access to vast stores information in an unprecedented way and has transformed many aspects of education, industry, and society. This glut of information can give tremendous insight into everything from trends in the price of chop sticks to predicting regional flu outbreaks across the globe - if you know how to efficiently access it.&nb...

Continue reading →


6 Easy Steps to Get Started with MVC Module Development in DNN 8
August Karlstedt

6 Easy Steps to Get Started with MVC Module Development in DNN 8

In the beginning of the year, DNN (formerly DotNetNuke) was updated to support MVC modules. MVC is the latest version of ASP.NET in which the Model-View-Controller paradigm is at the core. This article won't be a look into what MVC is or a comparison with WebForms, but instead will give a quick guide into starting DNN MVC module development. While there are some guides available that give you similar information, I found it a bit difficult to get started developing MVC modules i...

Continue reading →


How to Use FANUC PC Developer's Kit (PCDK)
Frank May

How to Use FANUC PC Developer's Kit (PCDK)

FANUC offers an easy way to command and configure a robot from a PC using their PC Developer's Kit (PCDK).The kit allows a PC to access variables, registers, IO, programs, positions, and alarms on the robot. Most of the help documentation already covers Visual Basic, so I'll explain how to get started with C#. Installation First step is to install Visual Studio. Visual Studio Community is free and works perfectly for this application. After installing Visual Studio, go...

Continue reading →


Connecting Custom Applications to the Factory Floor
Jon Carson

Connecting Custom Applications to the Factory Floor

DMC has expertise in both industrial and PC-based software development. In other words, we do a great deal of projects involving PLCs; but we also write plenty of complex PC-based apps. But my personal favorites are projects that combine the two. We’re seeing them more and more. Don’t get me wrong, off the shelf solutions are great, and should be used wherever they make sense. But sometimes they don’t fit all of the requirements our customers need. Here are some examples I&r...

Continue reading →


Lunch for Business: A Better Way to Lunch
Lyndon Sapozhnik

Lunch for Business: A Better Way to Lunch

DMC had a lunch problem. When noon rolled around, someone would inevitably decide they wanted to go to Chipotle. They’d get up from their desk and circle around the office, asking everyone they saw if they wanted to jump on the Chipotle train. But “everyone” wasn’t actually everyone, since everyone isn’t necessarily at their desk at 11:58 AM. Some people would be on the phone, others in collaboration rooms. Perhaps they’d even be on the other side of the offic...

Continue reading →


Visual Studio 2015 Debugging Tips
Sam Weber

Visual Studio 2015 Debugging Tips

We had a great summer here at DMC's Chicago office. We got to watch the Air and Water Show at Belmont Harbor, go to the Circus, drink on a boat, and play some beach volleyball. However, for a .NET developer like me the real highlight of the summer was the release of Visual Studio 2015. VS2015 was released officially on July 20th, and over the past several weeks I've gotten a chance to dig into it and explore all of the great new features. This new version of Visual Studio includes many i...

Continue reading →


DMC Highlight Cam Project
Jesse Batsche

DMC Highlight Cam Project

For Fed Ex Day 2014 Devon, Otto, and I worked on the DMC Highlight Cam Project. The end goal of the DMC Highlight Cam project is three-fold: Have a camera mounted so that it can continually record all activity at the ping pong table (or any other place where interesting things *might* happen) Have the ability to press a single button when something AWESOME/EXCITING/FUNNY/MEMORABLE happens to capture and archive footage of that awesome event When a “highlight” is identifi...

Continue reading →


Abstracting an ORM to Use Multiple Backends
Jack Cosgrove

Abstracting an ORM to Use Multiple Backends

SyntaxHighlighter.all(); Object-relational mappings (ORMs) took the world by storm in the mid-aughts. Obviously there are many advantages to ORMs given their success, but there are some drawbacks. I'll explain one particular hurdle that I ran into as well as the steps I took to overcome it. A client had an existing database we needed to interact with using an ORM; this necessitated a database-first approach. Furthermore, this database's schema was mirrored in other databases with sli...

Continue reading →


WiX Installer Tutorial for Visual Studio
Spencer Glesmann

WiX Installer Tutorial for Visual Studio

The purpose of this tutorial is to get you started using the WiX tool set to create custom installers for Visual Studio applications.  For more thorough documentation on creating WiX installers, please see this tutorial. This tutorial uses version 3.7 of the WiX tool set and Visual Studio 2012.  

Continue reading →


Ping Pong Web Application
Otto Gottlieb

Ping Pong Web Application

In the past year, ping pong has become a major activity for DMC employees. Starting with the purchase of a ping pong table, it has evolved from an informal game that served as a short break from work to an organized competition. In the fall of 2012, players created a ladder tournament to keep track of everybody’s ranks. With their eyes set on the top stop, challenge matches ensued and the competition became heated. The ranks were kept using pieces of paper pinned to cork board near the ...

Continue reading →


Extracting Log Data from a Siemens PLC Using a .NET Client
Jack Cosgrove

Extracting Log Data from a Siemens PLC Using a .NET Client

I had the opportunity recently to work for a client who wanted to extract log data from a Siemens WinAC PLC using a C# .NET client. The application was archiving software that would run when another software component encountered an error. Log data was assembled from a variety of sources in the system stack, including the Siemens PLC. In order to keep the PLC's Step 7 code independent of this diagnostic logging, I used the Siemens WinAC ODK. The WinAC API exposes two interfaces, IPLC and ...

Continue reading →


Automating Siemens S7 and SiMotion Tasks Using C# .NET
Jon Carson

Automating Siemens S7 and SiMotion Tasks Using C# .NET

Siemens offers useful tools for accessing both Simatic and SiMotion projects programmatically, in the form of registered COM Type Library DLLs. These tools offer many exciting possibilities (well, it does if you're like me, and get excited by things like automating automation tools). If you have Simatic Manager installed, the following DLLs are registered with it: S7hcom_x 1.0 Type Library - The default location on my laptop is C:\Program Files (x86)\Siemens\Step7\S7BIN\S7HCOM_X.DLL) S...

Continue reading →


DMC Earns Microsoft Gold Partner Status in Application Development and Collaboration and Content
Jessica Mlinaric

DMC Earns Microsoft Gold Partner Status in Application Development and Collaboration and Content

DMC is proud to announce that it has achieved Gold Partner status within the Microsoft Partner Network for the ninth consecutive year.  Microsoft uses Gold Status Competencies to identify top partners in specific solution areas.  DMC earned gold status this year for the Application Development (custom .NET application development) and Collaboration and Content (SharePoint solutions). DMC ranks among the top 3% of more than 64,000 Microsoft partners worldwide who have ...

Continue reading →


Image Manipulation in Windows CE or Mobile using VS .NET
John Sullivan

Image Manipulation in Windows CE or Mobile using VS .NET

SyntaxHighlighter.all(); Recently DMC developed a high speed vision inspection system using LabVIEW. This system inspects many different parts and each part requires different inspection criteria, so we needed to develop a user interface (UI) that could be used to configure the current products, as well as be flexible enough to configure new products. The manufacturing machine was already running on a Windows CE device, so our UI would need to interface with the UI already on the system an...

Continue reading →


Multithreading and Delegates in C# and Handling a Parameter Mismatch Exception
John Sullivan

Multithreading and Delegates in C# and Handling a Parameter Mismatch Exception

Recently I was working on a project using several threads in C#. I had four threads; one for the Main UI, one for serial communication with some force sensors, one operating a motion controller, and the final one used to perform user defined scripts. When using multiple threads it is important to control the method of information transfer between threads. Although some older software required you to create your own flags or methods to prevent multiple access to the same point, C# allows you acce...

Continue reading →


Categories