[cad-linux] Re: STEP

  • From: Christopher Sean Morrison <brlcad@xxxxxxx>
  • To: cad-linux@xxxxxxxxxxxxx
  • Date: Wed, 07 Apr 2010 20:08:50 -0400

On Apr 7, 2010, at 9:25 AM, Yorik van Havre wrote:

> Extremely interesting explanation Sean, thanks a lot.
> These ones look basically the most interesting parts to me  
> (architecture &
> pure 2D work):

AP201 and AP202 are the parts that focus on 2D CADD (drafting).  Most  
prevalent for 3D CAD and solid modeling are AP203 and AP214, which  
feature-wise have been leap-frogging each other with amendments.   
They basically cover the description of parts and assemblies.

Across the commercial CAD systems, by far, most have implemented  
support for AP203 data in part 21 format (i.e., Express text files).

After that is AP214 support (advanced 3D) followed by AP201 (2D), at  
least from what I've seen.  That is mostly because they capture the  
most data and were among the first parts to be released.  Then there  
are a variety of vendors that specialize in support for other APs or  
multiple APs specific to a particular niche.

> And the XML-way a step file is written looks pretty easy to read:
> http://www.steptools.com/support/stdev_docs/express/ap202/demos/ 
> geometry_out_p28.html

Support for STEP-XML (i.e., part 28) format files is still pretty non- 
existent and development has been very slow, at least among the  
commercial vendors, but it's slowly gaining adoption.  Most of the  
existing implementations are basically a means to represent an  
Express schema in XML format (early binding), still utilizing the  
Express engine for in-memory management.  The reason for the slow  
adoption stems from early design decisions regarding why Express was  
chosen over XML in the first place due in part to various limitations  
and concerns regarding compactness, non-opaque binary data, parsing  
complexity, associativity, and data validation.

> Now, in freecad we have pretty good step import/export (it's built- 
> in with
> opencascade). I know it behaves fine with brep 3D things ( which is  
> the
> main focus of opencascade) but I'd be curious to do some tests with
> step files containing 2D data formatted as in the AP202... The
> difficulty will probably be to find such files... If anyone happens to
> encounter one, I'd be interested to have a look at it.

The engine can undoubtedly read files for a variety of other APs, as  
the core parsing is for part 21 format (Express) files.  It will  
basically just ignore the entities that it doesn't recognize.  More  
than likely, it will either abort when it sees the AP202 conformance  
declaration or it'll pull in the minimal subset of entities that have  
overlapping application modules with the APs it does support.  Their  
site states that they have read/write support for AP203, AP214, and  
AP209 (which is the AP "soup" needed to describe most electro- 
mechanical systems).

Cheers!
Sean


Other related posts: