Your Best Source for CAD, CAM & CAE Articles



 


Home
| About | Submit Article

CAD, CAM & CAE Articles

Partners

CAD, CAM & CAE News

TenLinks.com

More News
 

 

 


 

 

  Independent Content    

Industry-Experts Cover
Products & Services You
Need to Know About.
Only on CADdigest.com.
Find Out More!

ZWCAD+ vs AutoCAD: DWG Compatibility, Cloud Workflow and Programming Support

The CAD world is full of competitors to AutoCAD. But how many can really step in and do the same job? An AutoCAD user takes ZWCAD+ to the test in 3 crucial areas. DWG compatibility: does it read AutoCAD entities? Does it support a cloud-based workflow? And will 3rd-party AutoCAD programs work?

By William Forty, December 2, 2013

ZWSOFT positions its ZWCAD+ software as a strong alternative to AutoCAD, and so in this review I will look at how compatible it is with DWG and DWF files. I'll also review their cloud offering and their .Net API.

DWG/DWF Compatibility

When talking about file format compatibility, it is important to understand exactly what ZWCAD+ is trying being compatible with. With the origins of DWG and DWF file formats firmly rooted by Autodesk in AutoCAD, I will use AutoCAD as the benchmark.

DWG Entities

The first thing I did was to check that DWG files opened in ZWCAD+ contained the same list of basic entities that are created by AutoCAD. From my experience as a software developer, I know that reading data from a format such as DWG can be fraught with obstacles. The software needs to be written in such a way that it can cope with - and understand - all the possible ways in which a valid DWG file can be structured. If parts of the file are structured in a way that the receiving software does not understand, then entities might be omitted, drawn incorrectly, or converted to generic types.

For this first test, I opened several drawings, and then simply counted the entity types that they contained. My four test drawings each contain various entity types. Below, the table shows the results: entity types and the count of each (Table 1).

Table 1: Results of counting entities in test drawings

 

Assembly.dwg 

Cover.dwg

Hobbing System.dwg

Hydraulic System.dwg

  AutoCAD ZWCAD AutoCAD ZWCAD AutoCAD ZWCAD AutoCAD ZWCAD
Rotated Dimension   29   29   39   39   139   139   40   40
Tolerance   0   0   12   12   0   0   0   0
Line   1447   1447   413   413   2519   2519   4319   4319
Mtext   245   245   20   20   29   29   151   151
Hatch   62   62   8   8   101   101   32   32
 Circle   35   35   38   38   15   15   207   207
Point   0   0   0   0   4   4   0   0
Radial Dimension   0   0   14   14   0   0   0   0
Arc   217   217   142   142   136   136   1286   1286
Leader   0   0   11   11   0   0   2   2
Polyline   59   59   17   17   88   88   78   78
Diametric Dimension   0   0   4   4   0   0   0   0
Spline   14   14   4   4   2   2   28   28
All   2108   2108   722   722   3033   3033   6143   6143

ZWCAD+ matched AutoCAD exactly, which was a good start. While this test is very basic, it indirectly tests quite a wide range of features, and so is a good way to establish compatibility of the fundamentals in one simple process.

DWG File Sizes

Another way to see if ZWCAD+ is doing things differently with files from AutoCAD is to compare file sizes. The table below shows sizes of the same four files when saved by AutoCAD vs being saved by ZWCAD+ (Table 2).

Table 2: DWG File Sizes

   AutoCAD (KB) ZWCAD (KB) 
Cover.dwg   193   206
Assembly.dwg   232   239
Hobbing System.dwg   304   309
Hydraulic System.dwg   300   311

ZWCAD+ tends to make larger files than AutoCAD, but it is a close match. It's reasonable to have some degree of variance, because data can be saved in different ways. As the numbers are well within what I'd call acceptable, I infer that ZWCAD+ is saving the data in a way very similar to that of AutoCAD.

DWF File Sizes

DWF files are a compressed drawing file with some data stripped out. They are meant to be shown in Web pages or shared with clients. By reducing the size, DWF files don't take as long to load in Web pages. Stripping out some drawing data and also safeguard intellectual property.

It is not possible to compare entities (due to the stripping process), but I decided I could at least compare DWF sizes of files exported using the same DWF plot configuration in AutoCAD and ZWCAD+. Here is the comparison for the pairs of files I created (Table 3):

Table 3: Comparing file sizes of exported DWF files

   AutoCAD (KB)   ZWCAD (KB)
Cover.dwf   24   16
Assembly.dwf   123   94
Hobbing System.dwf   53   98
Hydraulic System.dwf   96   158

I found it interesting that ZWCAD+ produced files that in some cases were smaller than AutoCAD's, and in some cases much larger. This is not a compatibility issue, but it is something to bear in mind should small file size be important.

The real test would be visually inspecting both sets of files in Autodesk's Design Review software. (I needed to use Design Review, because AutoCAD does not read DWF files, except as an attachment through the MarkUp command.)

DWF Appearance

Visual inspection of the two DWF versions showed that ZWCAD+ imitates the AutoCAD's DWF format to an impressive degree. For instance, line weights and line types are spot on; hatching is the same; and ZWCAD+'s annotation and dimensioning is indistinguishable from a DWF exported by AutoCAD.

I could not tell the two DWF files apart visually, except for a slight difference in the margin size (see figures 1a and 1b).

Figure 1a: DWF file generated by ZWCAD
Figure 1b: DWF file generated by AutoCAD
Cloud Workflow

With the DWG and DWF testing accomplished, I turned to looking at the cloud offering from ZWSOFT. Whereas Autodesk has "360" for its cloud services, ZWSOFT has "Syble."

Syble is integrated into ZWCAD+ 2014, running in the background as it synchronizes drawings between the local desktop, online, and on portable devices running ZWCAD Touch, the company's viewing and markup app for iPads.

Initially I thought optimistically I could just switch to the ribbon's Online tab, and then click Save to Cloud. Of course, some configuration was required; I was, in fact, presented with a message stating that ZWCAD+ Syble was not enabled. Helpfully though, right under the cursor was an Open and Configure button. I tried clicking it, and so was taken to the Online tab of the Options dialog box.

Right at the top was the checkbox I was looking for: Enable Cloud Storage. I checked it but then needed to fill in options for setting up a cloud storage provider. (ZWSOFT itself does not provide the cloud service.)

I have a Dropbox account, so I selected it and then clicked the Authorize button. The Dropbox Web site popped up in my browser. By entering my username and password, I authorized ZWCAD to access my account. Thus, the configuration process was very simple.

Working on the Cloud

Once I configured things, working with the cloud was easy. Now back on the Online tab, I simply clicked Save to Cloud, which presented the Save As dialog that we normally get when saving drawings. Automatically selected was a local folder named "ZWCAD+ Syble." When I clicked Save, there was a brief pause just as if it was saving the file, and then the dialog box just closed; there was nothing indicating it had uploaded the file to the cloud service. The process was so transparent that I felt I needed to check by logging into my Dropbox account. Sure enough, there was the new folder created for my ZWCAD+ files. I verified the file was saved.

I can see this feature being effective as a backup solution and an excellent way to share up-to-date versions of the drawings with others.

.NET API Compatibility

ZWSOFT added an API so that third-party developers can write add-on programs for ZWCAD+ using Microsoft's .NET interface. This being one of my specialty subjects, I looked forward to this part of this review.

There are two aspects to testing a .NET API. One is to see how well .NET programs written for AutoCAD work in ZWCAD (this is called "porting" the software), which I did here. The other is to write a new program for ZWCAD, which I didn't do.

Porting Existing Projects

To test how well ZWCAD works with add-on programs written for AutoCAD, I thought I would go all-out by porting one of my most popular developments, a survey-fixing utility available from http://howtoautocad.com/autocad-civil-3d-survey-fix-tool/. The purpose of this tool is to convert 2D survey drawings to 3D survey drawings.

When I thought about the process of porting one of my AutoCAD .NET projects, I figured originally it would involve rewriting code using the "type" libraries of the ZWCAD+ application, and I supposed it would probably involve modifying properties and methods here and there to suit what was required by ZWCAD+. Not so.

I had been given a helpful document that set out how to migrate .NET projects from AutoCAD to ZWCAD+. It claimed that the process was simple.

For the first step, I had to set the .NET build version to 4.0, and then replace any references to AcMgd.dll and AcDbMgd.dll with the ZWCAD+ equivalent. This for me is easy to do. Next step was to update namespaces. I had written my survey utility in VB.NET (Visual Basic), and so the code required the following changes to Imports statements at the top of the application (see Table 4).

Table 4: Namespace changes needing for porting

Before After
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.AutoCAD.Runtime
Imports Autodesk.AutoCAD.Geometry
Imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.EditorInput
Imports Autodesk.AutoCAD.Colors
Imports ZwSoft.ZwCAD.DatabaseServices
Imports ZwSoft.ZwCAD.Runtime
Imports ZwSoft.ZwCAD.Geometry
Imports ZwSoft.ZwCAD.ApplicationServices
Imports ZwSoft.ZwCAD.EditorInput
Imports ZwSoft.ZwCAD.Colors

Throughout the project, there were a few other instances that required tweaking, but again it involved only modifying namespaces, as shown above. Apart from the minor changes, amazingly enough nothing else was required: all properties and methods that I used in the original AutoCAD API had a valid corresponding entry for ZWCAD+.

The IDE (integrated development environment) highlighted no errors. Building the project also yielded no errors. No way could it be this simple! But it was.

In ZWCAD+, I entered the NetLoad command and then selected the project. It actually worked first time. Entering the SURVEYFIX command (which is how my program is executed) worked the first time. The whole conversion process worked, and my software runs in ZWCAD+ exactly as I expected.

I cannot overstate how impressed I am with the ZWCAD+ API. It accurately mimics the AutoCAD API, allowing developers such as myself to reuse existing code without changing anything except for project references. Converting my project took roughly five minutes.

The other advantage is that programmers who learned to develop for AutoCAD have no need to re-learn an API for ZWCAD+, because ZWCAD+ has imitated AutoCAD so well. If you have developed for AutoCAD then you have also developed for ZWCAD+; plus ZWCAD+ developers can take advantage of the wealth of information already out there for developing .NET applications for AutoCAD.

Summary

Although I am a huge fan of AutoCAD, I am intrigued by alternatives that essentially do the same thing. Even so, I had never seriously considered porting my application to an alternative. But with the quality I found in ZWCAD+ and its incredibly (and accurate) likeness to AutoCAD, I will certainly be considering ZWCAD+ when I want to upgrade next - both for its compatibility and its development API.

See All Independent Content | Back to Top

Additional Information

Back to Top

About the Author

William Forty has 10 years experience working in both the mechanical and civil engineering industry, primarily using AutoCAD and Civil 3D. He has a keen interest in software development. More...

About Independent Coverage

TenLinks uses over 100 expert authors for unprecedented coverage of CAD, CAM, CAE products and services. Find our more about Independent Content and apply for coverage.